php源码分析之PHPAPI宏的作用
在PHP源码中,我们经常会看到很多函数前面有个PHPAPI,但这是什么呢?
于是我在php源码/main/php.h中找到了它的定义
#ifdef PHP_WIN32 # include "tsrm_win32.h" # include "win95nt.h" # ifdef PHP_EXPORTS # define PHPAPI __declspec(dllexport) # else # define PHPAPI __declspec(dllimport) # endif # define PHP_DIR_SEPARATOR '\\' # define PHP_EOL "\r\n" #else
#define PHPAPI __declspec(dllexport)
说明PHPAPI是一个宏,在编译过程中会替换掉后面的__desclspec(dllexport)
那__desclspec(dllexport)是干嘛的呢?为什么要用这个呢?
于是我在网上找了相关资料,大概是:
__desclspec(dllexport)是c++的语法
函数前添加PHPAPI也就是__desclspec(dllexport)使该函数能被别的程序调用什么的
具体我也不是很清楚,先这么着吧,以后深入学习一下,毕竟对C++不是很熟悉。
转载请注明原处