C++函数调用汇编模块
C++ Function Calling Assembly Module
我想在汇编中编写一个自定义模块,并让C++函数调用它。我不想从头开始,而是想用C编写"草稿",让编译器生成一个蓝图汇编源,即/FA编译器选项生成的列表文件。
然而,我发现生成的所有过程名称都已经是修饰形式。此外,MASM将再次进行自己的名称修饰。因此,如果我在不首先手动取消编译器生成的过程名称修饰的情况下组装我的版本,我会得到一个链接器错误,因为函数名称将不匹配。
是否可以防止这种类型的重复名称装饰?
声明函数extern "C"
应该会导致生成的汇编程序显示您应该在汇编程序中使用的名称。只是不要忘记在稍后向C++声明它的头中使它成为extern "C"
。
您可以将函数声明为extern "C"
。这样,它最多会在名称前加一个下划线:
extern "C"{
void foo(int bla){
}
}
将成为
_foo
相关文章:
- 尝试导入pybind-opencv模块时出现libgtk错误
- 为什么当我解模块化时,这个C++代代码"效率较低"?
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 内联如何影响模块接口中的成员函数
- C++返回 Numpy 数组的 Python 扩展模块
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 如何从线程中的不同模块调用函数?
- 如何使用 soong 命名空间来有条件地编译模块
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- CMake - 模块 + 库混淆
- 特征 LLT 模块给出不正确的结果?
- 枚举进程模块在有效句柄上返回无效句柄
- 在 emscripten 网页汇编正在运行期间更新进度条?
- 在 python 模块中导入子模块时PyImport_Import失败
- 为什么我们不编写可以处理C++标识符的汇编器和链接器?
- 在什么情况下,我想在 C/C++ 代码中使用内联汇编代码
- 将 PCL 链接到 Cython C++ 模块
- 即使直接从官方示例中复制,也找不到未知类型名称QML_ELEMENT和 QML 模块
- C++函数调用汇编模块