Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ага. И это называется раскрутка компилятора. 26.12.03 15:31 Число просмотров: 1731
Автор: amirul <Serge> Статус: The Elderman
|
Первая версия пишется на чем угодно (хоть на бейсике). Собирается компилятор. Все следующие версии компилятора пишутся на нем самом. И VC, и gcc.
> я блин про "фрагменты" и говорил. полсекунды или секунду > будет выполняться подпрограмма, которая выполняется раз в > сутки, меня абсолютно not a bird. просьба: читать если > меня, то ВНИМАТЕЛЬНО и ничего НЕ ДОДУМЫВАТЬ и не > фантазировать, не подставлять свой субъективный контекст - > вы заведомо ошибетесь и сознательно меня не поймете. Гы. Ну знамо дело. Все в го*не один ты д'Артаньян. "вы заведомо ошибаетесь" вот это вот как раз и есть подстановка к нам своего субъективного контекста.
> > касается скорости асма - во первых никто тебя не > вынуждает > > использовать тот же MFC или даже вообще пользоваться > > стандартными функциями С. > > да вообще этим нечитабельным языком, только в котором и > возможны ляпсусы типа (см. ссылку ниже). Да уж. В асме таких ляпсусов не бывает. Там просто можно побочноый эффект изменения какого нибудь флага использовать. Или я видел прикол (еще под досом): в кеш загружалась строка, в которой есть одно обращение к памяти и один безусловный переход. Причем обращение к памяти - это запись адреса перехода следующей инструкции. Но так как инструкция уже в кеше (или даже прошла пол-конвейера), переход осуществлялся по старому адресу. А отладчики всегда уходили по новому.
Не надо говорить, что инструмент плохой, только потому, что вы не умеете им пользоваться. После некоторого опыта работы (не сильно большого к слову), программист уже никогда случайно не напишет вместо сравнения присвоение.
Чтобы не переливать из пустого в порожнее, давайте я вам попросим кого нибудь написать реализацию какого-нибудь нетривиального алгоритма на C и на асме (можно даже откомпилировать исходную программу в асм). И дать без комментариев разным людям. Вы действительно уверены, что человек, которому попадется асм без комментариев столкнется с меньшими проблемами при чтении, чем С-шник. Если да, то мне просто не о чем с Вами больше говорить. Таких людей не прошибешь НИКАКИМИ аргументами. Тут уже был такой, который обвинял меня в ошибках (по его мнению) в СТАНДАРТЕ C++.
> > Во вторых трудновато тебе будет > > держать в памяти тайминги всех инструкций, расставлять > их > > так чтобы они работали максимально быстро на > современных > > процессорах с ихним кэшированием и предсказанием > переходов. > > Этим как раз прекрасно занимается компилятор тогоже С. > > в памяти нет смысла держать. занимается не настолько > прекрасно как тебе кажется, и простое дизассемблирование > тебя в этом легко убедит. напиши int x = 10 и собери > екзешник, вместо 10 байт у тебя получится 100К. Да? А может поспорим, что я могу написать на C программу, которая будет занимать минимальный для данного формата объем? А может заглянете в раздел FAQ? Вещи-то довольно простые и я удивлен, что Вы их не знаете.
ЗЫ: Кстати, программа из int x = 10 не будет занимать вообще ничего, т.к. компилятор соптимизирует неиспользуемую переменную. Если же написать volatile int x = 10, то программа не будет содержать ни одной ИСПОЛНЯЕМОЙ инструкции - только сегмент данных, в котором будет содержаться переменная x, проинициализированная значением 10.
|
|
|