0

LinuxとWindowsの両方で自分のものをコンパイルしています。Linuxでは、通常、インストールプレフィックスはコンパイル時に決定されるため、すべてを実行可能ファイルにハードコーディングできます。Windowsでは、標準のMSVCインストールシールドプログラムを使用しており、ユーザーはインストール場所を変更できます。私の質問は、プログラムのWindowsポートがこのインストールプレフィックスを決定するための「正しい/適切な」方法は何ですか。実行可能ファイルの場所を見つけて、インストールプレフィックスを差し引くことはできますか?または、インストール中にレジストリにデータファイルなどを見つけることができる場所を教えてくれるものがありますか?

4

1 に答える 1

2

レジストリを使用することもできますが (インストールによって適切なキーが自動的に、または指示されて設定されている場合)、私はプログラム自体に尋ねることを好みます。GetModuleFileName()パラメータを指定して関数を呼び出し、NULL実行可能ファイルのパスを取得します。

于 2012-10-06T13:09:07.970 に答える