Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2007, 15:06   #1
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
Вопрос Сравнение Си и Ассемблера...

Здравствуйте уважаемые господа программисты, как начинающие, так и профи! У меня чисто теоретический вопрос: действительно ли эффективны/неэффективны Си-компиляторы, и насколько можно выйграть переписав программу на языке Ассемблера? Какую цену придётся заплатить за это? Заранее всех блогадарю...
C уважением: Sota.
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 24.07.2007, 16:06   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Смотря что писать/переписывать собираешься. Если быстродействие и размер не столь критичны, незачем самоистязанием заниматься. Если имеется ввиду не с++ былдєр, то выигрышь в размере можно и не заметить
пыщь
JTG вне форума Ответить с цитированием
Старый 24.07.2007, 17:18   #3
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

Нет, БЭЛДЕР и не имел в виду. Меня интересует только отношение
Си - Ассемблер. Выходит, что Ассемблер не такой уж и незаменимый? То есть те цели, которые им часто решают без гемороя можно решить на чистом Си? И ещё, если же всё-таки он незаменимый в каких-то областях, можете сказать в каких?
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 24.07.2007, 18:02   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Им можно определятьнастройки железа. Дрова писать, вирусятину там всякую... Хотя это можно и на C++ сделать. Я сомневаюсь, что он такой незаменимый. О! Проги ломать! В смысле asm код корректировать...
Carbon вне форума Ответить с цитированием
Старый 24.07.2007, 18:08   #5
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

Ну вообще я так и думал. Assembler ведь очень "приближён" к железу. Так что действительно. Ассемблер язык хакеров!
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 24.07.2007, 18:57   #6
Net
;-)
Пользователь
 
Регистрация: 18.07.2007
Сообщений: 69
По умолчанию

Компилеров с++ существует большое множество. У большинства мне известных очень и очень гибкие настройки компиляции кода, и серьезные оптимизаторы. Самым эффективным по кодогенерации считается Intel C++, компилер от производителей проца. Ессно, кому как не им хорошо знать архитектуру своих кремниевых продуктов. Но и заточен этот с++ под те же процессоры и архитектуру.

На чем собирать свои проекты - вопрос сложности, обьема проекта и вкусов. Писать чистым ассемблером нет смысла, т.к. есть множество нюансов - очень много кода на интерфейс, возможно компоненты или библиотеки, которые будут использоваться.

Компромисс (если таков необходим, например в сложных вычислительных алгоритмах, где допустим, наамного эффективнее будет с SSE, SSE2, а компилер и знать не знает о таких) - включение в сишный код асмовского, использование внешних асмовских процедур.

Переписывать или нет? Аналогично тому, писать или нет - уже ответил.
Самое лучшее правило - золотая середина. Без крайностей. И если это действительно нужно.
Net вне форума Ответить с цитированием
Старый 24.07.2007, 19:48   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
Ну вообще я так и думал. Assembler ведь очень "приближён" к железу. Так что действительно. Ассемблер язык хакеров!
Ну если совсем уж низкоуровневое программирование, оси там, загрузчики, микроконтроллеры в конце-концов, тогда и выбора особо не остаётся.
пыщь
JTG вне форума Ответить с цитированием
Старый 25.07.2007, 11:35   #8
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

Ну насчёт облостей применения понятно. А на счёт вставки Ассемблерного кода: каким образом его вставить в С\С++ код например? Можете привести код простой программы?
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 25.07.2007, 14:22   #9
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от Sota Посмотреть сообщение
Ну насчёт облостей применения понятно. А на счёт вставки Ассемблерного кода: каким образом его вставить в С\С++ код например? Можете привести код простой программы?
Вот вставка:
Код:
asm
{
 
}
Carbon вне форума Ответить с цитированием
Старый 25.07.2007, 16:15   #10
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

Ну чтож, понятно. Всю необходимую для себя информацию я получил. Большое всем спасибо! С уважением: Sota.
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение ассемблера, начало Lich Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 18.06.2008 14:16
сравнение дат Geddar Общие вопросы Delphi 2 04.06.2008 19:09
вставки из ассемблера макс07 Общие вопросы C/C++ 7 13.05.2008 19:19
Несколько вопросов по командам ассемблера. jenja Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 12.03.2008 19:52
Где скачать программы для ассемблера? Nurbo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 04.09.2007 09:55