gpt4 book ai didi

c++ - 使用 GCC 扩展定义

转载 作者:行者123 更新时间:2023-11-30 18:39:18 25 4
gpt4 key购买 nike

例如,如何展开或折叠头文件中的定义

#define IOC_IN 0x80000000
#define IOC_WS2 0x08000000
#define _WSAIOW(x,y)(IOC_IN|(x)|(y))
#define SIO_ASSOCIATE_HANDLE _WSAIOW(IOC_WS2,1)

我尝试执行 gcc -E file.h > output.h 但这会输出一个空文件。我正在使用 MingW 编译器。

我希望定义像这样被替换:

#define IOC_IN 0x80000000
#define IOC_WS2 0x08000000
#define _WSAIOW(x,y)(IOC_IN|(x)|(y))
#define SIO_ASSOCIATE_HANDLE (IOC_IN|(IOC_WS2)|(1))

最佳答案

“ header 中”的定义未“扩展”,您期望发生什么?

相反,使用它们的地方将被预处理以插入定义。

您通常会预处理 C 文件,而不是 header ,即使用 #define 而不进行定义的文件。

关于c++ - 使用 GCC 扩展定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30349146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com