gcc支持在#pragma语句中使用宏替换吗
2008-03-08 22:00:46 来源:WEB开发网核心提示:问题:gcc编译器似乎对宏编译指令不支持宏替换,比如: #define PACK1 pack(1) #PRagma PACK1 回答:gcc 不支持#pragma行上的宏替换,gcc支持在#pragma语句中使用宏替换吗,参见:info gcc5.25 Declaring Attribu
问题:
gcc编译器似乎对宏编译指令不支持宏替换,比如:
#define PACK1 pack(1)
#PRagma PACK1
回答:
gcc 不支持#pragma行上的宏替换,参见:
info gcc
5.25 Declaring Attributes of Functions
...
Some people object to the `__attribute__' feature, suggesting that
ISO C's `#pragma' should be used instead. At the time `__attribute__'
was designed, there were two reasons for not doing this.
1. It is impossible to generate `#pragma' commands from a macro.
2. There is no telling what the same `#pragma' might mean in another
compiler.
...
如此说来,使用#pragma在不同的编译器之间很难保证兼容性,
假如非要用的话,至少在gcc下是不能同时使用宏替换的。
- ››gcc内置的for each
- ››支持 Symbian 平台的开发者只有四分之一
- ››支持电骡视频点播 迅雷泛播放体验
- ››支持Win 7 Vista 不开迅雷接管高速下载
- ››支持换肤功能的窗口实例
- ››支持iPhone的免费VPN:VPN98
- ››支持PDF阅读!美图看看新版试用
- ››支持Windows CE和Android 2.1双系统的Viliv Prime...
- ››支持Flash Windows Mobile 手机全功能浏览器
- ››支持 Wi-Fi MOTO 第9款 Android 手机ME508曝光
- ››支持磁力链接 迅雷发力化解BT下载难题
- ››支持 Multi-tenancy 的 IBM DB2 Content Manager ...
更多精彩
赞助商链接