VAPS XT入门教程20.09:大工程集成开发与编译

系列索引:VAPS XT入门教程索引

上一篇:VAPS XT入门教程20.08:暴力破解1

方案

如果一个VAPS XT工程太大,单个工程超过2GB。那么在性能较弱的PC上开发、编译、运行都会出现问题(升级是不可能升级的,这辈子都不可能升级的)。

根据开发的各个阶段,VAPS XT的开发商提供了两种不同的方案,VAPS XT用户某研究所提供了第三种方案。

方法

方案一:集成编译

也就是本文涉及的方案,本文的方案描述基于Presagis方案修改。

  • 以根工程和子工程的方式设计VAPS XT程序
  • 根工程负责窗口管理、子工程负责窗口
  • 分别进行设计、生成代码、编译
  • 将子工程的*.obj替换掉根工程的同名文件
  • 编译根工程、生成程序

方案二:VxWorks多分区方案

将程序部署在Vxworks平台上,不同的窗口部署在不同的分区。此方案的具体细节我还有见到,也没有测试过,不做过多评价。

方案三:窗口管理器

此方案由某研究所提供,经过我方项目负责人评估后暂时没有接。

将各个窗口编译为可执行程序,然后在Linux操作系统(为什么是Linux操作系统上呢?因为要部署在国产平台,那帮奸商最喜欢搞Linux换皮)上开发一个基于X11/Wayland的窗口管理器。

这样每个程序都很小,想用哪个用哪个。

具体见Wayland入门教程索引

此方案目前属于前期探索。

说明

测试环境:Windows10 + VAPS XT4.1 + Visual Studio 2010 Express

集成编译

此引导的目的是演示如何高效创建和分割大VAPS XT工程。此方法可以让大团队的工程易于管理、集成、编译。

引导包含三个部分:

  • 设计顶层工程架构
  • 实现独立子工程
  • 集成工程和编译

介绍

以下是工程拆分为子工程和集成的完整流程:

  • 将程序拆分为不同的页面或者部分(这样不同团队可以处理不同页面/部分)
  • 定义每个页面/部分的命名空间(比如使用特别前缀以避免命名冲突)
  • 定义公共共享资源(tables,stylingRules)
  • 定义每个页面/部分所使用的每个表的索引范围(比如,页面/部分1只能使用图片库的第0-9部分,页面/部分2只能使用图片表的20-29,等等)
  • 创建一个顶层根工程作为模板
  • 将子工程(页面/部分)分配给不同的开发团队,他们必须在上面定义的基础上开发
  • 每个子工程可以包含只在此工程中使用的条目,比如数据类型,资源、特有的小组件。
  • 当子工程提交回根工程,集成人员集成编译

注意

  • 如果使用的是已有的界面,注意尺寸数值要统一
  • 此方案调用的是Format

下一篇:VAPS XT入门教程20.10:编译器问题

技术交流群,欢迎加入讨论。这个圈子很小,大佬可能没兴趣加这些群聊社区之类的。所以只能带你入门,当然,欢迎大佬指导

qq 672991841


VAPS XT入门教程20.09:大工程集成开发与编译
https://blog.jackeylea.com/vapsxt/integration-compile-vapsxt-large-project/
作者
JackeyLea
发布于
2021年10月8日
许可协议