![]() |
|
Модераторы: bsa |
![]()
|
|
| CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Друзья, говорят, что в си можно пихать асмовый код, который работает на низком уровне. Так а зачем тогда вообще применять асмовые сторонние IDE си-программёру, может и си хватит? Или все-таки сишные компилы не заменят асмовые, они продуктивней?
|
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Обычно асм вставки используются из-за их меньшей ресурсопотребляемости и быстродействия. Если в небольших программах не будет заметно разницы в скорости выполнения программы с асм вставками и без них, то в больших программах разница в потребляемых ресурсах и быстродействии может быть критичной.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
CoDecode, что-то не слышал об IDE под ассемблер. Ты случаем понятия "IDE" и "компилятор" не путаешь? IDE - это интегрированная среда разработки (Integrated Development Environment). Утрируя, это текстовый редактор. А компилятор - это программа превращающая исходный код программы в объектный (в инструкции процессора).
Чтобы скомпилировать программу, которая содержит ассемблерный код, компилятор Си экспортирует этот код во временный файл и вызывает компилятор ассемблера (если, конечно, последний не является встроенным). Бывает, что компилятор Си из исходников гененрирует текст на языке ассемблера, а затем вызывает для него соответствующий компилятор ассемблера. Добавлено через 3 минуты и 17 секунд
Ассемблер в основном используют системные программисты и разработчики мультимедийных библиотек. Для прикладных зачач повышение быстродействия будет незаметно, а переносимость кода становится почти нулевой. |
|||
|
||||
| HumanAPI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
bsa
http://www.wasm.ru/toollist.php?list=7 компиляторы и IDE под ассемблер. |
|||
|
||||
| CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
да это я так, обопщенно, мол "нужна ли вся эта чипуха" если есть си..
А переносимость это типа что, если у него не х86, то "иди гуляй", да? Вы об этом? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
А кто тебе сказал, что программа на ассемблере будет написана под x86 процессор?
Смысл тут такой, если захочешь скомпилировать программу написаную с использование инструкций x86 под Power G5 (например), то ничего у тебя не выйдет. Вся эта "чепуха" нужна. Посмотри исходники ядра (каталог arch) и ты поймешь зачем. |
|||
|
||||
| CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Да в курси я, bsa! Я имею в виду что именно из-за этого и не переносится... Но ведь даже если у него Паувер, а у меня Пентиум то даже и компил никакой не поможет (правда, если он по Power то все будет в поряде, а вот только отлаживать как..).. А к примеру, если я захочу написать к другому процу прогу, есть эмули других процессоров?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
CoDecode, думаю, есть. Вот только зачем писать что-то, что возможно не будет использоваться?
Обычно поступают так: написали прогу на С, видят, тормозит. Прогнали через профилировщик - обнаружили слабое место. Оптимизировали его, прогнали опять - все равно тормозит. Переписали на ассемблере, но предыдущий код оставили на случай сборки под другую архитектуру (условная компиляция)... Стали портировать на другую архитектуру, опять тормозит. Написали вариант функции под эту архитектуру на ассемблере... А так не стоит без крайней необходимости прибегать к помощи ассемблера, когда речь идет о прикладном ПО. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Во-первых, на каком основании ты сделал такой вывод Во-вторых, какие компиляторы ты пробовал? Ты пробовал comeau, а так же от Microsoft, от Intel и от Borland? |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Кстати, а почему комитет по стандартизации C++ сами не выпустят свой компилятор, который будет выполнять все их стандарты ? |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
+1 comeau держит стандарт интеловский порвет все вышеперечисленные компиляторы по оптимизации и т. д так, чтобы какой-то компилятор был однозначно лучше по всем параметрам, не бывает -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
А они есть.
Частенько встречаются задачи при которых проще написать все на асме, чем создавать собственную реализацию функционала С чисто для своей задачи. Но эт редкий случай. Почти под любйю железку можно писать код на С, но иногда с железкой выпускают какой-нить клон асма который оптимален для конкретной железяки, иногда клон С с заточкой на железку. Буквально недавно видел своими клазками клон С с собственным компилятором и линкером точеный под железяку. Жесть несусветная, с точками останова на уровне железяки. )))))) Забыл снять точку останова, считай железяка повисла ))))))) Поставил точку останова, перекомпиливай проект. мухаха |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |