首先,我对C ++的了解有限,我也不熟悉它。
我有一个包含一些非常旧的代码的库,我们希望与C#一起使用,但当然是旧的,它是在无人的C ++中。我期待为lib创建一个C#DLL包装器。所以将来任何想要使用代码的人都可以使用dll。但是我可以找到如何导出函数来做一个pinvoke。我试过dumpbin但没看到任何。或者我只需要从代码中获取函数?下面是dumpbin。
答案 0 :(得分:2)
您需要做什么取决于它是什么类型的库。
答案 1 :(得分:1)
在这里小心。 我一直在做类似的事情,但是对于Java。
如果您的C#代码在64位上运行,那么您的32位lib将无法加载。 最好的选择是如果你能掌握源代码并构建2个新版本,32位和1 64库。
如果您无法访问源代码,那么可以创建一个32位可执行文件来调用您的lib,并且可以将其作为命令行进程调用(将其输出保留在磁盘文件中)。在这种情况下,您可以使用64位系统的32位代码。当然,启动一个新流程等会受到惩罚,但取决于它被调用的频率是可以接受的。
答案 2 :(得分:0)