Я начинающий программист, изучающий C++, и следующий вопрос можно рассматривать как кросс-платформу, поскольку я пробовал это как в Visual Studio 2010/12, так и в Qt Creator в Linux Mint.Передача аргументов главной функции во время компиляции
Я настроил функцию Main() моей программы принять аргументы командной строки, как это:
int main(int argc, char* argv[])
{
if(argc < 5)
{
printf("Not enough input parameters!\n");
printf("Usage:\n");
printf("'program' lamda1 lamda2 Attraction_Range Order_Param_Range\n");
return 0;
}
else
{
lamda1 = atof(argv[1]);
lamda2 = atof(argv[2]);
attRange = atof(argv[3]);
oRange = atof(argv[4]);
cout << lamda1 << lamda2 << attRange << oRange << endl;
}
}
Однако, когда я ударил Ctrl+F5
в Visual Studio или Ctrl+R
в Qt Creator, компилировать, то кода для инструкции if
, потому что я не могу ввести какие-либо параметры. Могу ли я каким-либо образом передать исходные аргументы моей программе, чтобы при компиляции она сразу же могла перейти в часть else
из приведенного выше примера?
Прошу прощения, если это дубликат/неправильный вопрос, но я даже не знал, как искать это в сети.
Почему вы хотите это сделать? Вы могли бы также не передавать их вообще, если вы собираетесь это делать во время компиляции. – mwerschy
Qt - это структура. Qt Creator - это IDE. Ни один из них не является компилятором. Ваш вопрос не кросс-платформенный вообще. Вы задаете тот же вопрос для двух разных IDE. Это не очень хорошая идея. – Mat
@mwerschy: Да, это правда. Я просто подумал, что это сэкономит некоторое время, так как теперь мне нужно перейти к сгенерированному исполняемому файлу и ввести команду в 'powershell/bash'. @Mat: Конечно, вы правы. Терминология все же ускользает от меня ... – Dima1982