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 ini mencantumkan opsi untuk LINK.exe
. Untuk informasi selengkapnya tentang LINK, lihat:
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). |
/DYNAMICDEOPT |
Aktifkan C++ Dynamic Debugging (Pratinjau) dan masuk ke mana saja dengan deoptimisasi fungsi sesuai permintaan. |
/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. |
/LINKREPROFULLPATHRSP |
Menghasilkan file respons yang berisi jalur absolut ke semua file yang diambil linker sebagai input. |
/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.