История изменений
Исправление Croco, (текущая версия) :
Но вот порядок: Ассемблер, Cи - меня бесит. Вместо того, чтобы воспользоваться printf, автор использует макросы.
У нас на ВМК на одном из трёх потоков как раз вот так вот учат «ассемблеру» — линкуются с libc, _start тоже где-то «уже написан», «завершение процесса» делают RET'ом, далее везде. По моим наблюдениям большинство студентов в итоге так и не понимает, о чём вообще шла речь.
Если взять систему программирования на ЛЮБОМ языке и начать её разбирать до основания, рано или поздно (если это Си — рано, если это Лисп — поздно) найдём несколько фрагментов, написанных на асме. Это будут точки, в которых программа соприкасается с внешним миром — точка входа и обёртки системных вызовов. Подход, при котором в обучении программированию на асме используются внешние библиотеки, скрывает ОБА этих случая.
По мне так это просто бред.
Исходная версия Croco, :
Но вот порядок: Ассемблер, Cи - меня бесит. Вместо того, чтобы воспользоваться printf, автор использует макросы.
У нас на ВМК как раз вот так вот учат «ассемблеру» — линкуются с libc, _start тоже где-то «уже написан», «завершение процесса» делают RET'ом, далее везде. По моим наблюдениям большинство студентов в итоге так и не понимает, о чём вообще шла речь.
Если взять систему программирования на ЛЮБОМ языке и начать её разбирать до основания, рано или поздно (если это Си — рано, если это Лисп — поздно) найдём несколько фрагментов, написанных на асме. Это будут точки, в которых программа соприкасается с внешним миром — точка входа и обёртки системных вызовов. Подход, при котором в обучении программированию на асме используются внешние библиотеки, скрывает ОБА этих случая.
По мне так это просто бред.