Рассмотрим очень просто:
int main(void) {
return 0;
}
Я скомпилировал его (с mingw32-gcc) и выполнил его как main.exe foo bar
.
Теперь я ожидал какого-то сбоя или ошибки, вызванной основной функцией, явно объявленной как лишенная параметров life. Отсутствие ошибок привело к этому вопросу, и это действительно четыре вопроса.
-
Почему это работает? Ответ: Поскольку стандарт говорит так!
-
Являются ли входные параметры просто проигнорированными или стек, подготовленный с помощью argc и argv молча? Ответ: В этом конкретном случае готов стек.
-
Как я могу проверить выше? Ответ: См. более простой ответ.
-
Является ли эта платформа зависимой? Ответ: Да и нет.