Трабла такая: Пытаюсь отключить CRT библиотеку #pragma comment(linker, "/ENTRY:qqq") #pragma comment(linker, "/NODEFAULTLIB") #pragma comment(linker, "/SUBSYSTEM:CONSOLE") void qqq() { char str[50]; ExitProcess(0); } Параметр "/NODEFAULTLIB" насколько я понимаю отключает библиотеку времени выполнения (CRT или RTL) После компиляции вылетает сообщение об ошибке: LNK2001: unresolved external symbol @__security_check_cookie@4 Если убрать #pragma comment(linker, "/NODEFAULTLIB") , то ошибка исчезает. Хотелось бы узнать что это такое. В разных источниках пишут по-разному, но как я понял это проверка на переполнение стека. Соответственно возникает вопрос как этого избежать линкуя с параметром /NODEFAULTLIB ? P.S. Еще хотел спросить есть ли в MASM32 подобная директива: pragma comment(linker,"...") , чтобы указывать параметры линкеру в исходнике ?
Убрать в настройках buffer security check. При компляции в зависимости от версии VS либо убрать ключ /GS (для VS2003) либо добавить ключ /GS- (для VS2005). Либо перейти на VC++ 6.0