4 ответов:
#pragma comment- это директива компилятора, которая указывает Visual C++ оставить комментарий в созданном объектном файле. Затем комментарий может быть прочитан компоновщиком при обработке объектных файлов.
#pragma comment(lib, libname)говорит компоновщику добавить библиотеку libname в список зависимостей библиотеки, как если бы вы добавили ее в свойства проекта по адресуLinker->Input->Additional dependenciesпосмотреть #pragma comment на MSDN
Я всегда называл их "директив компилятора."Они направляют компилятор делать то, ветвление, включая библиотеки, как было показано выше, отключение конкретных ошибок и т. д., на этапе компиляции.
компании-компиляторы обычно создают свои собственные расширения для облегчения своих функций. Например, (я считаю) Microsoft начала сделку "#pragma once", и это было только в продуктах MS, теперь я не так уверен.
Директивы Pragma It включает "# pragma comment " в таблице, которую вы увидите.
HTH
Я подозреваю, что GCC, например, имеет свой собственный набор #pragma.
директивы 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ищутся компоновщиком и включаются в окончательный исполняемый файл.
Comments