Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
пример "свёрнуто под оператор", ну хотя б функция "printf" в которой много чего избыточного и неортимального, но это (+)
Отправлено
Assm (91.122.169.170) 30 августа 2010, г. 17:44
В ответ на:
Пара вопросов. отправлено
Mebius 30 августа 2010, г. 17:26
наверняка не самый удачный пример, а в ассме, кстати не операторы, а директивы процессора, которыке немедленно им и исполняются :))
критерий эффективности - компактность кода и максимальное его быстродействие, причём не в рамках локального действая типа, сложить А и Б, а в рамках законченной функциональной ветки программы. Си, часто, например злоупотребляет выгрузками регистров в память и пересылкой переменных из памяти в регистры, даже когда это не нужно., например при цепочечных вычислениях. Конечно, грамотным локальным объявлением переменных и использование аппаратнозависимых операторов и директив этого можно избежать, но тогда си-программа теряет стандартность и ухудшается её переносимость, что несомненно является главным козырем си-программирования. Но если на асме эффективное программирование с учётом структуры железа делается как бы "автоматически", то при написании на си, либо нужно использовать стандарт и терять в эффективности, либо нужно исполбзовать аппаратно-зависимые возможности компилятора, теряя ри этом в совместимости и универсальности. Чем, в этом случае Си лучше ассемблера? - ничем!
Составить ответ | Вернуться на конференцию
Ответы