Есть классическое приложение под Windows. Задача - добавить в него код для определения что com port отрубился.
Я реализовал с помощью функции CM_Register_Notification из cfgmgr32.
Раньше приложение занимало 8мб на диске (релиз версия без дебаг информации), после добавления cfgmgr32 стало 40мб.
Библиотеку добавлял с помощью простого #pragma comment(lib, "cfgmgr32.lib")
Потому что .lib на винде - это статическая библиотека. Ты ее полностью к себе присоединил полностью, со всем ее кодом, функциями, переменными и т.д.
За инфру винды не шарю, но может есть версия этой либы динамическая. Например, cfgmgr32.dll.
P.S. я первый раз увидел, чтобы зависимости добавляли с помощью pragma. Это windows-specific ?
Да, но вес этой статической библиотеки измеряется в килобайтах как и dll.
Там как будто просто неоткуда браться даже мегабайту.
Да, это windows specific, точнее MSVC specific.
Вообще у меня все через Cmake, здесь просто для удобства экспериментов вынес в файл