cec文件与dir或者sources之间的关系!

mazee 2008-06-12 10:56:05
看起来,Platform Builder对于kernel image的生成过程中。
CEC文件除了描述item在catalog中的位置关系外,主要是使用环境环境变量来控制是否需要将相应的dll通过mkimage置入nk中。
而source和dir决定了那些东西会被编译。
也就是说,无论某些item是否被选择,它们始终会被编译的,无论它们会不会被nk所需要。

从另外一个方面,catalog中某一个item所建立的环境变量是否能够传递到编译器中作为一个宏存在呢?从而在源代码级别控制某些代码是否需要被编译及链接进目标文件?

不知道这样理解对不对?
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
UN_ChairMan 2011-01-09
  • 打赏
  • 举报
回复
这是08年的帖子?穿越了?
  • 打赏
  • 举报
回复
多来CSDN,啥都知道了
xilidecai 2009-09-23
  • 打赏
  • 举报
回复
加点废话,好理解点:
dirs决定是否编译
sources 决定如何编译,编译哪些链接库。
yangtang331 2009-09-23
  • 打赏
  • 举报
回复
不是很清楚?
  • 打赏
  • 举报
回复
nick_TS16949 2009-05-14
  • 打赏
  • 举报
回复
dirs文件中是否支持宏编译?
#ifdef
#endif
gooogleman 2009-05-14
  • 打赏
  • 举报
回复
dirs是否编译
sources 如何编译,链接库。
mazee 2008-06-13
  • 打赏
  • 举报
回复
现在看起来在sources或者dirs文件里面就无法使用。
例如:
DIRS=\
CEDDK\
KBDMOUSE\
LCDC\
cir\
#ifdef BSP_DMA
dma\
#endif
sdmmc\

则编译出现错误:BUILD: [00:0000000007:ERRORE] Bad subdirectory: !ifdef.
shuiyan 2008-06-13
  • 打赏
  • 举报
回复
直接在源代码里面用这个变量就行
#ifdef 变量
#endif
其实环境变量的意思就是在整个WINCE环境中都可用,而你的源代码也是在wince环境下的,所以可以直接用的。
mazee 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shuiyan 的回复:]
“从另外一个方面,catalog中某一个item所建立的环境变量是否能够传递到编译器中作为一个宏存在呢?从而在源代码级别控制某些代码是否需要被编译及链接进目标文件?”
所以,这个推断是可行的。也就是说环境变量是可以在源代码级使用的。[/Quote]
如果是可行的,那么应该怎么来做呢?
shuiyan 2008-06-13
  • 打赏
  • 举报
回复
“也就是说,无论某些item是否被选择,它们始终会被编译的,无论它们会不会被nk所需要。 ”
这句话有误解。其实,只要在Source和dir中,加入CEC中定义的variable
#ifdef ....
#endif
那么,CEC中的环境变量就可以用来控制某个目录,或者某个文件是否被编译。

“从另外一个方面,catalog中某一个item所建立的环境变量是否能够传递到编译器中作为一个宏存在呢?从而在源代码级别控制某些代码是否需要被编译及链接进目标文件?”
所以,这个推断是可行的。也就是说环境变量是可以在源代码级使用的。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧