sysgen环境变量到底怎么产生作用的?

    在使用pb的时候,我们增加一个feather,事实上只是增加了这个feather对应的sysgen变量而已,如此简单. Sysgen变量本质是一个环境变量,它怎么可以影响代码,影响镜像的生成,影响注册表等所有相关的东西?比如,我增加一个usb鼠标功能,对应的是sysgen_usb_hid_mouse.你可以在pb的图形界面下从catalog窗口中add to os designed,也可以在环境变量中直接增加. 这背后是怎么回事?

    回忆我对linux浅薄了解.linux下面事实上也是有这样一个神奇的东西.大概叫什么config的东西,用户可以在文本或者图形界面enuconfig下配置.然后就可以影响代码了.我当时的了解是,这事情是有幕后黑手make工具来实现的,它得到这些配置后,强行在源代码前插入一个大概叫config.h这样的头文件,从而环境变量变成了c和c++能够识别的宏变量了!

    对于wince呢?其实也是类似的.这个幕后黑手是winceos.bat等这些批处理文件,他们根据环境变量设定,最后产生了一个叫做ceconfig.h的头文件.然后CeFilter.exe根据环境变量和宏变量去过滤代码,注册表,bib文件等等.于是我们可以看到大量的开关,类似这样如果是宏,大概呈现为这样形式:

    @CESYSGEN IF CE_MODULES_NK

如果是环境变量,呈现为这样形式:

    IF IMGPROFILER !

    有了上面的了解后,阅读bib,reg等等文件就不会再困惑了.

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值