Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Почему говорят "не пишите программы для linux на ассемблере?

12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Все говорят "не пишите программы на ассемблере, потому что это плохо для совместимости"
Какой совместимости?
Все асм. программы состоят примерно так:
параметры...
mov eax,[функция]
int 0x80
получить результат..........

И что? Изменятся номера функций с выходом новой версии? Сомневаюсь...
Так почему же ?
260
26 марта 2012 года
Ramon
1.1K / / 16.08.2003
"не пишите программы для linux на ассемблере"
412
26 марта 2012 года
grgdvo
323 / / 04.07.2007
Когда проект перестает быть простой (учебной, демонстрационной, развлекательной, познавательной) программой на ассемблере, сложность ее поддержки и дальнейшего развития вырастает даже быстрее чем геометрически :)
Поэтому переходят к языкам высокого уровня: C/C++, Java, и т.д.

Никто не запрещает в C/C++ использовать ассемблерные вставки, если это оправдано целью разработки и предусмотрено ТЗ.
12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Ну во первых не все
Небольшие демоны для сервера, - вполне, а если нет то почему?
И вообще, какая может быть совместимость, если номера функций то не изменяются.
Конечно что если писать с заточкой на sse3 или 3DNow то понятно что на процессоре в кот. это не поддерживается это не будет работать, но при чем тут сам linux? (Я не помню на каком форуме, но именно говорилось что "вот, линупс, типа ассемблерные программы не совместимы, лучше использовать готовые библиотеки для разработки" )
Еще раз:
Если писать под опред. архитектуру, - да не совместимы, но при чем тут сам linux ? Что с выходом ubuntu server 13.10 изменятся номера функций? Или прерывание станет не 80 а 81? xD

P.S. Согласен с grgdvo
9
26 марта 2012 года
Lerkin
3.0K / / 25.03.2003
Линупс - много- и разно- платформенная осина. Затачиваете под конкретный CPU (архитектуру) - пишите на чем хотите. Хотите распространять бинарники - не пишите на ассемблере. Остальное - от лукавого.
12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Цитата:
Линупс - много- и разно- платформенная осина. Затачиваете под конкретный CPU (архитектуру) - пишите на чем хотите. Хотите распространять бинарники - не пишите на ассемблере. Остальное - от лукавого.


Многоплатформенная - согласен.
Но я ведь не пишу для debian, а завтра захочу запустить его на сковородке tefal.
Подразумевалось x86-x64

9
26 марта 2012 года
Lerkin
3.0K / / 25.03.2003
Мне, как и другим на форуме, абсолютно похеру, что вы подразумеваете, и для какого дистрибутива пишете. Вы спросили, вам ответили. Остальное - гон.
12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Что конкретно мне ответили? - "не пиши программы на ассемблере" , "Хотите распространять бинарники - не пишите на ассемблере."? Очень информативный ответ, если вообще можно таковым считать.
Или это:
Цитата:
Затачиваете под конкретный CPU (архитектуру) - пишите на чем хотите


Это почти тоже что я сказал - "если затачивать под sse или 3dnow..."
Вопрос был:

Цитата:
И что? Изменятся номера функций с выходом новой версии? Сомневаюсь...


Я с линуксом знаком не долго, возможно какие-то функции и меняются, поэтому и спрашиваю.

НАПОМНИМ: Имеется ввиду архитектура x86

9
26 марта 2012 года
Lerkin
3.0K / / 25.03.2003
Вы специально идиотничаете?
12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
хватит.
Создал за последнюю неделю 3 темы, на 2 из них несколько десятков просмотров, - ни одного ответа.
А в этой одна йухня. Не можете дать внятного ответа, не пишите херню.
Спасибо, форумчане!
9
26 марта 2012 года
Lerkin
3.0K / / 25.03.2003
Цитата: ASoftware
хватит.
Создал за последнюю неделю 3 темы, на 2 из них несколько десятков просмотров, - ни одного ответа.
А в этой одна йухня. Не можете дать внятного ответа, не пишите херню.
Спасибо, форумчане!


Тебе никто, ничем, и ничего не обязан. Если не хватает ума понять, что дистрибутивов много, платформы разные и ответ прозвучал в контексте "не писать на ассемблере под Linux", а не "не писать на ассемблере под Linux Debian", то тут любой форум бессилен.

12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Какая разница какой дистрибутив?
Изначально говорилось о версии а не дистрибутиве
316
26 марта 2012 года
Alm3n
889 / / 29.05.2009
12 ответов и 5 человек, офигеть, а в остальных топиках с вопросами по реальному программированию и 3х человек не всегда собирается, да и топики немного ответов набирают. :)
12K
26 марта 2012 года
ASoftware
87 / / 16.04.2009
Цитата:
12 ответов и 5 человек, офигеть, а в остальных топиках с вопросами по реальному программированию и 3х человек не всегда собирается, да и топики немного ответов набирают. :)


Вот-вот, и я о том же.
Словесным поносом все любят заниматься, а как ответить на вопрос так "да у тебя обострение тупости, да ты не способен понять ..." и т.д. и т.п.
Я же говорю, - до этого создал 2 темы с реальными вопросами, - хер кто помог.

316
27 марта 2012 года
Alm3n
889 / / 29.05.2009
Цитата:
Вот-вот, и я о том же.


Что-то не заметил по ходу топика, чтобы ты о том же писал. Вопрос, если честно, у тебя идиотский.

Цитата:
до этого создал 2 темы с реальными вопросами, - хер кто помог.


Если они были наподобие этой, то я не удивлён.

12K
27 марта 2012 года
ASoftware
87 / / 16.04.2009
Цитата:
Все говорят "не пишите программы на ассемблере, потому что это плохо для совместимости"
Какой совместимости?
Все асм. программы состоят примерно так:
параметры...
mov eax,[функция]
int 0x80
получить результат..........

И что? Изменятся номера функций с выходом новой версии? Сомневаюсь...
Так почему же ?


Что в вопросе идиотского? Что не понятно? Что такое прерывания? Или функции?
Какая похер разница какой дистрибутив? Фраза из вопроса: - "Изменятся номера функций с выходом новой версии?"

Походу многие кто тут ответил просто не в теме, ибо 1 из 1000 программирует для линукса, а тем более на асме, тут таких нет, ибо поняли бы о чем я спросил с пол пинка, так как задавался бы точно таким же вопросом.

245
27 марта 2012 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата:

Следует отметить, что не следует использовать системные вызовы везде, где только можно, без особой необходимости. В разных версиях ядра порядок аргументов у некоторых системных вызовов отличается, и это приводит к ошибкам, которые довольно трудно найти.


http://ru.wikibooks.org/wiki/%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80_%D0%B2_Linux_%D0%B4%D0%BB%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%B2_C

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог