2013-05-26 63 views
-1

我是一位學習C++的新手程序員,下面的問題可以考慮爲跨平臺,因爲我在Visual Studio 2010/12和Linux Mint中的Qt Creator都嘗試了這個。在編譯時將參數傳遞給主函數

我已經建立了我的程序接受命令行參數是這樣的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; 
    } 
} 

然而,當我在Qt Creator的Visual Studio或Ctrl+R,編譯擊中Ctrl+F5中,代碼叉到if聲明,因爲我不能輸入任何參數。我可以以某種方式將初始參數傳遞給我的程序,以便在編譯時可以立即轉到上述示例的else部分?

如果這是一個重複/錯誤的問題,我很抱歉,但我甚至不知道如何在網上搜索這個。

+0

你爲什麼要這麼做?如果你打算在編譯時刻完成,你可能根本不會傳遞它們。 – mwerschy

+1

Qt是一個框架。 Qt Creator是一個IDE。這兩者都不是編譯器。你的問題根本不是跨平臺的。你對兩個不同的IDE提出同樣的問題。這不是一個好主意。 – Mat

+0

@ mwerschy:是的,那是真的。我只是認爲這會節省一些時間,因爲現在我必須導航到生成的可執行文件並在'powershell/bash'中輸入命令。 @Mat:你當然是對的。術語仍然沒有我... – Dima1982

回答