c - 将 c 代码与裸函数混合的替代方案
问题描述
所以目前 clang、msvc 和新的 llvm 支持的英特尔编译器不支持在裸函数中混合 c。
例子
__declspec(naked) void func()
{
int j;
_asm(add j, 1)
}
我一直在使用的编译器支持这一点,但它已经被弃用了几年,转而支持 LLVM 替代方案。而且我想在出现兼容性问题之前换成新版本。
是否有另一种方法可以将 c 代码与程序集混合,而无需自动生成的序言/结语?由于我使用的库很大/很复杂,因此可以在纯汇编中完全重写。
编辑:这与一个裸函数(没有序言或结语)和编译器(MSVC、Clang、New Intel)不再支持在裸函数中与 asm 混合的 c 代码有关。如上例所示。这与建议的将程序集添加到项目无关。
解决方案
推荐阅读
- jquery - 滚动页面时如何实现窗口关闭(显示:无)?
- c++ - 为什么允许根据用户输入声明具有大小的自动数组?
- nginx - 基于url pa的nginx动态proxy_pass
- python - 正则表达式查找以大写字母开头的单词而不是句子的开头
- java - HttpServletRequest 中的参数名称是如何编码的
- nginx - nginx Sinatra 头部元刷新 404
- laravel-5 - 雄辩的按产品分组,根据产品进行不同的排序
- java - Java SWT 清除表头
- java - Spring - 如何重命名@Bean
- c# - How to Define that One String is Greater than Another? (C#) (Beginner)