在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++不是很熟悉。

 

版权声明:本文为xiaozong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaozong/p/5036848.html