Что означает #pragma comment
в следующем?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
#pragma comment
- это директива компилятора, которая указывает Visual C ++ оставить комментарий в созданном объектном файле. Комментарий может быть прочитан компоновщиком при обработке объектных файлов.
#pragma comment (lib, libname)
указывает компоновщику добавить библиотеку libname в список зависимостей библиотеки, как если бы вы добавили ее в свойствах проекта в Linker-> Input- > Дополнительные зависимости
См. #pragma comment в MSDN
Я всегда называл их «директивами компилятора». Они заставляют компилятор делать что-то, разветвляясь, включая библиотеки, как показано выше, отключая определенные ошибки и т. Д., На этапе компиляции.
Компиляторы обычно создают свои собственные расширения для облегчения своих функций. Например, (я полагаю) Microsoft начала сделку «#pragma once», и это было только в продуктах MS, теперь я не так уверен.
Директивы Pragma Он включает "#pragma comment" в таблице, которую вы увидите.
HTH
Я подозреваю, что, например, в GCC есть собственный набор прагм #.
Они связываются с библиотеками, выбранными в MSVC++.