原创 条件编译的应用

2007-2-25 15:10 4173 11 11 分类: MCU/ 嵌入式

只编写一套代码,既能用于PC环境又能用于嵌入式环境,工作之一在.c源程序中加入


条件编译语句,工作之二用两个不同的Makefile文件来生成不同环境下的目标文件。


比如动态链接库.c程序中的库函数定义采用如下格式:


#ifdef _PC_VERSION


用于PC环境的代码


#else


用于嵌入式环境的代码


#endif


然后编写两个Makefile文件,分别命名为makefile_pc,makefile_dev.
下面列出这两个makefile的区别之处:


%.o : %.c
        arm-linux-gcc -c $?


libmy.so : $(TGT)
        arm-linux-gcc -shared -o $@ $(TGT)


%.o : %.c
        gcc -c -D_PC_VERSION $?


libmy.so : $(TGT)
        gcc -shared -o $@ $(TGT)


最后用make -f makefile_pc或make -f makefile_dev生成不同环境下的目标代码.
对于其中的伪目标,比如clean,则make clean -f makefile_pc即可.

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条