C ++ Стандарт: ( Источник )
Стандарт C ++ 98 говорит в разделе 3.6.1.2
Должен иметь тип возврата типа
int, но в противном случае его тип
реализации. Все
реализации должны позволять как
следующие определения основных: int
main () и int main (int argc, char *
ARGV [])
Обычно существует 3 набора параметров:
- без параметров /
void
int argc, char ** argv
int argc, char ** argv, char ** env
Где argc
- количество командных строк, argv
- фактические командные строки и env
- переменные среды.
Windows
Для приложения Windows у вас есть точка входа в WinMain с другой подписью вместо основной.
int WINAPI WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
);
OS X: ( Источник )
Mac OS X и Darwin имеют четвертый параметр, содержащий произвольную информацию, предоставляемую ОС, например, путь к исполняемому двоичному файлу:
int main(int argc, char **argv, char **envp, char **apple)