【问题标题】:Write a dll that is accessable from VS 2003 VC++ code编写一个可从 VS 2003 VC++ 代码访问的 dll
【发布时间】:2010-05-26 05:13:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: visual-c++ visual-studio-2003


    【解决方案1】:

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

    托管 DLL 也是可能的,但需要一点 glue code to bridge the managed/unmanaged gap。确保针对 VS2003 支持的 .NET 运行时版本 (1.1)。

    【讨论】:

    • 您好,感谢您的回复,我唯一遇到的问题是调用代码是 VS 2003 VC++。当前代码必须使用我的 DLL 来访问我将在 VC++ 中编写的几个 RS232 函数。我能否在 VS 2005 或 2008 中编译一个 VC++ 非托管 DLL,可以直接被 VS 2003 代码访问?
    • 是的。 DLL 二进制格式多年来(甚至几十年)一直保持一致。DLL 经常跨创建它们的工具版本工作。
    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2018-10-06
    相关资源
    最近更新 更多