sysgen环境变量到底怎么产生作用的?
2011-12-20 14:08
344 查看
在使用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等等文件就不会再困惑了.
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等等文件就不会再困惑了.
相关文章推荐
- sysgen环境变量到底怎么产生作用的?
- docker~环境变量到底怎么用
- JAVA环境变量Path、ClassPath、JAVA_HOME的作用
- 系统的环境变量path的作用是什么
- 环境变量中path和classpath的作用
- 怎么给linux加环境变量
- ThreadLocal,静态变量,实例变量,局部变量的线程安全,回复:ByteBuffer 到底怎么用?网络编程中一点总结!
- 第4章 变量、作用域和内存问题(2)执行环境及作用域
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- /*CLASS_PATH、PATH、JAVA_HOME的作用及JAVA环境变量配置 */
- jdk环境变量的配置及path、classpath的作用和区别
- classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- 环境变量的作用
- JAVA环境变量的作用
- (转)classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- 改环境变量改出问题了,vi,ls这些命令都不能用了,怎么办
- 环境变量JAVA_HOME, CLASSPATH和PATH的作用
- Win10系统怎么添加环境变量?
- 配置JAVA环境变量中CLASSPATH变量的作用
- Java环境变量的作用