string = "#ifdef WIN32
SOCKET sock = INVALID_SOCKET;
#else
int sock = -1;
#endif
#ifdef WIN32
SOCKET sock = INVALID_SOCKET;
#endif
#ifdef WIN32
SOCKET sock = INVALID_SOCKET;
#else
int sock = -1;
#endif
#ifdef (WIN32)
test;
#else
int sock = -1;
#endif"
string.gsub(/#ifdef /(?WIN32/)?((.|/s)*?)(#endif|#else)/) {puts $1.strip}
SOCKET sock = INVALID_SOCKET;
#else
int sock = -1;
#endif
#ifdef WIN32
SOCKET sock = INVALID_SOCKET;
#endif
#ifdef WIN32
SOCKET sock = INVALID_SOCKET;
#else
int sock = -1;
#endif
#ifdef (WIN32)
test;
#else
int sock = -1;
#endif"
string.gsub(/#ifdef /(?WIN32/)?((.|/s)*?)(#endif|#else)/) {puts $1.strip}
本文通过一个具体的代码示例,探讨了预处理指令在不同操作系统下的应用。重点分析了#ifdef, #else, #endif等宏定义的作用及其实现方式,并对比了WIN32环境下SOCKET与非WIN32环境下int类型的初始化区别。
8314

被折叠的 条评论
为什么被折叠?



