2013-05-26 6 views
-1

Я начинающий программист, изучающий 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 из приведенного выше примера?

Прошу прощения, если это дубликат/неправильный вопрос, но я даже не знал, как искать это в сети.

+0

Почему вы хотите это сделать? Вы могли бы также не передавать их вообще, если вы собираетесь это делать во время компиляции. – mwerschy

+1

Qt - это структура. Qt Creator - это IDE. Ни один из них не является компилятором. Ваш вопрос не кросс-платформенный вообще. Вы задаете тот же вопрос для двух разных IDE. Это не очень хорошая идея. – Mat

+0

@mwerschy: Да, это правда. Я просто подумал, что это сэкономит некоторое время, так как теперь мне нужно перейти к сгенерированному исполняемому файлу и ввести команду в 'powershell/bash'. @Mat: Конечно, вы правы. Терминология все же ускользает от меня ... – Dima1982

ответ

Смежные вопросы