コンパイラを使用してプログラムを開発する際に、リンク時の有用なオプションを以下に示します。使用した場合の例ですが、コンパイラのオプションの設定方法は、他の言語コンパイラでも同じです。オプションは、コンパイル時の様々な情報を出力するためのオプションです。一般には、上記のとおりサブフラグなしで指定することで、ほとんどの最適化情報が得られます。リンクすべきライブラリ名を指定します。言うライブラリをリンクせよと言う指示になります。記述する必要はありません(windows)ライブラリ・ファイル名(***.lib)をそのまま、コマンドリストに記述します。動的なものとしてリンクされ、実行時に必要なライブラリを読み込んで実行する形式となっています。言うサフィクスが付けられています。必要とする動的リンク形式で動作する場合が多いです。以降は、静的ライブラリ形式の実行モジュールの生成がデフォルトとなりました。オプションを指定します。Windowsでは、これらのオプションは、コンパイル時並びにリンク時の両方に指定する必要があります。等)が存在しないため動作しません。そこで、実行モジュールを生成する際に、動的ライブラリのリンクではなく静的なライブラリ(実態のあるライブラリ)を全てリンクして生成する要求が出てきます。静的なライブラリをリンクし、どこでも動作可能な実行モジュールを作成するためのオプションです。この実態のある静的ライブラリをリンクしますので、モジュールのサイズは大きくなります。静的なリンク方法で、リンク時に未解決な参照ルーチンがあるというメッセージでエラーになる場合があります。これに関しては、こちらのページをご参考にしてください。オプションを使用してコンパイルしたオブジェクトは、静的なリンクはできません。コンパイラ特有の制約ではありません。リンク操作に関する裏技に関しては、こちらのページにて、詳細に説明しています。システム依存ライブラリは、ダイナミックにリンクさせるためのオプションです。新設されたオプションです。提供する専用シェアードライブラリをコピーすることなく実行できる利点があります。ユーザ・メモリ空間を利用できる実行モジュールしか作成できません。超えるプログラムの実行モジュールを作成することが可能です。本オプションは、コンパイラが暗黙に用いる動的ライブラリを用いず、強制的に全て静的リンクします。ポインタであることによる問題です。動的ライブラリを用いない静的リンクにしますと、この制約がなくなります。メモリ量が少ないと正常に動作しません)。コマンドによるリンケージ・マップとクロスリファレンスが標準出力に出力されます。言うファイル名で保存されます。オプションはリンケージ処理を行わない。・リスティング・ファイルに、対応するソース・コードも注釈される。ファイルに出力します。x64上では、以下のコンパイル・オプションでスタックサイズを指定します。Nは、必要とする任意のスタックサイズ値を指定します。オプションが新設されました。指定しない場合のデフォルトは、以下のとおりです。-stack:2097152,2097152、2MBがデフォルトで設定されます。デフォルトの設定はありません。(256KB)を指定します。ルーチンに入る際のスタックの初期化を行わないようにnocheck引数をコンパイラに指示すると言う指定の方法です。:各ルーチンのためにOSが割り当てるスタックエリアのサイズを指定。行わないコードの生成かの指示を行う。”check”がデフォルトです。超えたときに必要とされます。オプションを指定して、スタック初期化コードの生成を抑止することができます。することによって、コンパイラは十分なコミットスタックスペースを指定しているものと理解し、プログラムはそれ自身のスタックサイズの管理を必要とされません。リンク時のオプションです。-stack=[no]checkは、コンパイル時のオプションです。お試しくださいページの先頭へ本ページに記述された各製品名は、各社の商標または登録商標です。