Что #pragma comment
значит в следующем?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
c++
visual-c++
macros
pragma
user198729
источник
источник
Linker -> General -> Additional Library Directories
)?Я всегда называл их «директивами компилятора». Они предписывают компилятору делать вещи, ветвления, в том числе библиотеки, как показано выше, отключение определенных ошибок и т. Д. На этапе компиляции.
Компиляторные компании обычно создают свои собственные расширения для облегчения их функций. Например, (я полагаю) Microsoft заключила сделку «#pragma Once», и это было только в продуктах MS, теперь я не так уверен.
Директивы Pragma В таблицу, которую вы увидите, включен «комментарий #pragma».
НТН
Я подозреваю, что GCC, например, имеет свой собственный набор # pragma's.
источник
#pragma comment
значит.Эти ссылки в библиотеках выбраны в MSVC ++.
источник
Директивы Pragma указывают параметры компилятора для операционной системы или компьютера (x86 или x64 и т. Д.). Есть несколько доступных вариантов. Подробности можно найти в https://msdn.microsoft.com/en-us/library/d9x1s805.aspx
#pragma comment( comment-type [,"commentstring"] )
имеет этот формат.Обратитесь к https://msdn.microsoft.com/en-us/library/7f0aews7.aspx за подробной информацией о различных типах комментариев.
#pragma comment(lib, "kernel32") #pragma comment(lib, "user32")
Приведенные выше строки кода включают имена библиотек (или пути), которые должны быть найдены компоновщиком. Эти подробности включены как часть записи поиска библиотеки в объектном файле.
Итак, в этом случае
kernel.lib
иuser32.lib
ищется компоновщик и включается в окончательный исполняемый файл.источник
Ответы и документация, предоставленные MSDN, являются лучшими, но я хотел бы добавить один типичный случай, который я часто использую, который требует использования, например,
#pragma comment
для отправки команды компоновщику во время соединенияскажите линкер , чтобы изменить форму точки входа ,
WinMain()
чтобыEntry()
после того, чтоCRTStartup
собирается передать проверочный вEntry()
источник