关于生成输出文件和宏定义的一些问题

2019-07-20 15:18发布

本帖最后由 djz1992 于 2016-11-2 13:19 编辑

1.代码写的差不多了,应该输出什么文件供生产部量产烧写?用什么烧写软件和烧写器?
2.不同型号的产品需要不一样的代码,怎么输出一个文件就可以适配多个产品,可以在烧写的时候编译不同区域的代码?@dirtwillfly @xyz549040622

宏定义怎么实现三段代码的选择?
可以通过判断宏定义是否被定义,宏定义的真假,来编译不同的代码,但是貌似都只能两端代码选其一。
#define DEBUG 0
            main()
            {
                #if DEBUG
                    printf("Debugging/n");
                #endif
                    printf("Running/n");
            }

怎么实现三段代码选其一呢?没看到可以判断宏定义的值是多少,来决定编译区域的。
#define DEBUG 1
main()
{
#if (DEBUG==1)//这样可以?
printf("Debugging/n");
#if (DEBUG==2)//这样可以?
printf("Debugging/n");
#endif
printf("Running/n");
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
pklong
1楼-- · 2019-07-21 13:48
 精彩回答 2  元偷偷看……
djz1992
2楼-- · 2019-07-21 18:28
dirtwillfly 发表于 2016-11-2 19:31
嵌套一个ifdef就能实现三个状态了

可以了,写好了,这个代码以后要交给别人烧写,修改一下宏定义就可以适配不同的产品。但是我怕其他地方被他们改错了就不好了,有没有什么办法可以把其他地方的代码锁死,不能修改?
djz1992
3楼-- · 2019-07-21 22:01
 精彩回答 2  元偷偷看……
dirtwillfly
4楼-- · 2019-07-22 02:31
djz1992 发表于 2016-11-3 08:50
可以了,写好了,这个代码以后要交给别人烧写,修改一下宏定义就可以适配不同的产品。但是我怕其他地方被 ...

把能生成lib文件的部分都生成lib库,最终只剩下主函数能修改
djz1992
5楼-- · 2019-07-22 03:11
dirtwillfly 发表于 2016-11-3 09:08
把能生成lib文件的部分都生成lib库,最终只剩下主函数能修改

呃。。没有只留下几行代码可以修改的方法么
dalarang
6楼-- · 2019-07-22 06:33
 精彩回答 2  元偷偷看……

一周热门 更多>