我怎样才能给命令行参数,而不使用扩展名,不是./a.out 3 4,但是喜欢./a 3 4
问题描述:
int main(int argc, char *argv[])
{
if (argc < 2) {
printf("missing argument\n");
exit(-1);
}
printf("%s %s %s", argv[1], argv[2]);
return 0;
}
只是想给像./a 3 4这样的命令行参数而不使用.out在linux终端谢谢!我怎样才能给命令行参数,而不使用扩展名,不是./a.out 3 4,但是喜欢./a 3 4
答
假设你的源文件是a.c
,只需使用-o
( “输出”)标志,当你编译它,就像这样:
cc -o a a.c
或者,如果你已经做了
cc a.c
意义它默认为a.out
,您可以随时重命名它:
mv a.out a
当然,你可以叫它任何你想要的:
cc -o mytestprogram a.c
只是不要在名称中的.out编译它? – Annabelle
没有它说./a目录中没有这样的文件,但如果我用./a.out运行它可以正常工作 –
'gcc'接受'-o'标志,允许您将'a.out'重命名为任何你要。 – Jonesinator