При программировании окон Если у вас есть статическая библиотека, которая предназначена для связи с библиотекой dll, где установлена dll/SUBSYSTEM: WINDOWS, то какой из следующих марков должен быть определен в статическом библиотека?Связывание статической библиотеки с dll
_LIB
_WINDOWS
я путаю эти макросы, так как статические библиотеки это сам никогда не будет показывать свое собственное окно или консоль по себе, так что я не могу understatnd почему мы должны определить эти макросы для статического проекта библиотеки?
Я предполагаю, что '_LIB' - это значит, что вы создаете библиотеку, а' _WINDOWS' - потому, что вы находитесь на платформе * Windows *. Макросы, подобные этим, обычно используются для условной компиляции, поэтому вы можете иметь другой код на разных платформах, например. –
вы правы в _LIB, но _WINDOWS означает, что подсистема - это windows, _WIN32 (всегда определенная) указывает на платформу, но я не понимаю, почему нам нужно определить макрос _WINDOWS для статического lib, если у dll есть подсистема Windows? – codekiddy
Подсистема (CONSOLE ИЛИ WINDOWS) имеет смысл только для исполняемого файла. Он игнорируется для DLL. –