你如何公开静态lib的汇编程序proc,作为外部DLL的dllexport?

时间:2012-03-11 07:54:19

标签: c++ assembly 64-bit dllexport win64

由于64位VC ++(2010)不支持内联汇编程序,我最近将一个70页的内联函数静态C ++库转换为直接的64位汇编程序静态库。然后,包含静态库的64位DLL无错误地构建,并正确链接到asm函数。但是,将EXE链接到DLL不会看到asm函数,为每个引用的唯一符号获取LNK2001:未解析的外部符号错误。

静态库汇编程序代码类似于:

public   My_func
My_func  proc
         ...
         endp

包含静态库的DLL声明:

extern "C" __declspec(dllexport) My_func (some_arguments);

链接到DLL的EXE声明:

extern "C" My_func (some_arguments);  // __declspec(dllimport) here doesn't help

我一直在使用_cdecl并且在任何地方编译为C ++代码。我的事情已经不多了,我在这里缺少什么?如果可能的话,我想避免为此添加.DEF文件。

0 个答案:

没有答案