在编译时将参数传递给主函数
Posted
技术标签:
【中文标题】在编译时将参数传递给主函数【英文标题】:Pass arguments to main function at compiling time 【发布时间】:2013-05-26 18:40:56 【问题描述】:我是一名学习 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;
但是,当我在 Visual Studio 中点击 Ctrl+F5
或在 Qt Creator 中点击 Ctrl+R
进行编译时,代码分支到 if
语句,因为我无法输入任何参数。我能否以某种方式将初始参数传递给我的程序,以便在编译时立即转到上述示例的else
部分?
如果这是一个重复/错误的问题,我很抱歉,但我什至不知道如何在网上搜索这个问题。
【问题讨论】:
您为什么要这样做?如果您要在编译时执行,则最好根本不传递它们。 Qt 是一个框架。 Qt Creator 是一个 IDE。这些都不是编译器。您的问题根本不是跨平台的。您对两个不同的 IDE 提出了相同的问题。这不是一个好主意。 @mwerschy:是的,这是真的。我只是认为这会节省一些时间,因为现在我必须导航到生成的可执行文件并在powershell/ bash
中键入命令。 @Mat:你当然是对的。术语仍然让我难以理解......
那么你仍然需要运行时,你只需要 IDE 为你做这件事。那么@Riateche 有正确的答案。
【参考方案1】:
在 Visual Studio 中:How could I run a project with some parameters in Visual Studio?
在 Qt Creator 中:QtCreator and Command Line Arguments
【讨论】:
以上是关于在编译时将参数传递给主函数的主要内容,如果未能解决你的问题,请参考以下文章