Visual Studio属性配置中使用宏

摘要:
为了解决这个问题,VisualStudio在工程属性配置时,也提供了宏这样一个工具,来帮助我们减少这些无谓的辛劳。其实这些字符串便是VisualStudio中默认定义的一些宏,它们其实就是代表一些与某个工程相关的常量字符串。VisualStudio中还有很多类似这样的宏,有些宏还是和机器相关的,所以我们也可以利用其来进行工程配置,避免因为不同机器上路径不同而每台机器配置一次属性。

在学习C语言的时候,我们曾经遇到过一个宏的概念。宏的作用机理本质上是宏的展开,C语言中的宏的用法也有很多种(水其实很深...),不过从感觉上来讲,人们大致上会在以下的场景中,利用宏来解决一些窘境:一是为了避免重复书写同样性质代码时,会使用到宏;二是为了定义一些常量参数时,会使用到宏。另外,宏的意义也在于,当我们修改某个宏的定义时,便修改了所有引用宏的地方所展开的代码,这无疑节省了我们修改代码的工作量以及代码修改的灵活性。

在Visual Studio中进行C++工程属性的配置时,同样也会遇到与写代码类似的场景,例如我们可能会在不同的表单(同一个工程或者多个工程)中,填写相同的内容(例如某个路径)。这样就造成了一些重复性的劳动,而且填写时可能因为疏忽而造成错误,修改时也需要找到所有填写这个内容的地方。为了解决这个问题,Visual Studio在工程属性配置时,也提供了宏这样一个工具,来帮助我们减少这些无谓的辛劳。

C++工程属性中的宏

工程属性中的宏具体长得是什么样子呢?在打开工程属性时,我们在表单中可能经常会看到一些以美元符号($)为开头的字符串,$(SomeMacro)。其实这些字符串便是Visual Studio中默认定义的一些宏,它们其实就是代表一些与某个工程相关的常量字符串。在下图中我们可以看到一些这样默认定义的宏:

Visual Studio属性配置中使用宏第1张

任意点击一个表单,然后点击Edit选项,便可以在弹出的窗口中,查看这些默认定义宏的含义。

Visual Studio属性配置中使用宏第2张

Visual Studio属性配置中使用宏第3张

Visual Studio属性配置中使用宏第4张

注意到上面两个宏进行结合,对项目的输出路径(Output)进行了配置,也就是项目生成exe、lib或dll的地方。Visual Studio中还有很多类似这样的宏,有些宏还是和机器相关的,所以我们也可以利用其来进行工程配置,避免因为不同机器上路径不同而每台机器配置一次属性。对工程属性中默认定义的宏,微软的官方指南上也有一个比较详细的介绍。

http://msdn.microsoft.com/en-us/library/c02as0cs.aspx

自定义工程属性中的宏

那么我们如何自己定义工程属性中的宏呢?首先我们需要打开属性管理器选项卡(Property Manager),然后为工程添加一个属性页面(Property Sheet)。该属性页面在被添加后,会被当前的工程属性继承,于是便可以使用其中定义的宏了。

Visual Studio属性配置中使用宏第5张

Visual Studio属性配置中使用宏第6张

Visual Studio属性配置中使用宏第7张

Visual Studio属性配置中使用宏第8张

Visual Studio属性配置中使用宏第9张

以上添加了一个宏,代表使用OpenCV第三方库的版本号,因为在第三方库升级时,库的名字也会随版本号发生改变;而使用了宏后,我们就可以很方便的修改引用库的名称了。下面我们可以回到原来的工程属性当中来,利用上面的宏定义引用库的名称。

Visual Studio属性配置中使用宏第10张

Visual Studio属性配置中使用宏第11张

我们可以看到,Linker当中所展开的命令行参数中,$(OpenCVLibVersion)已经被展开为245了。而以后在发生库版本的升级时,便可以只修改$(OpenCVLibVersion)这个宏便可以正常使用升级后的库了,所以这种方法还是很实用的吧。在工程属性的配置中,宏的使用场景还有很多,如果能够灵活使用,便可以节省很多的时间,避免很多因重复劳动所造成的错误,希望对大家也有帮助。

http://blog.csdn.net/raocong2010/article/details/9209591

免责声明:文章转载自《Visual Studio属性配置中使用宏》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇树莓派(Linux)添加USB外接硬盘Ubuntu 环境 openMVG+openMVS 配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

2019 安装SSDT

2019之前的SSIS,SSAS,SSRS三剑客都是通过单独的安装工具进行安装,从2019开始微软给集成到了Visual Studio中,一时间搞的我有点懵逼。快速一阵 Search,看到官网的一张截图和几句说明,竟然搞定了。 第一步:在Visual Studio中选择Data storage and processing 第二步:在扩展菜单下的Visu...

Visual C++内存泄露检测—VLD工具使用说明 .

Visual C++内存泄露检测—VLD工具使用说明 一.VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;可以得到泄露内存的完整数据;可以设置内存泄露报告的级别;并且是开源免费的。 二.VLD下载...

visual studio 2010 如何修改assemblyInfo.cs默认值

这个应该是安装系统时的单位名称。修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization的值即可。另外,可以修改项目模板里面的内容C:\Program Files\Microsoft Visual Studio 9.0\Common7\I...

Visual Studio2015 简体中文版 安装

VS2015简体中文版安装 导航 介绍 解决安装先决条件 安装 VS2015 创建桌面快捷方式 启动 VS2015 命令启动VS2015 配置 VS2015 启动完成 Visual Studio的功能添加和删除 Visual Studio的卸载 MSDN介绍 MSDN安装 第一步 移动默认存储路径 第二步 剪切粘贴帮助文档 启动MSDN...

eMbedded Visual C++ 应用程序迁移到 Visual Studio 2005

Microsoft Corporation 适用于: Microsoft eMbedded Visual C++ 基于 Windows Mobile 的设备 Microsoft Visual Studio 2005 摘要:通过在这一自己控制进度的动手体验中使用 Visual Studio 2005,告别 Microsoft eMbedded Visual...

visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》

如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久。可能也是因为刚开始做不是很明白,后面慢慢就懂了。其实非常简单的。 很多快捷键已经在Visual studio中使用的,在确定快捷键之前验证下你想设置的快捷键是否可以使用,当然是不可以重复啦,是吧。 验证快捷键是否被使用 工具→选项→环境,选择键盘 输入你想...