#pragma comment
Aşağıdakiler ne anlama geliyor?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
#pragma comment
Aşağıdakiler ne anlama geliyor?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
Yanıtlar:
#pragma comment
Visual C ++ ile oluşturulan nesne dosyasına bir yorum bırakacağını belirten bir derleyici yönergesidir. Yorum daha sonra nesne dosyalarını işlerken bağlayıcı tarafından okunabilir.
#pragma comment(lib, libname)
bağlayıcıya, 'libname' kitaplığını kitaplık bağımlılıkları listesine eklemesini söyler, sanki onu proje özelliklerine eklemişsiniz gibi Linker->Input->Additional dependencies
Bkz #pragma comment MSDN'de
Onlara her zaman "derleyici yönergeleri" adını verdim. Derleyiciyi, derleme aşamasında, yukarıda gösterildiği gibi libs dahil dallanma, belirli hataları devre dışı bırakma vb. Gibi şeyler yapmaya yönlendirir.
Derleyici şirketler genellikle özelliklerini kolaylaştırmak için kendi uzantılarını oluştururlar. Örneğin, (inanıyorum) Microsoft "#pragma once" anlaşmasını başlattı ve sadece MS ürünlerinde oldu, şimdi o kadar emin değilim.
Pragma Direktifleri Göreceğiniz tabloda "#pragma comment" içerir.
HTH
Örneğin, GCC'nin kendi # pragma setine sahip olduğundan şüpheleniyorum.
#pragma comment
anlama geldiğini soruyor .
Pragma yönergeleri işletim sistemi veya makineye özgü (x86 veya x64 vb.) Derleyici seçeneklerini belirtir. Kullanabileceğiniz birkaç seçenek vardır. Ayrıntılar https://msdn.microsoft.com/en-us/library/d9x1s805.aspx adresinde bulunabilir.
#pragma comment( comment-type [,"commentstring"] )
bu biçime sahiptir.
Farklı yorum türleriyle ilgili ayrıntılar için https://msdn.microsoft.com/tr-tr/library/7f0aews7.aspx adresine bakın .
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
Yukarıdaki kod satırları, bağlayıcı tarafından aranması gereken kitaplık adlarını (veya yolunu) içerir. Bu ayrıntılar, nesne dosyasındaki kütüphane arama kaydının bir parçası olarak dahil edilir.
Yani, bu durumda kernel.lib
ve user32.lib
bağlayıcı tarafından aranır ve son yürütülebilir dosyaya dahil edilir.
Yanıtlar ve MSDN tarafından sağlanan belgeler en iyisidir, ancak #pragma comment
örneğin link zamanında linker için bir komut göndermek için kullanımını gerektiren çok kullandığım tipik bir durum eklemek istiyorum
#pragma comment(linker,"/ENTRY:Entry")
Giriş noktası formunu değiştirmek için bağlayıcı söylemek WinMain()
için Entry()
bundan sonra CRTStartup
hiç controll aktarmak için gidiyorEntry()
Linker -> General -> Additional Library Directories
)?