c - 两种形式的内联汇编
问题描述
内联汇编有两种形式,一种是
asm{
//...
}
另一个
asm(
"..."//work in my clang compiler
);
和 __asm 等等,那么有什么区别呢?绝对不仅仅是花括号和方括号,我希望
解决方案
C 语言不支持内联汇编程序,因此任何一种形式都是非标准的。每个编译器都倾向于以不同的方式执行此操作,因此语法会有所不同。
一些编译器使用双下划线__
让所有非标准关键字通过,即使在 C 标准模式下编译也是如此。
与 C 不同,C++ 确实通过标准化以asm("instruction");
.
推荐阅读
- asp-classic - Parameterizing sql in asp
- regex - 从数据库 url 字符串中提取数据库凭据的正则表达式的效率
- javascript - 使用匹配 id 计数 Sequelize Join
- windows - 如何编写批处理脚本来检查文件夹内的多个文件夹和文件夹并将 csv 文件设置为变量?
- microsoft-graph-api - Microsoft Graph 中的 Office 365 激活
- kafka-producer-api - Confluent kafka Python 客户端 Avro producer.producer() 执行没有错误,但主题中没有数据
- html - 如果在 IE 和 Edge 中与过渡一起使用,box-shadow 属性将不起作用
- jquery - 无法使用 jQuery 滚动到元素
- bro - Zeek 集群因 pcap_error 失败:socket: Operation not allowed (pcap_activate)
- java - spring 如何在调度程序中应用动态条件?