禁止在g ++(gcc)或clang(llvm)中进行内联汇编

时间:2012-01-13 09:51:32

标签: gcc assembly g++ clang

有问题解决网站,如topcoder.comSPOJ。 我想用类似的用例(人们发给我C ++程序文件)来做一些限制。

其中之一是:

  • “不允许使用内联汇编”

我如何执行此类禁令?是否有更智能的方式(比如编译器标志? - 但我没有找到任何有用的东西)而不仅仅是在源代码中搜索短语?

我可以限制人们使用g ++或clang。事情正在Linux上完成。

2 个答案:

答案 0 :(得分:4)

怎么样:

% gcc -Dasm=error -D__asm__=error

答案 1 :(得分:0)

看起来你正在寻找-fno-asm标志。

虽然它看起来只是asm而不是__asm__,所以可以添加-D__asm__=something_that_will_error

另请查看-fno-gnu-keywords关闭C ++中的asm