Help us understand the problem. What is going on with this article?

dllファイルの32/64bitを判定する方法

判定法を知っておくと便利なシチュエーション

OracleやPostgreSQLのクライアントドライバをインストールする際に、ファイル名やフォルダ名だけからでは32bitなのか64bitなのか確信を得られない場合がある。
また、アプリケーションが動かない原因を調査する際に、dllの参照が正しくなされれているかを確認する場合にも、32/64bitの判断ができると便利である。
では、どのようにして調べればよいかだが、VisualStudio(VS)に付随しているツール、dumpbin.exeを用いると判定が可能なので、その方法を紹介する。

事前準備

dumpbin.exeはVSに付属しているツールである。そのためバージョンはExpressでもよいので、VSを判定を行う環境にインストールする必要がある。以下のスクリーンショットはVS2015だが、現在有効なVSであればほかのバージョンでも利用が可能なはずである。
なお、.NETを開発する環境だと標準(C#やVisual Basicなど)のインストールでは、dumpbinはインストールされないのでインストール時にVisual C++の共通ツールをチェックする必要がある。すでにVSがインストール済みの環境であれば、インストールメディアからインストーラーを実行しインストールするように「変更」を行うことでツールを利用することができる。
image.png

使い方

「すべてのプログラム」から「Visual Studio 2015」>「Visual Studio Tools」>「開発者コマンド プロンプト for VS2015」を選択、起動する。
調べたいdllのフォルダに移動し、以下のコマンドを実施する。

dumpbin Oracle.DataAccess.dll /headers | findstr machine

ここで、x64と表示されれば64bit。x86と表示されれば32bit用のdllということである。
なお、"|"以降のfindstrはdumpbin /header の出力に対してパイプライン処理で、machineという単語を含む行を抜き出している。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away