Slo*_*ald 8 c c++ inline-assembly
我一直认为这是因为许多IDE和语法突出显示工具没有在C中突出显示ASM,但它们总是使用C++.内联汇编是否是C标准(ANSII或ISO)的一部分?
Dan*_*her 17
它不符合ISO C标准(C2011的n1570草案),但在附录J(常见扩展)中提到:
J.5.10 asm关键字
1 asm关键字可用于将汇编语言直接插入转换器输出(6.8).最常见的实现是通过以下形式的声明:
Run Code Online (Sandbox Code Playgroud)asm ( character-string-literal );
附件J是信息性的,而不是规范性的,因此实施不需要提供内联汇编,如果没有,则不以哪种形式规定.但它是一种广泛的扩展,虽然不可移植,因为编译器确实以不同方式实现它.
在C++标准(C++ 11标准的n3376草案)中,它在标准正文中提到
7.4 asm声明 [dcl.asm]
1 asm声明具有表单
ASM-定义:
Run Code Online (Sandbox Code Playgroud)asm ( string-literal ) ;asm声明是有条件支持的; 它的含义是实现定义的.[注意:通常用于将信息通过实现传递给汇编程序. - 结束说明]
但也不是强制性的,并且具有实施定义的解释.
| 归档时间: |
|
| 查看次数: |
3649 次 |
| 最近记录: |