| 
 | 
 
 
发表于 2021-12-13 18:28:37
|
显示全部楼层
 
 
 
 
argv[0] 是执行程序时候的名字,用哪个名字运行的这个程序,argv[0] 就是那个名字 
如果用gcc编译器编译代码的时候没有指定名字,默认就是a.out 
 
- $ ls
 
 - main.c
 
 - $ cat main.c
 
 - #include <stdio.h>
 
  
- int main(int argc, char **argv)
 
 - {
 
 -     printf("这是 int argc: %d\n", argc);
 
  
-     printf("这是 char **argv: ");
 
 -     for(int i = 0; argv[i]; i++){
 
 -         printf("%s\n", argv[i]);
 
 -     }
 
  
-     return 0;
 
 - }
 
 - $ gcc -g -Wall -o main main.c
 
 - $ ls
 
 - main  main.c
 
 - $ ./main
 
 - 这是 int argc: 1
 
 - 这是 char **argv: ./main
 
 - $ mv main a.out
 
 - $ ls
 
 - a.out  main.c
 
 - $ ./a.out
 
 - 这是 int argc: 1
 
 - 这是 char **argv: ./a.out
 
 - $ ln -s a.out abcd
 
 - $ ls
 
 - abcd  a.out  main.c
 
 - $ ./abcd
 
 - 这是 int argc: 1
 
 - 这是 char **argv: ./abcd
 
 - $ ls
 
 - abcd  a.out  main.c
 
 - $ rm abcd a.out
 
 - $ ls
 
 - main.c
 
 - $ gcc -g -Wall main.c
 
 - $ ls
 
 - a.out  main.c
 
 - $ ./a.out
 
 - 这是 int argc: 1
 
 - 这是 char **argv: ./a.out
 
 - $
 
  复制代码 
 
你上面贴的那个图片中的软件叫什么名字呀? 
看起来挺不错,可以比较两个代码的不同? 
 |   
 
 
 
 |