我用 C 编写了一个程序,并尝试在命令行上使用参数对其进行编译,但是当我写一个整数时,例如:
gcc findtopk.c -o findtopk 500 5 test1.txt test2.txt test3.txt test4.txt test5.txt outfile.txt
它说:
gcc: error: 500: No such file or directory
gcc: error: 5: No such file or directory
答案1
你似乎试图通过运行在编译时将参数传递给程序 - 据我所知,这不起作用。唯一接受的非选项参数gcc
是要编译的文件的名称。
由于您没有共享程序的源代码(或解释它如何处理参数),因此很难给出精确的说明,但您可能想要的是以下内容:
gcc findtopk.c -o findtopk
编译并链接你的程序;然后
./findtopk 500 5 test1.txt test2.txt test3.txt test4.txt test5.txt outfile.txt
使用参数列表来运行它test1.txt test2.txt test3.txt test4.txt test5.txt outfile.txt
。
关于 C 语言中参数解析的细节这里不作讨论,但网上有很多资源,例如