簡體   English   中英

創建用於C#程序的CPP DLL

[英]Creating a CPP DLL for use in a C# program

所以我有一個WPF解決方案。 我添加了一個新項目,並為其添加了一個CPP Dll項目。

我用過這個例子。 挺直的。

http://www.codeproject.com/Articles/9826/How-to-create-a-DLL-library-in-C-and-then-use-it-w

這是我的代碼

CppTestDll.cpp

#include <stdio.h>

extern "C"
{
    __declspec(dllexport) void DisplayHelloFromDLL()
    {
        printf("Hello from DLL !\n");
    }
}

當我構建這個時,我確實得到了一個DLL

現在,當我進入我的WPF應用程序並嘗試添加對此DLL的引用時,我收到此錯誤。

“無法添加對'C:\\ DIR \\ testcppdll.dll'的引用。請確保該文件可訪問,並且它是有效的程序集或COM組件。”

如果你看一下你引用的例子:

創建一個簡單的C#應用​​程序:

  • 啟動Visual Studio .NET。 轉到文件 - >新建 - >項目。
  • 選擇Visual C#Project。 ... (您可以選擇WPF項目)
  • 將名稱命名為您的應用程序。 按確定。 進入指定的類,插入以下兩行:

[DllImport("TestLib.dll")] public static extern void DisplayHelloFromDLL ();

在C#中,關鍵字extern表示該方法是在外部實現的。

您的代碼應如下所示:

using System;
using System.Runtime.InteropServices;     // DLL support

class HelloWorld
{
    [DllImport("TestLib.dll")]
    public static extern void DisplayHelloFromDLL ();

    public  void SomeFunction()
    {
        Console.WriteLine ("This is C# program");
        DisplayHelloFromDLL ();
    }
}

您沒有添加對DLL的引用 - 您使用DLLImport P/Invoke函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM