__declspec的理解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

我在读代码时,碰见

#ifdef LIBZEND_EXPORTS
# define ZEND_API __declspec(dllexport)
#else
# define ZEND_API __declspec(dllimport)
#endif

不理解__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)看成关键字。

   我便很不解,看到ZEND_API void sapi_activate(TSRMLS_D);这段代码时,我知道了 应该是在函数声明上,准确地称为预处理器,和#defined 差不多吧。

  我的理解,感觉应该正确吧!

转载于:https://my.oschina.net/u/242853/blog/53477

你可能感兴趣的:(__declspec的理解)