У меня почему-то возникают проблемы с разбором аргументов командной строки в Windows на С++. Я пытался использовать это
int main(int argc, char **argv)
{
std::cout << "Command-line argument count: " << argc << " \n";
std::cout << "Arguments:\n";
for (int i = 0; i < argc; i++)
std::cout << " argv[" << i << "] "
<< argv[i] << "\n";
return 0;
}
а также это
int main(int argc, char *argv[])
{
std::cout << "Command-line argument count: " << argc << " \n";
std::cout << "Arguments:\n";
for (int i = 0; i < argc; i++)
std::cout << " argv[" << i << "] "
<< argv[i] << "\n";
return 0;
}
Переменные argc
и argv
как-то не инициализированы. Вот что мне возвращает запуск программы:
Z:\Dev\ProcessSuspender\Debug>ProcessSuspender a
Command-line argument count: 2130558976
Arguments:
argv[0]
argv[1] ╠ÉÉÉÉÉj↑h╚♂YwÞØ÷■ âe³
argv[2]
(следующий сбой)
Я скомпилировал его с помощью MSVC12, используя параметр компоновщика /SUBSYSTEM:CONSOLE
. Что может быть причиной этой проблемы?
_mainCRTStartup
в качестве точки входа? Какую версию CRT вы используете? - person Rufflewind   schedule 26.12.2014main
. Независимо от того, использую ли я настройку проекта по умолчанию (_tmain
) или нет, проблема сохраняется. Проект использует флаг/MDd
. После установки значения/MTd
приложение мгновенно вылетает при запуске. Я переустановлю VS и все остальное, что с ним связано, возможно, есть какие-то конфликты версий. - person codefox   schedule 26.12.2014main
? Это не сработает, точка входа должна быть точкой входа CRT,mainCRTStartup
, как упоминалось выше Rufflewind (ну, за исключением того, что это указано в параметрах компоновщика без начального подчеркивания, насколько мне известно). Подробности смотрите в этом вопросе. - person bogdan   schedule 26.12.2014main
. Не говоря уже обо всех других вещах, которые должны произойти до вызоваmain
. - person bogdan   schedule 26.12.2014/SUBSYSTEM:CONSOLE
и/SUBSYSTEM:WINDOWS
заключается в том, что, когда указан первый, точкой входа по умолчанию являетсяmainCRTStartup
, поэтому вам не нужно явно указывать его компоновщику. - person bogdan   schedule 26.12.2014