宗小宗-PHP程序猿

欢迎各位朋友前来,如果我的文章中有不对的地方,还望指正;如需转载,请注明原处

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

 

posted @ 2015-12-10 18:09  宗小宗  阅读(514)  评论(0编辑  收藏  举报