Alexey Boyko пишет:
C же другая ситуация -- для такой замены требуется перекомпиляция самого компилятора, что бы изменить startup. Переход на функцию main в C зашит в коде компилятора. В C Вы также не можете изменить семантику реакцииНу усложняйте. Чтобы заменить стартап, нужно заменить стартап. Не надо перекомпилировать компилятор. man gcc /-nostdlib
Это понятно, это для линкера. Запускаться такая программа не будет, пока вручную не определите точку входа. Если ещё и от __start отказаться, то и загрузчик свой надо будет делать, а там и до собственно OS не далеко. :)
Так gcc можно и в ассемблер превратить. Кстати, что по Вашему означает nostd? Не стандарт, не так ли?