makefile 条件编译

来源:互联网 发布:node命令行输入读取 编辑:程序博客网 时间:2024/05/23 11:23

代码中,可能会出现一些需要按照条件连选择编译不同版本的代码。

最容易想到的便是debug性能打印,可以是选择性的打印出来(当然这个实现也可以通过配置文件,判断是否开启这个来进行选择打印,但是这样会出现,在实际代码运行过程中,总是会出现判断的语句执行)

如:

#ifdef DEBUG_

LOG_INFO("耗时:%ldms\n", (end - start));

#endif


而在编译的时候只需要添加gcc/g++ -D DEBUG_即可


技巧:

如果仅仅是类型的改变,应该应该定义个宏定义类型,而这个类型是makefile条件编译决定,如float切换到half

#ifdef FP16_

#define FLOAT half

#else

#define FLOAT float

#endif


而在makefile中也是可以选择性的添加这个宏定义,可以参考下面的转载链接


.PHONY

用法

.PHONY:test

test:

这样make test一定会执行

1.如果test是作为指令来执行,那么可以避免有同名文件出现

2.如果希望test文件每次都能被更新,那么添加.PHONY也能保证一定会进行更新操作

转载链接:http://www.cnblogs.com/caosiyang/archive/2012/06/13/2548051.html

0 0
原创粉丝点击