使用单元测试使修改代码变得简单。在编程的时候考虑测试:使用类的方法来代替方法,这样可以通过在测试中编写继承类,改变相应方法的行为,达到避免执行某些函数的目的,更好的解依赖。使用包含预处理的头文件来制造接缝。#ifdef TESTING。。。 endif通过修改链接时的包含路径,另外的写专门用于测试的...
分类:
其他好文 时间:
2014-09-21 01:21:39
阅读次数:
212
#include
#include
#ifdef WIN32
#include
#else
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
分类:
编程语言 时间:
2014-09-20 23:08:59
阅读次数:
761
这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入"extern "C"{" 和 " }"处理其中的代码,其中{ }内部的代码是通过extern"C"进行处理。要...
分类:
其他好文 时间:
2014-09-16 20:30:41
阅读次数:
240
1.编译预处理(gcc -E source.E)产生source.E文件#define:宏定义,定义一个符号,在编译预处理的时候进行简单的替换#if/#endif:判断后面表达式的真假#ifdef/#ifndef/#endef:判断是否定义了某个宏定义2.编译(gcc -S source.E)产生s...
分类:
其他好文 时间:
2014-09-15 21:01:09
阅读次数:
165
Hightlight 1. 宏 1.1 ifdef 2.2 解决重复引入头文件问题 2.3 C语言中预先定义好的一些宏 2.4 带参宏 2.4.1 宏函数问题1: 参数不带括号情况 2.4.2 宏函数问题2: 式子不带括号情况 2.4....
分类:
其他好文 时间:
2014-09-15 00:56:58
阅读次数:
294
//DLog代替NSLog//debugMethod() 代替 NSLog(@"%s", __func__)//DLog在release下不会输出#ifdef DEBUG# define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d...
分类:
移动开发 时间:
2014-09-12 14:52:03
阅读次数:
194
1、ifdef
#ifdef XXXXX
......
#endif如果XXXXX被定义了,则编译上述代码。
2、ifndef
#ifndef XXXXX
......
#endif如果XXXXX没有被定义,则编译上述代码。
3、if
#if XXXXX
.....
#endif如果XXXXX被定义了,并且值为真,则编译上述代码。
4、if define
#if define(X...
分类:
其他好文 时间:
2014-09-12 10:13:53
阅读次数:
235
#ifdef DEBUG
#define debug_printf(fmt, ...) printf(fmt, ##__VA_ARGS__)
#else
#define debug_printf(fmt, ...)
#endif
其中##在没有参数的时候去掉前面的","号,否则在没有参数的时候,编译会报错。
#include
#ifdef DEBUG
#define debug_prin...
分类:
编程语言 时间:
2014-09-10 14:17:00
阅读次数:
200
1、在好多程序中我们会遇到下面代码段#ifdef__cplusplusextern"C"{#endif//c语法代码段#ifdef__cplusplus}#endif//首先应该知道,__cplusplus是CPP中的自定义宏,则表示这是一段cpp的代码,编译器按c++的方式编译系统.。如果这时候我...
分类:
其他好文 时间:
2014-09-07 13:28:35
阅读次数:
240
例如以下一段代码能够借鉴:static void _sleep_response_timeout(modbus_t *ctx){#ifdef _WIN32 /* usleep doesn't exist on Windows */ Sleep((ctx->response_timeout...
分类:
系统相关 时间:
2014-09-07 12:19:45
阅读次数:
268