0

我需要能够用 C# 或 VC++ 编写一个 DLL,该 DLL 可以从用 Visual Studio 2003 VC++ 编写的代码访问。看起来代码是非托管的(使用 * 作为指针)VC++ 并且这个 DLL 需要能够直接插入并被当前代码访问。

DLL 是一个 RS232 驱动程序,它需要能够为错误代码返回一个 int,并通过引用将一些测量值传回给调用程序。

我什至可以用 C# 写这个吗?如果没有,我只能访问 Visual Studio 2005 或 2008。我可以在其中任何一个中编写我的代码吗?是否可以从当前代码库调用该 DLL?还是我必须在 ebay 上寻找 VS 2003 的副本?

4

1 回答 1

0

在 VS2008/2005 中用 C/C++ 编写的非托管 DLL 应该可以很好地调用 VS2003 C/C++ 项目中的代码。这也可能是阻力最小的路径。如果您的 DLL 引用了其他 VS2003 不太可能提供的 DLL,请确保尽可能重新分发它们,或者以其他方式静态链接。

托管 DLL 也是可能的,但需要一点胶水代码来弥合托管/非托管差距。确保以 VS2003 支持的 .NET 运行时版本 (1.1) 为目标。

于 2010-05-26T07:13:38.517 回答