Apa #pragma comment
artinya berikut ini?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
c++
visual-c++
macros
pragma
pengguna198729
sumber
sumber
Linker -> General -> Additional Library Directories
)?Saya selalu menyebut mereka "arahan kompiler." Mereka mengarahkan kompiler untuk melakukan hal-hal, percabangan, termasuk lib seperti yang ditunjukkan di atas, menonaktifkan kesalahan tertentu, dll, selama fase kompilasi.
Perusahaan penyusun biasanya membuat ekstensi sendiri untuk memfasilitasi fitur mereka. Sebagai contoh, (saya percaya) Microsoft memulai kesepakatan "#pragma once" dan itu hanya di produk MS, sekarang saya tidak begitu yakin.
Arahan Pragma Ini termasuk "komentar #pragma" di tabel yang akan Anda lihat.
HTH
Saya menduga GCC, misalnya, memiliki set # pragma mereka sendiri.
sumber
#pragma comment
artinya.Tautan ini di perpustakaan yang dipilih di MSVC ++.
sumber
Arahan Pragma menentukan opsi kompiler sistem operasi atau spesifik mesin (x86 atau x64 dll.). Ada beberapa opsi yang tersedia. Detail dapat ditemukan di https://msdn.microsoft.com/en-us/library/d9x1s805.aspx
#pragma comment( comment-type [,"commentstring"] )
memiliki format ini.Lihat https://msdn.microsoft.com/en-us/library/7f0aews7.aspx untuk detail tentang berbagai jenis komentar.
#pragma comment(lib, "kernel32") #pragma comment(lib, "user32")
Baris kode di atas termasuk nama perpustakaan (atau jalur) yang perlu dicari oleh penghubung. Rincian ini termasuk sebagai bagian dari catatan pencarian perpustakaan di file objek.
Jadi, dalam hal ini
kernel.lib
danuser32.lib
dicari oleh linker dan termasuk dalam final executable.sumber
Jawaban dan dokumentasi yang disediakan oleh MSDN adalah yang terbaik, tetapi saya ingin menambahkan satu kasus khas yang saya gunakan banyak yang mengharuskan penggunaan
#pragma comment
untuk mengirim perintah ke tautan pada waktu tautan misalnyaberi tahu linker untuk mengubah formulir entri
WinMain()
keEntry()
setelah ituCRTStartup
akan mentransfer kontrol keEntry()
sumber