【问题标题】:How generate a DLL from C program for use in a C# project如何从 C 程序生成 DLL 以在 C# 项目中使用
【发布时间】:2015-12-13 23:04:34
【问题描述】:

我需要在 C# 项目中使用 C 语言制作的程序,为此我需要在 Visual Studio 2013 中生成 DLL,有人有任何教程或知道怎么做吗? 我想为 C 中的结构和读/写函数制作一个 DLL,干杯。

【问题讨论】:

标签: c# c visual-studio dll


【解决方案1】:

你必须使用 p/invokes。我认为这里经常讨论这个问题。看一看:Access a method from a DLL from C# program

【讨论】:

    【解决方案2】:

    DLL 可能对你正在做的事情来说太过分了。您可以只编写一个 C 程序并使用 CDecl P/Invoke 它。问题是您需要为此了解很多。如果你只是想快速迭代一个数组以获得性能关键部分,你最好在 C# 中使用结构,对你的方法进行不安全的处理,然后使用指针和地址来做你想做的事情。看起来很像 C/C++ 的代码在 C# 中是完全合法的。

    在此处查看参考:MSDN : Unsafe Pointers

    还找出了一个有些过时的参考资料,以显示如何 P/Invoke Visual c Runtime printf 函数为例。请记住,当您需要提供指向函数的指针以及需要读取偏移量等以传递结构时,事情会变得非常困难。您需要将您传递给该方法的任何内容都固定起来,以阻止垃圾收集器移动它,这也会对性能产生影响。

    MSDN: CDecl P/Invoke example

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多