【问题标题】:want to use c++ library in asp.net with dll想在 asp.net 中使用 c++ 库和 dll
【发布时间】:2017-09-14 15:03:20
【问题描述】:

我想为我的 asp.net 网站使用 C++ 库。我不知道如何制作库的 .dll 并使其工作。我尝试制作一个 dll 并将其导入 asp.net。我是否需要在 c++ 代码中做一些事情才能使 dll 工作?

源码:http://warp.povusers.org/FunctionParser/fparser.html

【问题讨论】:

  • 什么不起作用?你的服务器是 32 位还是 64 位?如果 C++ 项目是 64 位机器,并且 C++ lib 是 32 位 dll,则需要在 C++ 项目中设置一些编译选项,您需要确保托管该站点的应用程序池设置为启用 32 位应用程序阅读此处看看如何:help.webcontrolcenter.com/kb/a1114/…
  • 64。但我不知道如何从源代码制作 dll。我之前制作了一个 dll,但我不知道要链接什么才能使它工作
  • 你能检查一下你的 IIS 应用程序池设置是否允许 32 位应用程序吗?
  • 你的问题太广泛了。抓住一个编译器,如果有什么东西出来,就给它提供源代码,使用它,例如:stackoverflow.com/questions/772041/using-c-library-in-c-sharp 但是有 30K 的帖子关于大致相同的主题stackoverflow.com/search?q=use+c%2B%2B+dll+from+c%23
  • C++ 通常是非托管代码。因此,您需要找到一个编译器并编译 C++ .Net 不能像与其他 dotnet dll 一样与非托管 c++ dll 通信。因此,您必须使用 DotNet 互操作功能来“包装”dll 才能将其与 dotnet 一起使用。 docs.microsoft.com/en-us/dotnet/csharp/programming-guide/… 这是一项艰巨的任务。如果这对您来说是全新的,我建议您找到一个已经打包的不同库,或者找到一个托管的 dotnet 库。具有类似的功能。

标签: c# c++ asp.net dll


【解决方案1】:

你可以使用:

    [DllImport("dllname.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern double FunctionParser();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多