Добро пожаловать, гость ( Вход | Регистрация )
| -=CHE@TER=- |
Aug 6 2008, 11:07
Сообщение
#1
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,401 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 323 раз(а) |
В общем, в последнее время часто приходится работать с программами на Си / 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++, чем тем что есть пользоваться, но, увы, у меня нет такого дикого количества времени и сил... |
![]() ![]() |
| -=CHE@TER=- |
Jun 26 2014, 14:00
Сообщение
#2
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,401 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 323 раз(а) |
Как вы, наверное, помните, я пишу сишные программы на:
QUOTE gcc.exe (GCC) 3.2 (mingw special 20020817-1) Это тот GCC, который из DEV-CPP. Писал тут одну программу DOS/Windows совместимую. Всё было нормально, пока не проверил программу под DOS в Borland Turbo C++ 3.0. Поменял кое-чего, сохранил и... она перестала копилироваться под Windows. Получаю какую-то странную ошибку: QUOTE C:\Temp/ccmYeaaa.o(.eh_frame+0x11):TESTFILE.C: undefined reference to `__gxx_personality_v0' Погуглил - говорят, надо какими-то ключами из командной строки что-то отключать. Но у меня же всё работало! Начинаю по одной строчке и блоками возвращать программу из резервной копии, которая комилировалась. Возвращал, возвращал... всё вернул! Обе программы идентичны, даже через "fc /b old_file.c TESTFILE.C" проверил - нет различий! Что за черт?! Осталось только имя поменять - сменил, всё заработало! Итого: если файл имеет расширение "*.C" (C - заглавная!) и компилируется через "GCC.EXE", то включается какой-то зело параноидальный режим, в котором нельзя вызывать функции отсутствующие в стандарте ANSI C89. В частности у меня вызывалась функция GetLastError() из WinAPI. При этом отсутствие или наличие ключа "-ansi" ни на что не влияет. Спасибо сказали:
|
-=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=- Представьте себе такую программу:
#include <s... Apr 26 2015, 12:01
-=CHE@TER=- Фига себе, я в эту тему год назад писал. Как быстр... Mar 8 2016, 09:21![]() ![]() |
| Упрощённая версия | Сейчас: 2nd December 2025 - 01:38 |