「AnyCPUのモジュールからx86とx64のモジュールを呼び分ける」の版間の差分

ナビゲーションに移動 検索に移動
(文字列「</source>」を「</syntaxhighlight>」に置換)
107行目: 107行目:
<br><br>
<br><br>


== 32bit用DLLと64bit用DLLの両方をDllImportする方法 ==
== x86向けDLLとx64向けDLLの両方をDllImportする方法 ==
ソースコードは上記より短いが中途半端で使用し難い。<br>
ソースコードは上記より短いが中途半端で使用し難い。<br>
 
<br>
  <syntaxhighlight lang="cpp">
* 長所
*: Windows XP SP1より以前でも使用できる。
* 短所
*: x86向けDLLとx64向けDLLの両方を作成する必要がある。
*: また、呼び出す関数を全て記述する必要がある。
  <syntaxhighlight lang="c#">
  public class DLL
  public class DLL
  {
  {
121行目: 126行目:
     public delegate IntPtr HogeFunc();
     public delegate IntPtr HogeFunc();
     public static readonly HogeFunc Hoge;
     public static readonly HogeFunc Hoge;
 
     static Dll()
     static Dll()
     {
     {
134行目: 139行目:
     }
     }
  }
  }
 
</syntaxhighlight>
* '''長所 : Windows XP SP1より以前でも使用できる。'''
* '''短所 : 32bit用DLLと64bit用DLLの両方を作成しなければいけない。また、呼び出す関数をすべて記載しなければいけない。'''
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:C_Sharp]]
[[カテゴリ:C_Sharp]]

案内メニュー