我怎样才能给命令行参数,而不使用扩展名,不是./a.out 3 4,但是喜欢./a 3 4

我怎样才能给命令行参数,而不使用扩展名,不是./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

+4

只是不要在名称中的.out编译它? – Annabelle

+0

没有它说./a目录中没有这样的文件,但如果我用./a.out运行它可以正常工作 –

+2

'gcc'接受'-o'标志,允许您将'a.out'重命名为任何你要。 – Jonesinator

假设你的源文件是a.c,只需使用-o( “输出”)标志,当你编译它,就像这样:

cc -o a a.c 

或者,如果你已经做了

cc a.c 

意义它默认为a.out,您可以随时重命名它:

mv a.out a 

当然,你可以叫它任何你想要的:

cc -o mytestprogram a.c