2.1 被隐藏了的过程 我们将源代码变成可执行文件的过程实际包含4个步骤,分别是预处理、编译、汇编和链接。 (1)预处理过程主要处理源代码中以“#”开头的预编译指令,主要的处理规则如下: 去除#define,展开所有宏定义 处理所有的预编译指令,如#if #ifdef #elif #else #en ...
分类:
其他好文 时间:
2018-01-25 20:39:38
阅读次数:
154
问题提出 有时候我们想用宏定义来决定是编译debug版本的代码还是release的代码,dubug版本的代码会通过printf打印调试信息,release版本的代码则不会。我们总不能对每一条printf都这样写: 这样子实在是太麻烦了!万一要各个地方都要打印,会使版面看起来很乱。 解决方法 我后来想 ...
分类:
其他好文 时间:
2018-01-24 14:04:10
阅读次数:
170
1.简介 PCH文件是Xcode编程中全局引用共享的文件。可以在这里引入头文件或者宏定义来方便程序中多个文件访问。 2.PCH文件创建 打开工程 New File… -> iOS Other -> PCH File 输入PCH文件名字即可 3. PCH 文件配置 ...
分类:
其他好文 时间:
2018-01-21 00:09:29
阅读次数:
158
涉及到的知识点有:一、结构体1、定义结构体struct和初始化、2、访问结构体中的成员、3、结构体的内存对齐模式、4、结构体中元素的位字段、5、结构体中的数组、6、结构体的嵌套、7、结构体的赋值、8、通过指针访问结构体成员(即指向结构体的指针)、9、通过指针访问结构体数组(即指向结构体数组的指针)、 ...
分类:
编程语言 时间:
2018-01-20 19:01:41
阅读次数:
181
单井号:将后面的 宏参数 进行字符串操作,即 将后面的参数用双引号引起来 双井号:就是用于连接 执行结果: 解释一下,COMMAND宏定义是有{}的,第一个#NAME,就是赋值给结构体command的char *name,第二个 NAME##_command,用来拼出函数名,赋值给结构体中的函数指针 ...
分类:
其他好文 时间:
2018-01-15 18:48:24
阅读次数:
161
1、JNI概述 JNI 是 Java Native Interface 的缩写,中文译为“Java 本地调用”。通俗的说JNI是一种技术,通过这种技术我们可以做到以下两点: 1)Java 程序中的函数可以调用 Native 语言写的函数,Native 一般指的是C/C++编写的函数; 2)Nativ ...
分类:
其他好文 时间:
2018-01-15 14:53:29
阅读次数:
161
uboot版本:uboot-201711 要分析uclass之前,首先得搞清楚两个宏U_BOOT_DRIVER及U_BOOT_DEVICE的作用: 1.U_BOOT_DRIVER及U_BOOT_DEVICE宏定义如下: 下面具体分析如下: 例如: 根据上述宏定义展开得到: 从上面我们可以看到声明他们 ...
分类:
其他好文 时间:
2018-01-09 20:22:30
阅读次数:
405
tags 在使用vim编程和浏览代码是非常有用。可以用CTRL+]和CTRL+t 来回跳转关键字。先生成自己工作目录的tags。最简单粗暴用法: 这样会生成一个tags文件。(注:对于gvim的话,需要进入命令提示符下,cd到工作目录,来产生tags文件,直接在gvim去生成的话,会出现tags生成 ...
分类:
其他好文 时间:
2018-01-08 18:40:26
阅读次数:
182
原文:https://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/Operators 概述 在Blender2.50中通过定义一个新的wmOperatorType来创建新的工具。工具运行时,wmOperator被创建,从operato ...
分类:
其他好文 时间:
2018-01-06 23:27:51
阅读次数:
469