这是我的 C++ 程序的主要部分:
void main(int argc, char** argv, Arguments& arguments)
第一个参数是一个文件,其余的是布尔值。
我想知道命令行编译程序的正确语法是什么。
我试过了:
gcc -o "argument1" "argument2" "argument3" prog.cpp
和
g++ -std=c++11 -o "argument1" "argument2" "argument3" prog.cpp
但我收到此错误:
linker command failed with exit code 1 (use -v to see invocation)
我怀疑我没有正确传递参数,因此我的程序没有正确链接到输入文件(argument1)。
谢谢你纠正我。
原文由 user8559454 发布,翻译遵循 CC BY-SA 4.0 许可协议
主函数定义如下:
或者
据我了解,argc = 参数计数和 argv = 参数向量。 argc 是参数的数量(您可以选择多少),而 argv 包含该数量的参数,其中包含您要从命令行传递给程序的所有实际数据。但请记住,至少有一个参数是第一位的:程序的名称。
这些不在编译期间使用,而是在运行时使用。运行程序与编译和链接不同,编译和链接必须先完成(在你的情况下使用 gcc)。