编辑:哈哈,搜索条件是一个奇怪的事情。实际上我只好用我得到的答案作为搜索的术语最后找到this question。本着StackOverflow的精神,我会投票结束我自己的问题作为重复而不是删除它,以防它作为 其他人的着陆点。用宏确定GCC编译器
我正在编写几个函数,它们使用的是asm
,但我只希望它们在使用可与NASM一起工作的编译器编译时运行。 (我在C++ 11,顺便说一句。)
我有点新的asm
整个概念,但是这是我想我知道:
- 海湾合作委员会及其“亲戚”(MinGW,TDM-GCC)使用NASM,这正是我正在写的功能。因为...
- X86/X64汇编器由编译器实现的内容决定。
上面的假设是正确的,我可以使用什么宏来确保当且仅当我使用GCC(或类似)的编译器或编译器,使用了我写的函数定义NASM?(该#ELSE
将是该功能的可使用的虚设版本,以确保与其他编译器一般兼容性。)
我知道这种涉及确定操作系统(如#IFDEF _WIN32
)唯一宏,但该宏会如果在Windows上使用TDM-GCC或MinGW进行编译的情况下使用不当。
注意:如果有人想知道,有问题的功能基本上是 “有用,但不重要”的效用函数。我们没有任何计划用非GCC编译器编译 ,但它是开源代码,所以我们希望 能够体贴其他。
太棒了。那么,我也会承认'TDM-GCC'和'MinGW'。 – CodeMouse92
哈哈,傻我,我终于找到了我自己的问题的副本。尽管如此,我会尽快接受你的回答。谢谢! – CodeMouse92