Буду писать о Си для linux
И так как обычно пишут программы на си?
int main() {
return 0;
}Простой каркас, в нем объявленная функция main которая возвращает значение - 0.
И программа заканчивается возвращая значение которое вернула функция main, но на самом деле это все илюзия, mai не точка входа, это все дело glibc, а как же на чистом Си все делается?
Настоящая точка входа в программу функция _start() и если вы просто зделаете:
int _start() { return 0; }И скомпилируете с параметром -nostdlib то вы не получите работающих программу.