Opsi linker

LINK.exe menautkan file objek dan pustaka Common Object File Format (COFF) untuk membuat file yang dapat dieksekusi (EXE) atau pustaka tautan dinamis (DLL).

Tabel berikut mencantumkan opsi untuk LINK.exe. Untuk informasi selengkapnya tentang LINK, lihat:

Pada baris perintah, opsi linker tidak peka huruf besar/kecil; misalnya, /base dan /BASE berarti hal yang sama. Untuk detail tentang cara menentukan setiap opsi pada baris perintah atau di Visual Studio, lihat dokumentasi untuk opsi tersebut.

Anda dapat menggunakan comment pragma untuk menentukan beberapa opsi linker.

Opsi linker tercantum menurut abjad

Opsi Tujuan
@ Menentukan file respons.
/ALIGN Menentukan perataan setiap bagian.
/ALLOWBIND Menentukan bahwa DLL tidak dapat terikat.
/ALLOWISOLATION Menentukan perilaku untuk pencarian manifes.
/APPCONTAINER Menentukan apakah aplikasi harus berjalan dalam lingkungan proses appcontainer.
/ARM64XFUNCTIONPADMINX64 Menentukan jumlah minimum byte padding antara fungsi x64 dalam gambar ARM64X.17.8
/ASSEMBLYDEBUG Menambahkan ke gambar terkelola DebuggableAttribute .
/ASSEMBLYLINKRESOURCE Membuat link ke sumber daya terkelola.
/ASSEMBLYMODULE Menentukan bahwa modul bahasa perantara Microsoft (MSIL) harus diimpor ke dalam rakitan.
/ASSEMBLYRESOURCE Menyematkan file sumber daya terkelola dalam rakitan.
/BASE Mengatur alamat dasar untuk program.
/CETCOMPAT Menandai biner sebagai kompatibel dengan CET Shadow Stack.
/CGTHREADS Mengatur jumlah utas cl.exe yang akan digunakan untuk pengoptimalan dan pembuatan kode saat pembuatan kode waktu tautan ditentukan.
/CLRIMAGETYPE Mengatur jenis (IJW, murni, atau aman) dari gambar CLR.
/CLRSUPPORTLASTERROR Mempertahankan kode kesalahan terakhir fungsi yang dipanggil melalui mekanisme P/Invoke.
/CLRTHREADATTRIBUTE Menentukan atribut threading yang akan diterapkan ke titik masuk program CLR Anda.
/CLRUNMANAGEDCODECHECK Menentukan apakah linker menerapkan SuppressUnmanagedCodeSecurity atribut ke P/Invoke stub yang dihasilkan linker yang memanggil dari kode terkelola ke DLL asli.
/DEBUG Membuat informasi penelusuran kesalahan.
/DEBUGTYPE Menentukan data mana yang akan disertakan dalam informasi penelusuran kesalahan.
/DEF Meneruskan file module-definition (.def) ke linker.
/DEFAULTLIB Mencari pustaka yang ditentukan saat referensi eksternal diselesaikan.
/DELAY Mengontrol pemuatan DLL yang tertunda.
/DELAYLOAD Menyebabkan keterlambatan pemuatan DLL yang ditentukan.
/DELAYSIGN Sebagian menandatangani rakitan.
/DEPENDENTLOADFLAG Mengatur bendera default pada beban DLL dependen.
/DLL Membangun DLL.
/DRIVER Membuat driver mode kernel.
/DYNAMICBASE Menentukan apakah akan menghasilkan gambar yang dapat dieksekusi yang di-rebase pada waktu pemuatan dengan menggunakan fitur pengacakan tata letak ruang alamat (ASLR).
/ENTRY Mengatur alamat awal.
/ERRORREPORT Ditolak. Pelaporan kesalahan dikontrol oleh pengaturan Pelaporan Galat Windows (WER).
/EXPORT Mengekspor fungsi.
/FILEALIGN Meratakan bagian dalam file output pada kelipatan nilai tertentu.
/FIXED Membuat program yang hanya dapat dimuat pada alamat dasar pilihannya.
/FORCE Memaksa tautan untuk diselesaikan bahkan dengan simbol atau simbol yang belum terselesaikan yang ditentukan lebih dari sekali.
/FUNCTIONPADMIN Membuat gambar yang dapat di-patch panas.
/GENPROFILE, /FASTGENPROFILE Kedua opsi ini menentukan pembuatan .pgd file oleh linker untuk mendukung pengoptimalan yang dipandu profil (PGO). /GENPROFILE dan /FASTGENPROFILE menggunakan parameter default yang berbeda.
/GUARD Mengaktifkan perlindungan Control Flow Guard.
/HEAP Mengatur ukuran timbunan, dalam byte.
/HIGHENTROPYVA Menentukan dukungan untuk pengacakan tata letak ruang alamat (ASLR) 64-bit entropi tinggi.
/IDLOUT Menentukan nama .idl file dan file output MIDL lainnya.
/IGNORE Menekan output peringatan linker tertentu.
/IGNOREIDL Mencegah pemrosesan informasi atribut ke dalam .idl file.
/ILK Mengambil alih nama file database inkremental default.
/IMPLIB Mengesampingkan nama pustaka impor default.
/INCLUDE Memaksa referensi simbol.
/INCREMENTAL Mengontrol penautan inkremental.
/INFERASANLIBS Menggunakan pustaka sanitizer yang disimpulkan.
/INTEGRITYCHECK Menentukan bahwa modul memerlukan pemeriksaan tanda tangan pada waktu pemuatan.
/KERNEL Buat biner mode kernel.
/KEYCONTAINER Menentukan kontainer kunci untuk menandatangani rakitan.
/KEYFILE Menentukan kunci atau pasangan kunci untuk menandatangani rakitan.
/LARGEADDRESSAWARE Memberi tahu pengkompilasi bahwa aplikasi mendukung alamat yang lebih besar dari 2 gigabyte
/LIBPATH Menentukan jalur untuk mencari sebelum jalur pustaka lingkungan.
/LINKREPRO Menentukan jalur untuk menghasilkan artefak repro tautan.
/LINKREPROTARGET Menghasilkan repro tautan hanya saat menghasilkan target yang ditentukan.16.1
/LTCG Menentukan pembuatan kode waktu tautan.
/MACHINE Menentukan platform target.
/MANIFEST Membuat file manifes berdampingan dan secara opsional menyematkannya di biner.
/MANIFESTDEPENDENCY <Menentukan bagian dependentAssembly> dalam file manifes.
/MANIFESTFILE Mengubah nama default file manifes.
/MANIFESTINPUT Menentukan file input manifes untuk diproses dan disematkan dalam biner. Anda dapat menggunakan opsi ini beberapa kali untuk menentukan lebih dari satu file input manifes.
/MANIFESTUAC Menentukan apakah informasi Kontrol Akun Pengguna (UAC) disematkan dalam manifes program.
/MAP Membuat mapfile.
/MAPINFO Menyertakan informasi yang ditentukan dalam mapfile.
/MERGE Menggabungkan bagian.
/MIDL Menentukan opsi baris perintah MIDL.
/NATVIS Menambahkan visualizer debugger dari file Natvis ke database program (PDB).
/NOASSEMBLY Menekan pembuatan rakitan .NET Framework.
/NODEFAULTLIB Mengabaikan semua pustaka default (atau yang ditentukan) ketika referensi eksternal diselesaikan.
/NOENTRY Membuat DLL khusus sumber daya.
/NOFUNCTIONPADSECTION Menonaktifkan padding fungsi untuk fungsi di bagian yang ditentukan.17.8
/NOLOGO Menekan banner startup.
/NXCOMPAT Menandai executable sebagai terverifikasi agar kompatibel dengan fitur Pencegahan Eksekusi Data Windows.
/OPT Mengontrol pengoptimalan LINK.
/ORDER Tempatkan COMDAT ke dalam gambar dalam urutan yang telah ditentukan.
/OUT Menentukan nama file output.
/PDB Membuat file PDB.
/PDBALTPATH Menggunakan lokasi alternatif untuk menyimpan file PDB.
/PDBSTRIPPED Membuat file PDB yang tidak memiliki simbol privat.
/PGD .pgd Menentukan file untuk pengoptimalan yang dipandu profil.
/POGOSAFEMODE Usang Membuat build berinstrumentasi PGO aman utas.
/PROFILE Menghasilkan file output yang dapat digunakan dengan profiler Alat Performa.
/RELEASE Mengatur Checksum di .exe header.
/SAFESEH Menentukan bahwa gambar akan berisi tabel penangan pengecualian yang aman.
/SECTION Mengambil alih atribut bagian.
/SOURCELINK Menentukan file SourceLink untuk ditambahkan ke PDB.
/STACK Mengatur ukuran tumpukan dalam byte.
/STUB Melampirkan program stub MS-DOS ke program Win32.
/SUBSYSTEM Memberi tahu sistem operasi cara menjalankan .exe file.
/SWAPRUN Memberi tahu sistem operasi untuk menyalin output linker ke file swap sebelum dijalankan.
/TIME Informasi waktu pass linker output.
/TLBID Menentukan ID sumber daya dari pustaka jenis yang dihasilkan linker.
/TLBOUT Menentukan nama .tlb file dan file output MIDL lainnya.
/TSAWARE Membuat aplikasi yang dirancang khusus untuk dijalankan di bawah Server Terminal.
/USEPROFILE Menggunakan data pelatihan pengoptimalan yang dipandu profil untuk membuat gambar yang dioptimalkan.
/VERBOSE Mencetak pesan kemajuan linker.
/VERSION Menetapkan nomor versi.
/WHOLEARCHIVE Menyertakan setiap file objek dari pustaka statis tertentu.
/WINMD Mengaktifkan pembuatan file Metadata Runtime Windows.
/WINMDFILE Menentukan nama file untuk file output Windows Runtime Metadata (winmd) yang dihasilkan oleh /WINMD opsi linker.
/WINMDKEYFILE Menentukan kunci atau pasangan kunci untuk menandatangani file Metadata Runtime Windows.
/WINMDKEYCONTAINER Menentukan kontainer kunci untuk menandatangani file Metadata Windows.
/WINMDDELAYSIGN Menandatangani sebagian file Metadata Runtime Windows (.winmd) dengan menempatkan kunci publik dalam file winmd.
/WX Memperlakukan peringatan linker sebagai kesalahan.

16.1 Opsi ini tersedia mulai di Visual Studio 2019 versi 16.1.
17.8 Opsi ini tersedia mulai visual Studio 2022 versi 17.8.

Baca juga

Referensi bangunan C/C++
Referensi linker MSVC