执行C++程序的命令行参数 这是我的C++程序的主要部分: void main(int argc, char** argv, Arguments& arguments)

执行C++程序的命令行参数 这是我的C++程序的主要部分: void main(int argc, char** argv, Arguments& arguments),c++,linux,command-line,C++,Linux,Command Line,第一个参数是文件,其余参数是布尔值。 我想知道命令行编译程序的正确语法是什么。 我试过: gcc -o "argument1" "argument2" "argument3" prog.cpp 及 但我得到了这个错误: linker command failed with exit code 1 (use -v to see invocation) 我怀疑我没有正确地传递参数,因此我的程序没有正确地链接到输入文件argument1。 谢谢您的批改。C++编码/程序执行过程至少对于简单的

第一个参数是文件,其余参数是布尔值。 我想知道命令行编译程序的正确语法是什么。 我试过:

gcc  -o "argument1" "argument2" "argument3" prog.cpp  

但我得到了这个错误:

linker command failed with exit code 1 (use -v to see invocation)
我怀疑我没有正确地传递参数,因此我的程序没有正确地链接到输入文件argument1。
谢谢您的批改。

C++编码/程序执行过程至少对于简单的单文件程序如下所示:

步骤1:编写代码,比如在一个名为prog.cpp的文件中

步骤2:将代码编译成可执行文件。在我们的例子中,g++-o myprog.cpp


步骤3:执行程序。在我们的例子中,至少对于简单的单文件程序,myprog argument1 argument2 argument3 C++编码/程序执行过程如下所示:

步骤1:编写代码,比如在一个名为prog.cpp的文件中

步骤2:将代码编译成可执行文件。在我们的例子中,g++-o myprog.cpp


步骤3:执行程序。在我们的例子中,myprog argument1 argument2 argument3

看起来你是新来的,因为你已经融入了很多东西

首先你必须编译你的程序。对于cpp程序,通常使用g++。所以用

g++ -Wall -o prg prg.cpp
之后,您必须使用修改您的访问权限

chmod +x prg
能够调用程序

现在,您可以使用参数调用程序:

./prg arg1 arg2 arg3

看来你是新来的,因为你已经融入了很多东西

首先你必须编译你的程序。对于cpp程序,通常使用g++。所以用

g++ -Wall -o prg prg.cpp
之后,您必须使用修改您的访问权限

chmod +x prg
能够调用程序

现在,您可以使用参数调用程序:

./prg arg1 arg2 arg3
主参数和命令行参数 Main可以具有以下其中一种功能:

在第一种形式中,不能传递任何参数。 在第二种形式中,argc是在命令行上传递的参数计数,argv是长度为argc的char*c样式字符串数组,其中包含命令行参数

例如,如果您将程序称为

./program apple bananna carrot date
然后argc将等于5,argv将包含以下值:

argv[0] = "./program" -- the name of your program as called on the command line. 
argv[1] = "apple"
argv[2] = "bananna"
argv[3] = "carrot"
argv[4] = "date"
编译和运行程序 C++不是解释语言,因此必须编译。假设您的源代码位于一个名为program.cpp的文件中,并且您希望您的可执行文件名为program,那么您将按如下方式调用g++:

g++ -o program program.cpp
如果您在当前目录下查找,那么现在应该会在源代码旁边的目录中看到一个名为program的文件。现在可以再次运行此程序,假设您将输出文件命名为程序

字符串arg1、arg2和arg3将如上所述传递到main中

主参数和命令行参数 Main可以具有以下其中一种功能:

在第一种形式中,不能传递任何参数。 在第二种形式中,argc是在命令行上传递的参数计数,argv是长度为argc的char*c样式字符串数组,其中包含命令行参数

例如,如果您将程序称为

./program apple bananna carrot date
然后argc将等于5,argv将包含以下值:

argv[0] = "./program" -- the name of your program as called on the command line. 
argv[1] = "apple"
argv[2] = "bananna"
argv[3] = "carrot"
argv[4] = "date"
编译和运行程序 C++不是解释语言,因此必须编译。假设您的源代码位于一个名为program.cpp的文件中,并且您希望您的可执行文件名为program,那么您将按如下方式调用g++:

g++ -o program program.cpp
如果您在当前目录下查找,那么现在应该会在源代码旁边的目录中看到一个名为program的文件。现在可以再次运行此程序,假设您将输出文件命名为程序


字符串arg1、arg2和arg3将如上所述传递到main中

主函数的定义如下:

int main (int argc, char *argv[])

据我所知,argc=参数计数,argv=参数向量。argc是可以选择数量的参数数,argv包含该数量的参数,其中包含要从命令行传递到程序的所有实际数据。但请记住,始终至少有一个参数排在第一位:程序名称


在编译过程中不使用它们,而是在运行时使用它们。运行程序与编译和链接不同,在您的情况下,编译和链接必须首先使用gcc完成。

主函数定义如下:

int main (int argc, char *argv[])

据我所知,argc=参数计数,argv=参数向量。argc是可以选择数量的参数数,argv包含该数量的参数,其中包含要从命令行传递到程序的所有实际数据。但请记住,始终至少有一个参数排在第一位:程序名称


在编译过程中不使用它们,而是在运行时使用它们。运行程序与编译和链接不同,在您的情况下,编译和链接必须首先使用gcc完成。

这不是有效的原型
或主。您不使用GCC来运行C++程序。你可以把C++程序编译成一个可执行文件。然后运行可执行文件,例如从shell中运行。它可能是根据学术界的。你还应该使用G++来编译C++。或者通过GCC的正确参数,这是任何人都要做的麻烦,所以使用G++。有一个好书的列表。这不是一个有效的原型。你不使用GCC来运行C++程序。你可以把C++程序编译成一个可执行文件。然后运行可执行文件,例如从shell中运行。它可能是根据学术界的。你还应该使用G++来编译C++。或者将正确的参数传递给gcc,这对任何人来说都太麻烦了,所以使用g++。有一系列好书。在大多数系统上,由g++创建的可执行文件将自动标记为可执行文件,因此不需要chmod。否则,您可能会有一个奇怪的umask设置。在大多数系统上,由g++创建的可执行文件将自动标记为可执行文件,因此不需要chmod。如果没有,您可能有一个奇怪的umask设置;注意,实现通常允许使用第三种形式,int main int argc,char*argv[],char*envp[];