0

http://sourceforge.net/projects/bacnet/から BACnet-Stack をダウンロードしましたが、C で書かれており、C# で使用したいと考えています。

私はそれを成し遂げる方法について4時間読んでいますが、それ以上ではありません. ほとんどの答えは、コードを c# で書き直すことですが、 c の手がかりがありません。Code::Blocks でワークスペースを開いてコードを調べ、ライブラリを a.-file にコンパイルしました。しかし、どうすればそれを使用できますか?

ご挨拶、

ステファン

4

2 に答える 2

1

同様の状況に対処するために、Microsoft は属性、アセンブリ、およびマーシャリングを提供して、マネージ/アンマネージ コード (.net を認識しない/clr 境界外で実行) とマネージ レガシ COM 間の相互運用性を提供します。
ダイナミクスと (動的言語ランタイム - DLR) の使用を調査してください。
マネージド コンテキストからアンマネージド コードを呼び出す例としてのコード例 (kernel32.dll を使用)

[DllImport("kernel32.dll", EntryPoint="MoveFile",
ExactSpelling=false, CharSet=CharSet.Unicode,
SetLastError=true)]
static extern bool MoveFile(string sourceFile, string destinationFile);

//calling the function
static void Main()
{
    MoveFile("sheet.xls", @"c:\sheet.xls");
}

この pdf も確認してください: http://www.nag.com/IndustryArticles/Calling_C_Library_DLLs_from_C_Sharp.pdf

于 2013-07-19T11:52:36.030 に答える