2013-05-26 31 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

回答