LINUX.ORG.RU

История изменений

Исправление Croco, (текущая версия) :

Но вот порядок: Ассемблер, Cи - меня бесит. Вместо того, чтобы воспользоваться printf, автор использует макросы.

У нас на ВМК на одном из трёх потоков как раз вот так вот учат «ассемблеру» — линкуются с libc, _start тоже где-то «уже написан», «завершение процесса» делают RET'ом, далее везде. По моим наблюдениям большинство студентов в итоге так и не понимает, о чём вообще шла речь.

Если взять систему программирования на ЛЮБОМ языке и начать её разбирать до основания, рано или поздно (если это Си — рано, если это Лисп — поздно) найдём несколько фрагментов, написанных на асме. Это будут точки, в которых программа соприкасается с внешним миром — точка входа и обёртки системных вызовов. Подход, при котором в обучении программированию на асме используются внешние библиотеки, скрывает ОБА этих случая.

По мне так это просто бред.

Исходная версия Croco, :

Но вот порядок: Ассемблер, Cи - меня бесит. Вместо того, чтобы воспользоваться printf, автор использует макросы.

У нас на ВМК как раз вот так вот учат «ассемблеру» — линкуются с libc, _start тоже где-то «уже написан», «завершение процесса» делают RET'ом, далее везде. По моим наблюдениям большинство студентов в итоге так и не понимает, о чём вообще шла речь.

Если взять систему программирования на ЛЮБОМ языке и начать её разбирать до основания, рано или поздно (если это Си — рано, если это Лисп — поздно) найдём несколько фрагментов, написанных на асме. Это будут точки, в которых программа соприкасается с внешним миром — точка входа и обёртки системных вызовов. Подход, при котором в обучении программированию на асме используются внешние библиотеки, скрывает ОБА этих случая.

По мне так это просто бред.