摘要:
每次看到类似如下的代码,总是不解,为什么要分两级定义呢,分明可以直接将__stringify定义为 #x嘛。但大家都这么做,理论上是不会有问题的啊。今天忍不住搜了下,看来还是我没往深入地想啊,唉,鄙视自己!#define __stringify_1(x...)#x #define __stringify(x...)__stringify_1(x) 假设:直接 #define __stringify(x)#x 且 #define AA bb 那么 __stringify(AA) 展开为 "AA" 而像最上面的定义方法,__stringify(AA) 将展开为 "bb 阅读全文
摘要:
本文转载自 http://wenku.baidu.com/view/b7bb0e116c175f0e7cd13733.html 一、格式 asm volatile (“asm code”:output:input:changed); //必须以‘;’结尾,不管有多长对C都只是一条语句 asm 内嵌汇编关键字 volatile 告诉编译器不要优化内嵌汇编,如果想优化可以不加 ANSI C规范的关键字: (ANSI C把asm用于其它用途,不能用于内嵌汇编语句,GCC可以) __asm__ __volatile__ //前面和后面都有两个下划线,它们之间没有空格... 阅读全文