在vs2013中用汇编器制作dll
Making dll in assembler in VS 2013
当我尝试制作dll文件时,我得到了错误:
1>asselib.def : error LNK2001: unresolved external symbol MyProc
1>C:Usersel banditoDocumentsVisual Studio 2013ProjectstestyasselibDebugasselib.lib : fatal error LNK1120: 1 unresolved externals
项目样貌:
- i选择新建项目-> win32项目-> DLL,导出符号
-sourcefile -> add new item -> asselib.asm
.486
.model flat, stdcall
.code
MyProc proc x: DWORD, y: DWORD
ret
MyProc endp
end
-sourcefile -> add new item -> asselib.def
LIBRARY "asselib"
EXPORTS
MyProc
-project -> build customization -> masm
-project -> properties -> link -> input -> Module Def File
我记得您必须显式地将过程声明为外部。
PUBLIC MyProc
MyProc proc x: DWORD, y: DWORD
ret 8
MyProc endp
同样,标准调用约定假定被调用方清除堆栈。这意味着ret 8
而不是ret
。
相关文章:
- 为什么我们不编写可以处理C++标识符的汇编器和链接器?
- 用于LabView中使用的本机c++的c++/cli dll包装器
- c++\CLI dll包装器,用于调用c++类中的虚拟成员
- 如何使用 gcc 内联汇编器代码访问成员变量
- C++ DLL 包装器 vb.net 传递字节数组的字节数组?
- 如何使用C 给出的地址覆盖汇编器堆栈的返回地址
- 与 2015 相比,内联汇编器给出了 C2400
- 在 c++ 中实现内联汇编器以对变量进行异或操作的正确方法
- 简单 g++ 内联汇编器中的错误
- C 汇编器转换问题
- 使用SSE将float值从汇编器DLL返回到C
- C++ - DLL 注入器中未解析的外部
- 内联汇编器直接双倍到长长转换
- 编译 TCL-DLL 包装器时出现的问题
- “__cpp”和 gcc 内联 ARM 汇编器
- 需要用C或C++编写MIPS汇编器,寻找一些设计建议
- DLL 注入器的问题
- 将 GCC/ATT 风格的汇编器转换为可视化工作室汇编器
- 如何使用内联汇编器保存寄存器值
- 在vs2013中用汇编器制作dll