我目前正在C++ Package 器中使用masm来开发.dll
,以便其他应用程序可以使用它,特别是Visual Studio 2022中的c#应用程序
然而,这种开发方式有一些很大的缺点。Visual Studio有各种各样的小问题,比如如果一个文件“包含”在asm源代码中,就可以正确地构建MASM。这样的文件也不能有断点。这意味着我不得不求助于一个大文件,这变得非常笨拙。
这就像微软已经放弃了对MASM的支持,除非有某种方法来构建一个允许调试的DLL?
或者,如果没有针对Visual Studio调试问题的简单修复方法,是否有更好的方法在Windows上开发x64.dll?
1条答案
按热度按时间n3ipq98p1#
工作示例。我能够单步执行C#代码并进入汇编代码。基于汇编的DLL的目录是c:\xcadll。
xa.asm:
xb.asm:
Program.cs -用于调用dll的调试版本:
DLL生成的项目设置:
为程序集(或C或C++)代码创建一个.dll项目:
xa.asm的属性:
C#生成的项目设置:
创建C#项目
如上面的示例代码所示,C#程序需要导入DLL的调试版本。