github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/cmd/link/doc.go (about)

     1  // Copyright 2009 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  /*
     6  「リンク(Link)」は、通常「go tool link」として呼び出され、パッケージmainのGoアーカイブまたはオブジェクトとその依存関係を読み込み、それらを実行可能バイナリに結合します。
     7  
     8  # コマンドライン
     9  
    10  使用法:
    11  
    12  	go tool link [フラグ] main.a
    13  
    14  フラグ:
    15  
    16  	- Bノート
    17  		ELFを使用する場合、ELF_NT_GNU_BUILD_IDノートを追加します。
    18  		値は0xで始まり、偶数桁の16進数である必要があります。
    19  		代わりに、GoビルドIDからGNUビルドIDを派生させるために「gobuildid」を渡すこともできます。
    20  	-E エントリ
    21  		エントリシンボル名を設定します。
    22  	-H タイプ
    23  		実行可能フォーマットタイプを設定します。
    24  		デフォルトのフォーマットはGOOSおよびGOARCHから推測されます。
    25  		Windowsでは、-H windowsguiは「GUIバイナリ」ではなく「コンソールバイナリ」を書き込みます。
    26  	-I インタプリタ
    27  		使用するELFダイナミックリンカを設定します。
    28  	-L dir1 -L dir2
    29  		$GOROOT/pkg/$GOOS_$GOARCHを参照した後、dir1、dir2などでインポートされたパッケージを検索します。
    30  	-R quantum
    31  		アドレスの丸め量子を設定します。
    32  	-T address
    33  		テキストシンボルの開始アドレスを設定します。
    34  	-V
    35  		リンカのバージョンを表示して終了します。
    36  	-X importpath.name=value
    37  		importpath内のnameという名前の文字列変数の値をvalueに設定します。
    38  		これは、変数がソースコード内で未初期化または定数文字列式に初期化されて宣言されている場合にのみ有効です。
    39  		-Xは、初期化子が関数呼び出しを行うか、他の変数を参照する場合には機能しません。
    40  		Go 1.5より前では、このオプションは2つの別々の引数を取りました。
    41  	-asan
    42  		C/C++アドレスサニタイザーサポートとリンクします。
    43  	-aslr
    44  		Enable ASLR for buildmode=c-shared on windows (default true).
    45  	-bindnow
    46  		Mark a dynamically linked ELF object for immediate function binding (default false).
    47  	-buildid id
    48  		GoツールチェインのビルドIDとしてidを記録します。
    49  	-buildmode mode
    50  		ビルドモードを設定します(デフォルトはexe)。
    51  	-c
    52  		コールグラフをダンプします。
    53  	-compressdwarf
    54  		可能な場合はDWARFを圧縮します(デフォルトはtrue)。
    55  	-cpuprofile file
    56  		CPUプロファイルをfileに書き込みます。
    57  	-d
    58  		動的実行可能ファイルの生成を無効にします。
    59  		出力されるコードはどちらの場合も同じです。このオプションは
    60  		動的ヘッダーが含まれるかどうかだけを制御します。
    61  		動的ヘッダーは、多くの一般的な
    62  		システムツールがヘッダーの存在を前提としているため、
    63  		動的ライブラリへの参照がなくてもデフォルトでオンになっています。
    64  	-dumpdep
    65  		シンボル依存関係グラフをダンプします。
    66  	-extar ar
    67  		外部アーカイブプログラムを設定します(デフォルトは「ar」)。
    68  		-buildmode=c-archiveにのみ使用されます。
    69  	-extld linker
    70  		外部リンカを設定します(デフォルトは「clang」または「gcc」)。
    71  	-extldflags flags
    72  		外部リンカに渡すスペース区切りのフラグを設定します。
    73  	-f
    74  		リンクされたアーカイブのバージョンの不一致を無視します。
    75  	-g
    76  		Goパッケージデータのチェックを無効にします。
    77  	-importcfg file
    78  		ファイルからインポート構成を読み込みます。
    79  		ファイルで、packagefile、packageshlibを設定してインポート解決を指定します。
    80  	-installsuffix suffix
    81  		$GOROOT/pkg/$GOOS_$GOARCH_suffixでパッケージを検索します。
    82  		$GOROOT/pkg/$GOOS_$GOARCHではなく。
    83  	-k symbol
    84  		フィールドトラッキングシンボルを設定します。GOEXPERIMENT=fieldtrackが設定されている場合にこのフラグを使用します。
    85  	-libgcc file
    86  		コンパイラサポートライブラリの名前を設定します。
    87  		これは内部リンクモードでのみ使用されます。
    88  		設定されていない場合、デフォルトの値はコンパイラの実行結果から取得されます。
    89  		-extldオプションで設定できます。
    90  		サポートライブラリを使用しない場合は「none」を設定します。
    91  	-linkmode mode
    92  		リンクモードを設定します(internal、external、auto)。
    93  		これはcmd/cgo/doc.goで説明されているリンクモードを設定します。
    94  	-linkshared
    95  		インストールされたGo共有ライブラリとリンクします(実験的)。
    96  	-memprofile file
    97  		メモリプロファイルをfileに書き込みます。
    98  	-memprofilerate rate
    99  		runtime.MemProfileRateをrateに設定します。
   100  	-msan
   101  		C/C++のメモリサニタイザーサポートをリンクします。
   102  	-o file
   103  		出力をfileに書き込みます(デフォルトはa.out、Windowsではa.out.exe)。
   104  	-pluginpath path
   105  		エクスポートされたプラグインシンボルの接頭辞として使用されるパス名です。
   106  	-r dir1:dir2:...
   107  		ELFダイナミックリンカの検索パスを設定します。
   108  	-race
   109  		レース検出ライブラリとリンクします。
   110  	-s
   111  		シンボルテーブルとデバッグ情報を省略します。
   112  	-tmpdir dir
   113  		一時ファイルをdirに書き込みます。
   114  		一時ファイルは外部リンキングモードでのみ使用されます。
   115  	-v
   116  		リンカ操作のトレースを表示します。
   117  	-w
   118  		DWARFシンボルテーブルを省略します。
   119  
   120  */package main