前言 Logos是CydiaSubstruct框架中提供的一组宏定义。利于开发者使用宏进行Hook操作,其语法简单,功能是非常强大且稳定。 详细内容logos语法为http://iphonedevwiki.net/index.php/Logos 语法 1. 全局 Logos语法分为三大类: Bloc ...
分类:
其他好文 时间:
2019-12-07 18:13:14
阅读次数:
164
前言 leveldb 是一个库,没有 main() 函数入口, 故非常难理清其中的代码逻辑。但好在库中有非常多的单元测试代码,帮助读者理解其中的各个模块的功能。然而,测试代码个人觉得一开始看时非常费解,特别是其中非常复杂的宏定义让人陷于云里雾里一般。研究 leveldb 的时间也有一段时间了,但一直 ...
分类:
数据库 时间:
2019-12-05 17:13:05
阅读次数:
122
#运算符 #运算符用于在预处理期将宏参数转换为字符串 #的转换作用是在预处理期完成的,因此只在宏定义中有效 编译器不知道#的转换作用 1 #define STRING(x) #x2 printf("%s\n",STRING(Hello World!)); ##运算符 ##运算符用于在预处理期粘连两个 ...
分类:
编程语言 时间:
2019-12-03 15:30:18
阅读次数:
107
1.宏定义 1)关键字 #define 表示变量值:#define CHAPTER 1.23 表示函数:#define MAXVALUE(a,b) (a>b?a:b) 在编译前,预处理器会将其替换成对应的值或表达式; 2)缺点 >>当运用一个宏定义的常量但获取编译错误信息时,提示的错误信息可能是具体 ...
分类:
编程语言 时间:
2019-11-23 21:37:14
阅读次数:
78
宏定义的本质: 字符替换,没有类型转换,一定记住 来看一个例子: #include<bits/stdc++.h> using namespace std; #define AREA(a,b) a+b int main() { int s=AREA(3,4)*AREA(3,4); cout << s ...
分类:
其他好文 时间:
2019-11-23 20:08:16
阅读次数:
85
原文链接:https://www.cnblogs.com/fengfengqingqingyangyang/p/3270432.html (1)typedef是用来定义关键字/标识符的别名,并未分配内存空间,发生在“编译”的过程中。(为标识符起别名) (2)#define 为宏定义,用于定义常量及宏 ...
分类:
编程语言 时间:
2019-11-23 09:32:23
阅读次数:
378
宏定义 https://www.cnblogs.com/wzd5230/p/10959032.html https://www.cnblogs.com/xyang0917/p/4172493.html https://blog.csdn.net/wukery/article/details/5328 ...
分类:
编程语言 时间:
2019-11-07 11:31:04
阅读次数:
104
预处理命令 三个主要的组成 1.宏定义替换 2.头文件包含 3.条件编译 主要 多文件的写法 代码 >编译 >可执行文件(exe) 编译之前的预处理阶段(删掉注释 宏定义 包含头文件 条件编译) 1.宏定义 作用 替换文本 #define 定义一个宏 #define 宏名 要替换的内容 一般宏后面不 ...
分类:
其他好文 时间:
2019-11-05 22:05:53
阅读次数:
115
一、结构体中可以定义一般的宏定义 如: struct aaa{ #define STATUS_1 100 #define STATUS_2 200 #define STATUS_3 300 ........}; 首先,这里的宏定义是在预编译阶段完成的,编译器此时并不知道什么结构体,所以这些宏是全局可 ...
分类:
其他好文 时间:
2019-11-05 00:57:38
阅读次数:
248
八道题: 第一题:用一个宏定义实现配置 m 的GPIO n 位为1或者0 第二题:宏定义得出数组table的长度 第三题:实现函数void uint32_encode(uint32_t value ,uint8_t * p_encoded_data); 把value 按照小端序的方式存放在数组p_e ...
分类:
其他好文 时间:
2019-11-04 22:06:37
阅读次数:
102