在C++开发当中经常用到宏的定义当中使用"#"或者"##",以下是对着两种符号使用方法的简单描述:define中的#就是把#后面的参数当做一个符号来使用,简单的说就是把它当做字符串连接起来,##连接前后2个符号, define定义中以#开头的宏直接替换不展开,以非#开头的宏先展开再替换。如下:#de...
分类:
编程语言 时间:
2014-11-08 19:28:53
阅读次数:
210
一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。
为什么xcode6没有自动创建pch文件呢?
简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之...
分类:
其他好文 时间:
2014-11-08 10:30:22
阅读次数:
281
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数...
分类:
其他好文 时间:
2014-11-08 02:02:38
阅读次数:
232
上次刚刚分析过了客户端的结构体分析,思路比较简答,清晰,最后学习的是服务端的实现,服务端在Redis可是重中之重,里面基本上囊括了之前模块中涉及到的所有知识点,从redis的头文件就可以看出了,redis.h代码量就已经破1000+行了,而且都还只是一些变量,宏定义的声明,和一些方法原型的声明。所以,今天的总结跟昨天一样,先不做具体的实现学习,先从全局的角度思考,服务端的整体设计思路,这从头文件的...
分类:
其他好文 时间:
2014-11-07 17:05:02
阅读次数:
149
一般情况下,源程序中所有的行都参加编译。但是有时希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句,这就是“条件编译”。
为了满足条件编译可以使用#ifdef、#ifndef、#endif等宏指令。
条件编译命令最常见的形式为:
(1)如果宏定义了标识符1,则执行程序段1。
#ifdef 标识符1
//程序段1
#endif
(2)如果宏定义了标识符1,...
分类:
编程语言 时间:
2014-11-07 17:02:22
阅读次数:
194
??
描述 根据输入的半径值,计算球的体积。
输入输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。(0输出输出对应的球的体积,对于每组输入数据,输出一行,计算结果四舍五入为整数
Hint:PI=3.1415926样例输入
1
1.5
样例输出
4
14
解题思路:
用宏定义构造全局变量pi;
“%。0f”实现四舍五入。
程序代码:
#inc...
分类:
其他好文 时间:
2014-11-05 23:15:21
阅读次数:
188
主要内容:宏定义、max(a,b)宏定义细节、大小端判断、(int&)a什么意思
#if 1
#include
// 注意空格
#define F (x) ((x) - 1) // F代表后面
#define F(x) ((x) - 1) // F(x)代表后面
// 经典的笔试题宏定义求最大值
//#define max(a,b) a>b?a:b //这个...
分类:
编程语言 时间:
2014-11-04 17:30:28
阅读次数:
298
IOS开发,从应用跳转到用浏览器打开网页:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.oatos.com/bbs/"]];
用一个Button覆盖整个cell,添加动作
cell.accessoryType = UITableViewCellAccessoryNone;
...
分类:
移动开发 时间:
2014-11-04 13:18:21
阅读次数:
210
#define 标识符 字符串
输入半径,求周长、面积、球体积,使用不带参数的宏定义
#include
#define PI 3.1415926
int main()
{
double l,s,r,v;
printf("input radius:");
scanf("%lf",&r);
...
分类:
其他好文 时间:
2014-11-02 16:29:37
阅读次数:
125
预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以...
分类:
其他好文 时间:
2014-11-01 09:43:36
阅读次数:
356