C#/C++
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-[[Microsoft Visual C++ - Wikipedia:https://ja.wikipedia....
-[[C#からC++のDLLを呼び出す:https://araramistudio.jimdo.c...
-[[【C++/C#】C++で作成したDLLをC#で呼ぶ:https://qiita.com...
*C++で作成したDLLをC#から利用する際の注意点 [#y2097e4e]
**プラットフォームターゲットを合わせる [#g2774c1c]
-x86(32ビット)で作成されたDLLは、x64(64ビット)のアプリケ...
-同様にx64(64ビット)で作成されたDLLは、x86(32ビット)のア...
-故に、プラットフォームターゲットは合わせる必要がある
**[DllImport]で関数を定義する [#ccaf292c]
-DLLで提供される関数を、DllImport属性を使ってC#のソース内...
-使用するDLLファイルはEXEファイルと同じフォルダにコピーし...
**呼び出し規約を明示 [#o6e52b92]
-呼び出す側のアプリと呼び出される側のDLLとで、呼び出し規...
-C#では呼び出し規約の規定値は "Winapi" となっている
-"Winapi" はOSによって規約が変化し、Windows では "StdCall...
-C#側で規約を明示する場合
public class Test
{
[DllImport("DLLTest.dll", CallingConvention = Callin...
private extern static int DLLTest_A(int a, double b);
}
**文字列のマーシャリング [#o16918d8]
-C#では文字列をstring型で扱いますが、C++では通常 char型の...
-このため、DLLへ文字列を渡す場合、パラメータは char型ポイ...
-C#ではマーシャリングという機能が働くため、char型ポインタ...
-文字列を渡す場合
--C#で使用するには、char*型をstring型に置き換えて定義
-文字列を受け取る場合
--DLLから文字列を受け取る場合は StringBuilderクラスを使用
-文字コードは自動変換してくれる
終了行:
-[[Microsoft Visual C++ - Wikipedia:https://ja.wikipedia....
-[[C#からC++のDLLを呼び出す:https://araramistudio.jimdo.c...
-[[【C++/C#】C++で作成したDLLをC#で呼ぶ:https://qiita.com...
*C++で作成したDLLをC#から利用する際の注意点 [#y2097e4e]
**プラットフォームターゲットを合わせる [#g2774c1c]
-x86(32ビット)で作成されたDLLは、x64(64ビット)のアプリケ...
-同様にx64(64ビット)で作成されたDLLは、x86(32ビット)のア...
-故に、プラットフォームターゲットは合わせる必要がある
**[DllImport]で関数を定義する [#ccaf292c]
-DLLで提供される関数を、DllImport属性を使ってC#のソース内...
-使用するDLLファイルはEXEファイルと同じフォルダにコピーし...
**呼び出し規約を明示 [#o6e52b92]
-呼び出す側のアプリと呼び出される側のDLLとで、呼び出し規...
-C#では呼び出し規約の規定値は "Winapi" となっている
-"Winapi" はOSによって規約が変化し、Windows では "StdCall...
-C#側で規約を明示する場合
public class Test
{
[DllImport("DLLTest.dll", CallingConvention = Callin...
private extern static int DLLTest_A(int a, double b);
}
**文字列のマーシャリング [#o16918d8]
-C#では文字列をstring型で扱いますが、C++では通常 char型の...
-このため、DLLへ文字列を渡す場合、パラメータは char型ポイ...
-C#ではマーシャリングという機能が働くため、char型ポインタ...
-文字列を渡す場合
--C#で使用するには、char*型をstring型に置き換えて定義
-文字列を受け取る場合
--DLLから文字列を受け取る場合は StringBuilderクラスを使用
-文字コードは自動変換してくれる
ページ名: