IPB

Добро пожаловать, гость ( Вход | Регистрация )

> Нужен нормальный C/C++ компилятор
-=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++, чем тем что есть пользоваться, но, увы, у меня нет такого дикого количества времени и сил...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
-=CHE@TER=-
Jun 22 2012, 20:48
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,428
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 327 раз(а)



Нашёл такую замечатульную вещицу: Tiny C Compiler
GCC плачет в обнимку с MS VC++ 6.0 глядя на итоговый размер.
Но проблема та же - msvcrt.dll
У программы есть ключик -static, который позволяет линковать программу статически.

Например, при компиляции файла "test.c":
QUOTE
void main(void){}
через TCC вот таким способом:
QUOTE
tcc.exe -static test.c
получаем кучу ошибок:
QUOTE
tcc: undefined symbol '_controlfp'
tcc: undefined symbol '__set_app_type'
tcc: undefined symbol '__getmainargs'
tcc: undefined symbol 'exit'
В справке написано, что можно линковать библиотеки. При попытке слинковать с msvcrt.lib от VC++ 6.0 получаю ошибку:
QUOTE
>tcc.exe -static test.c -lMSVCRT.LIB
tcc: cannot find -lMSVCRT.LIB
Чтобы оно работало, нужно взять файл "MSVCRT.LIB", переименовать его в "libMSVCRT.a" и поместить в каталог "lib" - только тогда сработает (чтобы узнать это пришлось в исходниках рыться - libtcc.c:2083):
QUOTE
tcc.exe -static test.c -lMSVCRT
Однако же, хоть оно и находит файлы библиотеки (кстати, ей ещё некоторые понадобятся - см. через FileMon, к каким она будет обращаться - libKERNEL32.a и ещё чего-то), но компилироваться статически отказывается - пишет всё те же ошибки. Кто-нибудь знает, как можно TCC подружить с либами от студии, чтобы итоговый .EXE файл ничего кроме kernel32.dll не использовал?..
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме
-=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   Что лучшее на сегодняшний день? :) CodeBlocks + G...   Mar 24 2026, 10:29
-=CHE@TER=-   Что лучшее на сегодняшний день? :)Смотря для чего ...   Mar 24 2026, 12:24
PavelDAS   Установил, при первом запуске открылся пример про...   Mar 24 2026, 12:56
PavelDAS   Нужно сделать консольное приложение с простой функ...   Mar 24 2026, 13:11
-=CHE@TER=-   Нужно сделать консольное приложение с простой функ...   Mar 24 2026, 16:17


Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 19th April 2026 - 17:12