Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Где найти очень хороший компилятор на си
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
_kas _kas вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.12.2005
По умолчанию Где найти очень хороший компилятор на си - 10.03.2006, 10:30

Доброго времени суток, господа!

Есть ли на свете компилятор на с/с++, который компилирует только мой код.

то есть если я пишу

Код:
void main(){
  int a;
  a=a+5;
}
то он переведет во что-то типа

Код:
m00_00:
  mov ebp, esp
  sub esp, 4
  mov eax, 5
  add dword ptr [ebp-4], eax
то, что у меня есть добавляет еще около 50 кило лишнего кода
на который даже джампов нет...

помогите найти где-нибудь подобное, заранее благодарен
Ответить с цитированием
  (#2 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 10.03.2006, 11:26

Знаю один такой. Он идет в составе Microsoft Visual Studio.
Кстати, то, что вы написали - пример некорректной компиляции
Ответить с цитированием
  (#3 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию 11.03.2006, 03:13

Встречный вопрос к автору: говорит ли Вам что-нибудь такое понятие как CRT и знакомы ли Вы с режимами оптимизации в Release-версии?
Если нет, то обязательно рекомендую почитать что-нибудь на эту тему.

По поводу CRT:
http://www.rsdn.ru/article/cpp/crt.xml

Как пережить Release-версию:
http://www.flounder.com/debug_release.htm (http://www.codeproject.com/debug/survivereleasever.asp)
http://www.rsdn.ru/article/vcpp/survrls.xml

По поводу оптимизации:
http://en.wikipedia.org/wiki/Compiler_optimization
http://www.tantalon.com/pete/cppopt/main.htm

Сравнение компиляторов:
http://www.rsdn.ru/summary/590.xml

Одними из лучших в плане оптимизации кода являются компиляторы Microsoft (ver. 7.1, 8.0) и Intel, хотя это, конечно, вопрос риторический. Но, разумеется, лучше человека, по-прежнему, код не оптимизирует никто. Только вот никогда не надо забывать, что преждевременная оптимизация - корень всех зол (Д. Кнут).
Ответить с цитированием
  (#4 (permalink)) Старый
_kas _kas вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.12.2005
По умолчанию 13.03.2006, 14:48

Господа!, я понимаю ваше негодование по поводу моего кода,
но смею вас заверить, мне нужно именно это. То есть если завожу локальную переменную, то компилятор берет ее именно из стека
(если, конечно, закончились регистры), причем даже если переменная не используется, она должна выделяться. Компилятор должен держаться чисто на синтаксисе и выдавать мне только то, что я написал. А мой код - всего лишь пример...

P.S. в настоящее время за отсутствием такого инструмента, единственно правильное решение - ассемблер.
Задача моя - небольшой алгоритм по обработке довольно громоздкой структуры, причем засунуть эту задачу лучше в менее чем 1 килобайт кода.
Ответить с цитированием
  (#5 (permalink)) Старый
Влад Влад вне форума
Специалист
 
Сообщений: 3,884
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 27.06.2002
Адрес: Санкт-Петербург
По умолчанию 13.03.2006, 18:22

А почему именно килобайт, а не два или десять?


The difference between theory and practice is that in theory, there is no difference between theory and practice, but in practice, there is.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 13.03.2006, 20:55

_kas
Всё ясно. Нужно отключать оптимизацию. Это можно практически везде.
Ассемблер, кстати, тоже никто не отменял, в том числе и инлайновый.
Ответить с цитированием
  (#7 (permalink)) Старый
_kas _kas вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.12.2005
По умолчанию 14.03.2006, 18:37

Мне кажется, что я нашел некую альтернативу. Это С--.
Только посмотрев несколько листингов понял, что это некое подобие
masm'a с его идиотскими (по моему очень субьективному мнению)
.IF, .WHILE и т.д.
Мне же нужен просто самый обычный C, но чтоб компилировался только мой код, как-раз получится около полукилобайта или даже меньше.
Ответить с цитированием
  (#8 (permalink)) Старый
_kas _kas вне форума
Member
 
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.12.2005
По умолчанию 14.03.2006, 18:37

Мне кажется, что я нашел некую альтернативу. Это С--.
Только посмотрев несколько листингов понял, что это некое подобие
masm'a с его идиотскими (по моему очень субьективному мнению)
.IF, .WHILE и т.д.
Мне же нужен просто самый обычный C, но чтоб компилировался только мой код, как-раз получится около полукилобайта или даже меньше.
Ответить с цитированием
  (#9 (permalink)) Старый
BabyBear BabyBear вне форума
Member
 
Сообщений: 261
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 09.04.2005
По умолчанию 29.03.2006, 18:22

Поищи старые досовские компиляторы. Я когда то делал файлы com по несколько байт. Там сначала делался ехе а потом какой-то прогой ехе превращался в маленький сом. к сожалению уже не помню подробностей.
Ответить с цитированием
  (#10 (permalink)) Старый
qwerty qwerty вне форума
Member
 
Сообщений: 31
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.01.2005
По умолчанию 12.04.2006, 19:00

А gcc чем не устраивает?
Код:
gcc -ffreestanding -c файл
компилирует Ваш пример в 718 байт
Ответить с цитированием
  (#11 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 13.04.2006, 05:07

Цитата:
Originally posted by qwerty
[b]компилирует Ваш пример в 718 байт
А что много-то так?
Ответить с цитированием
  (#12 (permalink)) Старый
nop nop вне форума
Member
 
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.03.2004
По умолчанию 13.04.2006, 23:26

Цитата:
Originally posted by Shunix
[b]Встречный вопрос к автору: говорит ли Вам что-нибудь такое понятие как CRT и знакомы ли Вы с режимами оптимизации в Release-версии?
Ммм... говорит ли Вам что-нибудь название форума "C/C++" ?
Знакомы ли Вы со стандартом языка ? Если да, то Вам должно быть известно, что ни понятия Release/Debug, ни CRT не входят в язык С++. Это относится к конкретной _реализации_ компилятора, не более.


Цитата:
Originally posted by Shunix
[b]Только вот никогда не надо забывать, что преждевременная оптимизация - корень всех зол (Д. Кнут).
Ошибаетесь. Это не Кнут.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию 15.04.2006, 19:17

/*
К автору предыдущего постинга:
Честно говоря, говорит :-). Это название говорит мне о том, что здесь обсуждаются вопросы, связанные как непосредственно с языком C/C++, так и с его различными реализациями, а также стандартными и околостандартными библиотеками.
Если покопаться в архивах, здесь можно найти некоторое число вопросов об эффективности реализации какой-либо стандартной процедуры (например, сортировки в STL); в то же время другие темы обсуждают библиотеки работы с регулярными выражениями, которые не включены в Стандарт (если вопрос о том, знаком ли я с ним, относиться ко мне лично, то могу ответить положительно).
Собственно, обо всем об этом и утверждается в заголовке Форума - "Форум C/C++. Языки программирования C и C++. ООП-библиотеки C++".
Вот чего там не сказано, так это того, что здесь место пустой болтовни и глупых вопросов, не так ли? ;-)

Кстати, Вы имеете что-то сказать по СУЩЕСТВУ заданного вопроса? Если так, буду рад это услышать. Что же касается Ваших замечаний относительно CRT и Debug/Release-версии приложения: а кто-то утверждал обратное? ;-)

По поводу цитаты - да, данная цитата в оригинале принадлежит Тони Хору (Tony Hoare), но впоследствии была "оживлена" именно Дональдом Кнутом (Donald Knuth) - более того, на мой взгляд, именно вторая жизнь и принесла этой фразе всемирную известность - определенная часть почитаемых мною источников (в т.ч. "Язык программирования C++" Б. Страуструпа) ссылается на Дональда Кнута как на создателя этой фразы. И в этой формулировке есть определенная доля истины, с чем, собственно я, согласен.
Кому интересно:
http://www.brainyquote.com/quotes/quotes/d...knut181625.html
http://en.wikipedia.org/wiki/Software_optimization
http://www.cookcomputing.com/blog/archives/000084.html
*/

С уважением,
Shunix.

P.S. Так я еще и не один такой "счастливый"! :-))
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компилятор на Си где его найти De@D MOROZ С/С++ 4 22.08.2009 13:46
Где найти хороший бесплатный хостинг с ASP.NET Exmap .NET 3 29.05.2009 13:51
Где найти хороший самоучитель по программированию sergey1801 Delphi 3 20.11.2008 00:31
Помогите собрать новый компьютер не очень дорогой, но хороший. Brisk Техническая поддержка 6 22.06.2007 01:52
Где можно найти компилятор для С++ Филипп C++ Builder 2 03.07.2006 00:42
С99 для PC где найти компилятор voodOOpeople С/С++ 14 15.06.2006 16:41
Очень нужен хороший web-дизайнер!! Маришкина Работа 0 27.12.2005 10:09
Где найти хороший учебник по Pascale tigr Pascal 1 13.11.2005 02:37
очень нужен хороший java программист Katarish Работа 0 25.08.2005 15:00
Где найти хороший самоучитель по C++ Builder на русском языке User_igor C++ Builder 3 25.10.2004 18:16
Где найти хороший редактор XML/XSD AssAsin XML & WML 12 25.12.2003 13:46
Где в интернете найти компилятор для С++ Anonymous Visual C++ 3 30.09.2003 14:02



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов