ChinaUnix.net
相关文章推荐:

define 可变参数

如: int p_log(format, va_alist) va_dcl { return 0; } 如果想申明一个函数: 如: #define test_log(format, va_alist) p_log(format, va_alist) 我这样写只能将va_alist 作为一个普通变量,怎么处理才能实现? 先谢了! Bow!

by guydsh - C/C++ - 2004-03-11 12:02:19 阅读(1621) 回复(10)

相关讨论

小弟初次研究可变参数的问题,下午在看其中的几个宏定义。 有些疑惑,望各位大侠指教。 系统中宏定义如下: typedef char * va_list; #define _INTSIZEOF(n) \ ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) #define va_arg(ap,t) \ ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) #define va_end(ap) ( ap = (va_list)0 ) 解释如下: 看va_st...

by ramon_818 - C/C++ - 2005-10-10 13:23:29 阅读(1950) 回复(3)

#define LOG_ERROR(fmt...) LOG_FN(error, fmt) 这里的fmt后面的...是什么意思阿?

by 312-pirl0 - C/C++ - 2009-01-19 12:50:26 阅读(1160) 回复(4)

#define vmdebug(x...) fprintf(stderr, "<%s>[%s](line:%d)\t",__FILE__,__FUNCTION__, __LINE__); fprintf(stderr, x); 运行: vmdebug("\n\n\n\n\n..............main() : GetVersion : %s ....................\n\n\n\n\n", GetVersion().c_str() ); 这句是. 请问是怎么对应的呢? thanks

by linuxcici - C/C++ - 2007-07-17 15:10:50 阅读(2021) 回复(18)

c语言中经常提倡使用宏代替函数实现,来提高效率。过度或者大代码容量的define有没有什么负作用? (有c++中的inline联想到的),那位高手能解释一下c++的inline和c的define效率方面的异同点?

by winter_huang - C/C++ - 2006-10-30 13:54:44 阅读(793) 回复(4)

用#define 定义的宏换行时应该用 \ 这个反斜杠符合,可是有的代码确是 @@\ 这样的,比如: #define r_info @@\ brc , @@\ code, @@\ name 这样的代码是在rs6000的aix上,用于访问oracle数据库的SQC文件, 上面的宏是在头文件中定义的, 请问谁知道 @@\ 这样的定义是怎么回事,谢谢!!

by jaspersun2 - C/C++ - 2009-08-21 12:53:18 阅读(728) 回复(2)

求教 #define FFLUSH(handle) 这句代码如何理解?谢谢

by jxymax - C/C++ - 2009-06-14 22:54:33 阅读(1152) 回复(6)

现在想简单设计个日志函数: log_core(file, line, func, hint_format, value, ......); 实行参数可变, 但为了使用方便, 想前面自动填充: #define log(hint_format, value, ....) log_core(__FILE__, __LINE__, __func__, hint_format, value, ....); 但好像可变参数没法define好像不对, 大家有解决方案吗?

by freebarque - C/C++ - 2009-05-07 18:37:55 阅读(1582) 回复(17)

在一个程序中 #define FTP_PATH "/home/ftp" 在某行chdir(FTP_PATH) 编译成可执行文件,在本机运行正常 可是移到别的机器上缺提示找不到FTP_PATH路径,可是的确有这个FTP_PATH。再手工编译一下后就好了。 不知道为什么

by c/unix - C/C++ - 2009-05-03 12:08:59 阅读(790) 回复(1)

define为什么是每次一遍的替换? #include #define aaaa bbbb #define bbbb aaaa int main(){         printf("aaaa\n"); } 结果是aaaa 为什么要这样?

by epegasus - C/C++ - 2009-04-20 09:06:01 阅读(752) 回复(6)

在看别人的代码,发现有些函数是用#define的形式写的,如下: #define CHECK(Condition, ErrorCode) \ do { \ if ((Condition)) \ { \ IDBG_Error = (ErrorCode); \ goto Fail; \ } \ } while (FALSE) 请问,为什么有些函数需要这样写?难道说仅仅是为了节省了点调用这个函数的时间?用inline效果是不是一样呢? 我就是不太清楚什么时候需要把函数用define的形式写。 另外,上面...

by flashdriver - C/C++ - 2008-07-04 19:29:01 阅读(1409) 回复(10)