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