我是一位学习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