用户自定义宏和给项目添加宏预处理
背景介绍
在使用Visual Studio开发的过程中,常常我们会遇到需要用一些自定义宏来配置某些项目属性的情况,或者是在预处理器中像gcc 那边去添加一些预处理宏作为参数传入到对应的程序中,来决定一些程序逻辑的判断顺序,来决定去调用哪段代码。当遇到这种需求的时候,我们怎么在Visual Studio中来进行设置呢?
同样这个问题是我在日常工作中,还算是遇到频率比较高的,虽然后期整体项目直接换用CMakeLists来管理之后这种问题就迎刃而解了,但是我自己想在自己练手的一些项目中试试这种技巧,因此,就有了这篇文章的诞生了。
我们可以看到,在Linux中,利用Gcc去编译一些东西的时候,我们是可以在后面加一些命令行参数来控制对应的编译逻辑的,所使用的命令是-D, 例如:
gcc -DDEFINE_APP_MODULES main.cpp -0 main.exe
同样,我们有时候还需要创建一些用户的预定义宏,那么如何创建呢? 就是对某个项目添加新的属性表,其实Visual Studio给我们已经预定义好了一些系统常用的宏,我们还可以自己去定义一些我们自己需要的,拿来给自己项目用的宏,这样能够让我们的项目更加方便配置。
案例展示
本案例创建了一个Dll的项目,空的,然后添加一个export的文件,来引入一个预定义宏来区分是生成dll库还是让别人引入静态的lib库。首先创建的项目是DLL项目:
在使用Visual Studio进行C/C++程序开发时,可以在程序文件内部使用#define进行宏定义,也可以对项目(Project)指定宏。对于需要指定宏名的项目,右键单击项目,选择属性,打开属性选项页:
选中C/C++选项,找到对应的预处理器选项,可以看到,我们有个预处理器定义的选项,在这里就可以添加自己对应的一些预定义宏的操作,例如我在这里添加了我自己需要用到的宏:
那么这样,我该如何使用他呢?这就是我们自