Что и куда нада добавить в Makefile.msc,что бы отключить проверку буфера?Добавление -Gs- в CFLAGS непомагает ((( ЗЫ: а какие то внутренние оптимизации ml могут тащить за собой CRT ??
а реально ли вычленить crt при компиляции в mingv (code::blocks)? Хочу накодить программу, но на чистом Апи. Даже если не вызываю в коде функции-не объявляю инклуды, все равно есть crt либа
valterg А можно подробнее? Т.е. не использовать main , а WinMain? Я видел статьи, про отключение crt в студии, но там другой компилятор, я вот хз, можно ли это сделать в mingv.
хах... нет, на каждый main и WinMain найдется свой _CRTmain и CRTWinMainW (или ...A)... нужно использовать свою собственную точку входя вместо точки входа CRT...
Подниму опять тему. Вот пример кода для mingw, все равно компилируется с црт. В конфе мне подсказали, что /NODEFAULTLIB - это команда для студии, но неужели нет ничего такого для codeblocks? Код (Text): #include <windows.h> #pragma comment(linker, "/NODEFAULTLIB /ML /MERGE:.data=.text /MERGE:.rdata=.text /ALIGN:512 /ENTRY:WinMain") int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hInstance2, LPSTR lpstr, int integer) { MessageBox(0, "Hello, World!", "Tiny application", MB_ICONINFORMATION); return 0; }
при чем тут кодблокс? это - иде, а не компилятор... смотри необходимые тебе флаги gcc компилятора... для неконсольной сборки так же необходимо будет явно установить подсистему линкеру... ЗЫ например, я обычно собираю примерно так.. компилятор: Код (Text): -Os -O3 -Wall -std=c++0x -fno-exceptions -fno-rtti -masm=intel -flto -m32 линкер: Код (Text): -s -nostdlib -O3 -Os -flto -m32 библиотеки: Код (Text): libntdll.a libkernel32.a libuser32.a libmsvcrt.a