又一年即将结束,是时候盘点一下开源项目中的 Bug 了。2020 年的盘点可能还需要点时间,本文我们先来看看 2019 年开源 C/C++ 项目中遇到的一些最有趣的槽点。 No. 10. 我们正运行在什么操作系统上? V1040 可能拼写错误预定义宏名称。’MINGW32_‘有点儿像’MINGW32 ...
分类:
编程语言 时间:
2020-11-13 12:47:36
阅读次数:
9
【1】变长参数的宏定义以及__VA_ARGS__ 在C99标准中,我们就已经可以使用变长参数的宏定义。 变长参数的宏定义是个神马?就是在宏定义的参数列表中最后一个参数为省略号。 而现在C++ 11中,使用预定义宏__VA_ARGS__可以在宏定义的实现部分替换省略号所代表的字符串。 原书示例: 定义 ...
分类:
编程语言 时间:
2020-01-20 21:12:19
阅读次数:
156
ANSI C标准中几个标准预定义宏,方便调试: __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间; __STDC__:当要求程序严格遵循ANSI C标准时该标 ...
分类:
其他好文 时间:
2020-01-14 20:32:51
阅读次数:
72
在打开的工程中,选择如下路径:project->Properties->C/C++->Preprocessor->PreprocessorDefinitions点击下拉框,选择edit,在弹出框里添加自己定义的宏即可。
分类:
其他好文 时间:
2019-11-18 14:31:19
阅读次数:
338
一个简单的动态链接库的生成和调用例子,太过简单,大神请绕道。 一、创建动态链接库 1. 使用vs创建工程选择动态链接库。 2. 在项目中创建源文件和头文件,并在文件中添加以下代码。 3. 在头文件中添加以下代码 4. 在源文件文件中添加以下代码 5. 在工程属性, 中添加预定义宏 . 6. 在工程属 ...
分类:
编程语言 时间:
2019-06-05 00:50:24
阅读次数:
113
STM32F10xxx_Keil中添加的预定义宏 [TOC] 更新记录 | version | status | description | date | author | | | | | | | V1.0 | C | Create Document | 2018.10.15 | John Wan ...
分类:
其他好文 时间:
2019-01-10 21:49:03
阅读次数:
223
1、预定义宏 对于预定义宏,相信大家并不陌生。为了方便处理一些有用的信息,预处理器定义了一些预处理标识符,也就是预定义宏。预定义宏的名称都是以“__” (两条下划线) 开头和结尾的,如果宏名是由两个单词组成,那么中间以“_” (一条下划线) 进行连接。并且,宏名称一般都由大写字符组成。 在日常项目编 ...
分类:
编程语言 时间:
2018-12-20 22:15:44
阅读次数:
210
【1】不同操作系统的宏 可以参考QtCore/qsystemdetection.h文件: 各种操作系统的宏定义。 【2】不同编译器不同版本的宏 (1)不同编译器 1.1 Visual C++ 编译器预定义宏:C/C++ Predefined Macros 1.2 GCC 编译器预定义宏:GNU Co ...
分类:
其他好文 时间:
2018-12-17 11:35:07
阅读次数:
223
概念 使用autoconf、automake 程序开发人员只需要写一些简单的含有预定义宏的文件, 由autoconf根据一个宏文件生成configure, 由automake根据另一个宏文件生成Makefile.in, 再使用configure依据Makefile.in来生成一个符合惯例的Makef ...
分类:
其他好文 时间:
2018-08-22 01:15:41
阅读次数:
184
作为第一篇,首先要说一下C++11与C99的兼容性。 C++11将 对以下这些C99特性的支持 都纳入新标准中: 1) C99中的预定义宏 2) __func__预定义标识符 3) _Pragma操作符 4) 不定参数宏定义以及__VA_ARGS__ 5) 宽窄字符串连接 这些特性并不像语法规则一样 ...
分类:
其他好文 时间:
2018-02-04 00:28:56
阅读次数:
552