关键词 extern
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
做了如下实验
temp_extern.h
char a[20];
test_extern.c
#include "temp_extern.h"
extern char a[20];
使用工具 gcc 4.9.3
命令: gcc temp_extern.h test_extern.c -o test_extern
结果:undefined reference to 'WinMain@16'
collecte2.exe: error: 1d returned 1 exit status
已解决 因为没有定义main函数 多谢tanpengol
关键词 define
在php源码中看到这样一行
#define PS_OPEN_ARGS void **mod_data, const char *save_path, const char *session_name TSRMLS_DC
没看懂
当前理解为 只要调用 PS_OPEN_ARGS 编译器就会 用
void **mod_data, const char *save_path, const char *session_name TSRMLS_DC
来代替 PS_OPEN_ARGS