2025-08-26から1日間の記事一覧

AnyCPU DLL と P/Invoke の関係 ― なぜネイティブ DLL は両方必要なのか?

.NET の DLL は AnyCPU でビルドすることで、32bit / 64bit どちらの環境でも同じファイルを使い回せます。しかし、P/Invoke(Platform Invocation Services) を使ってネイティブ DLL を呼び出す場合は、そう簡単にはいきません。 今回は「なぜネイティブ D…

.NET DLL は「AnyCPU」で両対応可能?その仕組みと注意点

Windows アプリ開発では DLL が 32bit 用なのか 64bit 用なのかで悩む場面が多くあります。しかし、.NET で作られた DLL(マネージド DLL)の場合は、「AnyCPU」オプションでビルドすると 32bit / 64bit の両方に対応できるという特徴があります。 今回は、…

32bit/64bit DLL を自動で切り替えてロードする方法(C++ サンプル付き)

前回の記事では「1つの DLL ファイルで 32bit / 64bit 両対応はできない」と説明しました。しかし、アプリケーション側の工夫で「動作環境に応じて自動的に適切な DLL をロードする」ことは可能です。 ここでは C++ のサンプルコードを紹介します。 方法1:W…

32bit EXE から 64bit DLL は呼び出せるのか?その理由と解決方法

Windows アプリ開発をしていると、ライブラリ(DLL)の 32bit / 64bit の違いに悩まされることがあります。特に「32bit の EXE から 64bit の DLL を呼び出したい」という状況に直面することもあるでしょう。今回は、その仕組みと解決方法について解説します…