Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ты прав, GCC написан на С :) 26.12.03 15:37 Число просмотров: 1670
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> > Есть конечно фрагменты на асме, но в основном - С. > я блин про "фрагменты" и говорил. полсекунды или секунду > будет выполняться подпрограмма, которая выполняется раз в > сутки, меня абсолютно not a bird. просьба: читать если > меня, то ВНИМАТЕЛЬНО и ничего НЕ ДОДУМЫВАТЬ и не > фантазировать, не подставлять свой субъективный контекст - > вы заведомо ошибетесь и сознательно меня не поймете. На асме в основном делаются фрагменты работающие с железом напрямую. Ввод вывод в порты имхо на асме делать просто легче. А насчет скорости - расскажу легенду которую мне самому как то рассказывали. Был один чел у нас который весьме нехило шарил в асме. И решил он написать небольшую программку (с циклом, считала чтото) с целью обойти в скорости аналогичный код на С скомпиленный в Watcom C. Чел обломался.
> > касается скорости асма - во первых никто тебя не > вынуждает > > использовать тот же MFC или даже вообще пользоваться > > стандартными функциями С. > > > Во вторых трудновато тебе будет > > держать в памяти тайминги всех инструкций, расставлять > их > > так чтобы они работали максимально быстро на > современных > > процессорах с ихним кэшированием и предсказанием > переходов. > > Этим как раз прекрасно занимается компилятор тогоже С. > > в памяти нет смысла держать. занимается не настолько > прекрасно как тебе кажется, и простое дизассемблирование > тебя в этом легко убедит. напиши int x = 10 и собери > екзешник, вместо 10 байт у тебя получится 100К. Получится порядка 1 кб. Тут недавно пролетала мессага о том как отключить стандартные Сшные либы в которых содержатся такие стандартные функции как printf, malloc, и прочее. А 1кб - это изза PE заголовка. 10байтный PE ехешник ты никак не сможешь сделать. Кстати ничего страшного даже в том что в ехешнике лежит код который и выполняться то никогда не будет. Механизм запуска приложений в виндах таков, что если участок кода не юзается то он не будет никогда загружен в память.
> да вообще этим нечитабельным языком, только в котором и > возможны ляпсусы типа (см. ссылку ниже). В асме таких ляпусов может быть намноого больше. xor eax,eax вместо mov eax,edx в коде состоящем и гораздо большего количества строк мог бы привести к примерно такому же эффекту.
|
|
|