Visual studio 强制Visual Studio以特定方式修饰函数名

Visual studio 强制Visual Studio以特定方式修饰函数名,visual-studio,function,Visual Studio,Function,谢谢你抽出时间 我工作的公司有一个项目,最初写在1998年,在专业系统上做一些工作。我们在内部编写了DLL文件,这些文件提供了程序用于与系统接口的API。Windows用户界面早在1998年就外包给了另一家公司。它最初是为Windows 98编写的,但我们仍在Win7 64位系统上成功地使用它(在兼容模式下) 然后需要对DLL文件进行一些更改。好的,没问题。我们有密码。但是我们没有用户界面程序的代码。因此,为了继续使用相同的用户界面程序,我需要我的导出与旧DLL中导出的名称完全匹配 但是旧的DL

谢谢你抽出时间

我工作的公司有一个项目,最初写在1998年,在专业系统上做一些工作。我们在内部编写了DLL文件,这些文件提供了程序用于与系统接口的API。Windows用户界面早在1998年就外包给了另一家公司。它最初是为Windows 98编写的,但我们仍在Win7 64位系统上成功地使用它(在兼容模式下)

然后需要对DLL文件进行一些更改。好的,没问题。我们有密码。但是我们没有用户界面程序的代码。因此,为了继续使用相同的用户界面程序,我需要我的导出与旧DLL中导出的名称完全匹配

但是旧的DLL是1998年在Borland编译器上编写的。我正在使用VisualStudio

我需要能够强制链接器逐字使用特定的名称

例如,函数SysReg::TandemUnlock(DWORD)最初导出为@SysReg@TandemUnlock美元基尔

我需要能够与之匹配。我想我可以用DEF文件来做

我已经尝试了DEF文件,该文件

出口

@SysReg@TandemUnlock$quil

不起作用

我还尝试了链接器选项/导出:@SysReg@TandemUnlock$quil=SysReg::TandemUnlock

也不管用

有什么办法可以强制执行吗?
除了先构建DLL,然后编辑PE,我别无选择吗

谢谢,
Josh得到了答案:在导出部分下的DEF文件中,我将@SysReg@TandemUnlock$quil=?SysReg@TandemUnlock@@YAKK@Z其中右边是默认的装饰(如果你只做uu declspec(dllexport))我也有同样的问题,但没有运气。。。在我的定义中:导出ap_abort_on_oom@0=\uuuu E\uuuu 0\u1但构建后函数是“\u ap\u abort\u on\u oom”,我需要@0,你能发布更多详细信息吗?