Добро пожаловать, гость ( Вход | Регистрация )
| -=CHE@TER=- |
Aug 6 2008, 11:07
Сообщение
#1
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,428 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 327 раз(а) |
В общем, в последнее время часто приходится работать с программами на Си / C++.
В связи с этим хотелось бы нормальный компилятор. Сейчас пользуюсь DEV-CPP 4.9.8.0 и MSVC++ 6.0. Чем меня не устраивают оба этих компилятора - на примере adx2wave с моего сайта. DEV-CPP всем хорош, но использует msvcrt.dll, что меня несколько напрягает, размер .EXE - 14,336 байт. MSVC++ 6.0 - при включении опции оптимизации по размеру тоже начинает, гад, использовать msvcrt.dll, если её не включить - всё хорошо, использует только .DLL от ядра системы, но, увы, размером похвастаться не может - 40,960 байт. Поэтому хотелось бы спросить - существует ли нормальный компилятор (даже, скорее, линкер - т.к. скомпилировать, чтобы ошибок не было, могу и под другим компилятором), который: а) Не гадит в получаемый исходный файл лишней информацией (как MSVC). б) Не использует левые библиотеки, кроме .DLL ядра системы (как DEV-CPP). в) Генерирует небольшие по размеру исполняемые файлы. г) Ещё, было бы здорово, если бы он был Freeware'ный. Кто-нибудь знает - такое в природе существует? P.S. Блин, написал бы уже давно собственный компилятор для Delphi и C++, чем тем что есть пользоваться, но, увы, у меня нет такого дикого количества времени и сил... |
![]() ![]() |
| PavelDAS |
Mar 24 2026, 10:29
Сообщение
#2
|
|
Advanced Member ![]() ![]() ![]() Группа: Authorized Сообщений: 31 Регистрация: 21-September 25 Из: Minsk Пользователь №: 18,037 Спасибо сказали: 8 раз(а) |
Что лучшее на сегодняшний день?
CodeBlocks + GCC MinGW Compiler -- обычное пустое консольное приложение -- 2.9Мб Dev-C++ -- ошибка при сборке пустой программы по умолчанию: CODE Compiler: Default compiler Building Makefile: "D:\WorkCPP\Android 2_dev\Makefile.win" Executing make... make.exe -f "D:\WorkCPP\Android 2_dev\Makefile.win" all g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" make.exe: *** [main.o] Error -1073741674 Execution terminated -------------------- |__--__|
***|*** ___|___ |
| -=CHE@TER=- |
Mar 24 2026, 12:24
Сообщение
#3
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,428 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 327 раз(а) |
Что лучшее на сегодняшний день? Смотря для чего и каких целей.CodeBlocks + GCC MinGW Compiler -- обычное пустое консольное приложение -- 2.9Мб Да, тоже столкнулся с таким.Проблема современных GCC в том, что там либо с программой нужно тащить тонны .DLL, либо в программу, по умолчанию, толкается куча шлакокода - работа с потоками, исключения, таблицы reloctions и прочее такое. Всё это нужно опциями, настройками и ключами командной строки отключать. Если нужен именно компилятор GCC современный под Windows, то я бы порекомендовал W64DevKit (ссылка - бинарники и прочие .EXE есть в "releases"). Отдельные файлы компилирую вот так: buildgcc.bat: CODE @echo off if _%1 == _ goto :EOF setlocal set path=%path%;C\w64devkit\bin C:\w64devkit\bin\gcc -Wl,--disable-reloc-section -static -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -m32 -Os -s -pedantic -ansi "%~1" -o "%~n1.exe" -l kernel32 -l user32 endlocal Будет зависимость от "MSVCRT.DLL", но эта библиотека почти везде сейчас есть (если мы не рассматриваем Windows 98 первой редакции и ранее). Если нужно, то можно ещё вот это прикрутить: CTPAX-X compiler guide, или как компилировать программы с сайта. Dev-C++ -- ошибка при сборке пустой программы по умолчанию: Странная ошибка, никогда такой не видел. "Сборка пустой программы" - речь идёт о "Hello world"? Потому что если это именно что пустой файл то я не уверен, что он будет компилироваться. Ещё может быть проблема в том, что для GCC могут быть нужны пути в %PATH% для работы - это нужно ставить от имени администратора программу (возможно и запускать).Если нужен просто сишный компилятор и плевать на совместимость и размер, то я бы порекомендовал Microsoft Visual Studio Community Edition (как-то оно так называется). Сам я ей никогда не пользовался, но насколько я слышал, это почти полнофункциональная студия, там нет некоторых профессиональных фенек, поддержки Windows XP и прочего, зато она бесплатная и поддерживает современные диалекты языка и стандарты. |
-=CHE@TER=- Нужен нормальный C/C++ компилятор Aug 6 2008, 11:07
Grom PE А чем тебе не нравится msvcrt.dll? Она везде есть,... Aug 7 2008, 00:07
-=CHE@TER=- Grom PE!
Не помогло - всё-равно 40,960 байт...... Aug 7 2008, 11:53
-=CHE@TER=- Нашёл такую замечатульную вещицу: Tiny C Compiler
... Jun 22 2012, 20:48
-=CHE@TER=- Look at this!!! It's awesome!... Jan 30 2013, 17:22
-=CHE@TER=- Мне вчера было откровение, которым спешу поделитьс... Jun 9 2013, 17:03
-=CHE@TER=- Ничего люди нормально сделать не могут!
Руки у... Jan 22 2014, 13:51
useretail > именно этой версии от DEV-CPP
не понял. можно... Jan 26 2014, 01:32
-=CHE@TER=- Welcome back! Что-то давно на форуме видно не ... Jan 26 2014, 08:06
useretail
Даже не знаю.. наверное из-за уважения.
Сам я ра... Feb 10 2014, 14:42
-=CHE@TER=- Как вы, наверное, помните, я пишу сишные программы... Jun 26 2014, 14:00
-=CHE@TER=- Представьте себе такую программу:
#include <s... Apr 26 2015, 12:01
-=CHE@TER=- Фига себе, я в эту тему год назад писал. Как быстр... Mar 8 2016, 09:21
PavelDAS
Установил, при первом запуске открылся пример про... Mar 24 2026, 12:56
PavelDAS Нужно сделать консольное приложение с простой функ... Mar 24 2026, 13:11
-=CHE@TER=- Нужно сделать консольное приложение с простой функ... Mar 24 2026, 16:17![]() ![]() |
| Упрощённая версия | Сейчас: 19th April 2026 - 15:31 |