我在读代码时,遇见c++
#ifdef LIBZEND_EXPORTS
# define ZEND_API __declspec(dllexport)
#else
# define ZEND_API __declspec(dllimport)
#endifapi
不理解__declspec是什么东西,函数
开始时,我把它理解成关键字,查了下c语言关键字:anto break case char const(C90标准新增) continue default do double else enum(C90标准新增) extern float for goto if inline int long register restrict return short signed(C90标准新增) sizeof static struct switch typedef union unsigned void(C90标准新增) volatile(C90标准新增) while _Bool(C99新增) _Complex(C99新增) _Imaginary(C99新增) 36个关键字,但是没有,c++里63个也没,因而baidu一下,发现都是把__declspec(dllimport)和__declspec(dllexport)当作关键字。rest
我便很不解,看到ZEND_API void sapi_activate(TSRMLS_D);这段代码时,我知道了 应该是在函数声明上,准确地称为预处理器,和#defined 差很少吧。it
个人理解,感受应该正确吧!
io