阅读:1692回复:4
PB里面,如何根据一个环境变量找到相对应的组件呢?
比如 DIRECTX_MODULES_DIRECTDRAW
哪位能告诉我方法? 感谢 |
|
|
沙发#
发布于:2008-08-04 18:19
chenyq2008.spaces.live.com
----------------------------------------------------------- sysgen环境变量到底怎么产生作用的? 在使用pb的时候,我们增加一个feather,事实上只是增加了这个feather对应的sysgen变量而已,如此简单. Sysgen变量本质是一个环境变量,它怎么可以影响代码,影响镜像的生成,影响注册表等所有相关的东西?比如,我增加一个usb鼠标功能,对应的是sysgen_usb_hid_mouse.你可以在pb的图形界面下从catalog窗口中add to os designed,也可以在环境变量中直接增加. 这背后是怎么回事? 回忆我对linux浅薄了解.linux下面事实上也是有这样一个神奇的东西.大概叫什么config的东西,用户可以在文本或者图形界面menuconfig下配置.然后就可以影响代码了.我当时的了解是,这事情是有幕后黑手make工具来实现的,它得到这些配置后,强行在源代码前插入一个大概叫config.h这样的头文件,从而环境变量变成了c和c++能够识别的宏变量了! 对于wince呢?其实也是类似的.这个幕后黑手是winceos.bat等这些批处理文件,他们根据环境变量设定,最后产生了一个叫做ceconfig.h的头文件.然后CeFilter.exe根据环境变量和宏变量去过滤代码,注册表,bib文件等等.于是我们可以看到大量的开关,类似这样 如果是宏,大概呈现为这样形式:@CESYSGEN IF CE_MODULES_NK 如果是环境变量,呈现为这样形式:IF IMGPROFILER ! 有了上面的了解后,阅读bib,reg等等文件就不会再困惑了. |
|
板凳#
发布于:2008-08-05 09:59
有了上面的了解后,阅读bib,reg等等文件就不会再困惑了.
--------------------------------------------------------------------------- 说实话,我看了上面的东西,还是困惑,我还是没把DIRECTX_MODULES_DIRECTDRAW对应的feather找出来 |
|
|
地板#
发布于:2008-08-06 16:24
|
|
地下室#
发布于:2008-08-11 10:02
版主说的好,顶
|
|
|