功能模块LinearMath功能模块LinearMathTable of ContentsbtScalar宏定义类型函数btAlignedAllocator宏定义函数类btAlignedObjectArray宏定义btAlignedObjectArray类btScalar针对各系统平台的优化代码。宏... ...
分类:
其他好文 时间:
2018-10-27 00:16:08
阅读次数:
221
恢复内容开始 1._tmain _tmain()是微软操作系统(windows)提供的对unicode字符集和ANSI字符集进行自动转换用的程序入口点函数。 首先,这个_tmain()是为了支持unicode所使用的main一个别名而已,既然是别名,应该有宏定义过的,在哪里定义的呢?就在那个让你困惑 ...
分类:
其他好文 时间:
2018-10-26 10:44:36
阅读次数:
276
date:2018.10.23 USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include "atlconv.h" 使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的 ...
分类:
其他好文 时间:
2018-10-23 21:20:22
阅读次数:
140
在 Qt的源码与Protobuf 的代码中,看到相同的简单消息(日志)输出的类实现,基本思路是使用宏定义,重载临时类对象,调用类方法或者通过析构函数自动调用输出方法,实现消息输出。这里以 Protobuf 的LogMessage 类为例,简单描述实现方法。 类定义很简单,主要是构造函数、重载的 op ...
分类:
编程语言 时间:
2018-10-23 00:07:03
阅读次数:
275
编译器四个步骤 1. 预处理:头文件展开和宏定义展开条件编译 2. 编译:语法检查,生成汇编代码 3. 汇编:声明目标代码,无法执行,因为缺少链接 4. 链接:链接动态库,比如windows中的dll文件 为什么要声明变量 提前说明占用多大空间。 原码 补码 反码 原码和普通数字的区别:负数最高位是 ...
分类:
编程语言 时间:
2018-10-22 20:17:55
阅读次数:
186
在C/C++中,为了避免同一个头文件被重复包含,最常用的方式是:#ifndef ... #define ... #endif,除此之外还有一种方式:#pragma once。 第一种方式: 第二种方式: #ifndef, #define, #endif是C/C++语言中的宏定义,通过宏定义避免文件多 ...
分类:
其他好文 时间:
2018-10-22 20:14:56
阅读次数:
137
编辑思路: 先宏定义x和y,分别为二维数组的行数和列数,在主函数中定义一个整型的二维数组,二维数组的元素由随机生成函数rand()生成,对于生成的二维数组,我们先计算出第一行中有关第一个元素的所有子数组,然后计算出第二个第三个直到第x个,第二行第三行直到第y行同第一行,把上面计算出来的子数组存放在另 ...
分类:
编程语言 时间:
2018-10-21 17:44:09
阅读次数:
148
宏 与 inline的区别 存在的价值,两者都是文本替换,降低程序跳转次数,提高效率 1. define 是预处理命令,无法调试 ,最简单文本替换, inline 是编译期替换,可以调试, 存在参数类型检查 2. 使用inline的时候,函数必须定义 直接定义的函数,自动转化为inline defi ...
分类:
其他好文 时间:
2018-10-20 16:29:04
阅读次数:
180
1. 宏定义指令#define用来定义一个标识符和一个字符串,以这个标识符来代表这个字符串,在程序中每次遇到该标识符时就用所定义的字符串替换它。 #define 宏名 字符串 几点说明:1.#表示这是一条预处理命令;2. 宏名是一个标识符,必须符合C语言标识符的规定;3. 字符串这里可以是常数、表达 ...
分类:
编程语言 时间:
2018-10-19 20:51:38
阅读次数:
184
void有两种功能 【1】没有 【2】任意类型 void出现的位置不同会有不同的解释 【1】void func( void ) func左边的void,代表『没有返回值』 func右边的括弧里的void,代表此函数『没有参数』 【2】int func( void *a),修饰指针变量(一般多用于函数 ...
分类:
其他好文 时间:
2018-10-19 18:18:57
阅读次数:
125