我们在使用C语言编写程序的时候,常常会使用到宏定义以及宏编译指令,有的可能比较常用,有的可能并不是很常用,是不是所有的C语言宏定义以及宏指令你都清楚呢? 指令 用途详细介绍 # 空指令,无任何效果 #include 包含另外一个文件 #define 定义宏 #undef 取消已定义的宏 #if 如果 ...
分类:
编程语言 时间:
2017-08-09 11:23:53
阅读次数:
161
先贴代码和测试结果 不额外定义宏则使用默认的互斥量(锁),定义宏ERRORCHECK则锁自带错误检查,定义宏RECURSIVE则代表递归锁。 主线程中调用了incrOtherItem函数,该函数先获取(acquire)锁mtx,然后调用另外2个函数后释放(release)锁mtx。 实验结果显示默认 ...
分类:
系统相关 时间:
2017-08-03 20:20:53
阅读次数:
275
一、生成configure过程中各文件之间的关系图 二、详细介绍 autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 aclocal:根据已经安装的宏,用户定义宏和acinclude.m ...
分类:
系统相关 时间:
2017-08-01 16:39:06
阅读次数:
323
1. UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) - (instancetype)init UNAVAILABLE_ATTRIBUTE; 告诉编译器该方法不可用,如果强行调用编译器会提示错误。比如某个类在构造的时候不想直接通过init来初始化 ...
分类:
移动开发 时间:
2017-07-24 13:15:03
阅读次数:
225
时常看到别人的头文件中,有这样的代码: 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{,和 }处理其中的代码。 要明白为何使用exter ...
分类:
其他好文 时间:
2017-07-22 18:14:46
阅读次数:
160
今天在看Linux系统编程这本书的代码的时候看到了__GNUC__,不太清楚这个宏所以去查了一下,以此记录。GNU C预定义了一系列的宏,这些宏都是以双下划线开始的,这里只讲一下__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__,其他GNU C的预定义宏可以到这里 ...
分类:
其他好文 时间:
2017-07-22 00:43:10
阅读次数:
3189
基本思路: 1、设置一个 UIScrollView 作为视图底层,而且设置分页为两页 2、然后在第一个分页上加入一个 UITableView 而且设置表格可以上提载入(上拉操作即为让视图滚动到下一页) 3、 在第二个分页上加入一个 UIWebView 而且设置能有下拉刷新操作(下拉操作即为让视图滚动 ...
分类:
移动开发 时间:
2017-07-18 19:44:55
阅读次数:
217
luaTemplatesDir LuaIde内置的自定义模板功能 设置LuaIde模板路径.gif 设置LuaIde模板路径.gif 设置路径后LuaIde 将创建 FileTemplates 和 FunTemplate FileTemplates *文件模板* 可自定义文件模板,可创建多个文件下图 ...
分类:
其他好文 时间:
2017-07-16 09:57:10
阅读次数:
190
一:特殊的字符串宏 [cpp] #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们如果x=1, 则上面的宏定义会被解释成下面的样子 A(1) >T_1 B(1) >'1' C(1) >"1" 这些主要用于一些字符串处理函数和參数命名上,并不复 ...
分类:
数据库 时间:
2017-07-08 16:58:32
阅读次数:
185
C99中规定宏可以像函数一样带有可变参数,实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个英文输入法下的句号)。这样预定义宏__VA_ARGS__就可以被用在替换部分中,以表明省略号代表什么。 eg: #include<stdio.h>#define Variable_Macro(.. ...
分类:
其他好文 时间:
2017-07-03 22:32:03
阅读次数:
258