我是一位學習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
部分?
如果這是一個重複/錯誤的問題,我很抱歉,但我甚至不知道如何在網上搜索這個。
你爲什麼要這麼做?如果你打算在編譯時刻完成,你可能根本不會傳遞它們。 – mwerschy
Qt是一個框架。 Qt Creator是一個IDE。這兩者都不是編譯器。你的問題根本不是跨平臺的。你對兩個不同的IDE提出同樣的問題。這不是一個好主意。 – Mat
@ mwerschy:是的,那是真的。我只是認爲這會節省一些時間,因爲現在我必須導航到生成的可執行文件並在'powershell/bash'中輸入命令。 @Mat:你當然是對的。術語仍然沒有我... – Dima1982