zoukankan      html  css  js  c++  java
  • int main(int argc,char* argv[])浅析

    int main(int argc,char* argv[])浅析

    argc : 指输入参数个数,默认值1,就是执行程序名称

    argv[] : 输入参数数组指针

    举个栗子:

    1. 编写一个argc.c文件如下

      1 #include <stdio.h>
      2 
      3 int   main(int   argc,   char*   argv[])
      4 {
      5      int   i;
      6      for(i = 0; i<argc; i++)
      7         printf("argv[%d]= %s 
    ", i, argv[i]);
      8      return   0;
      9 }

    2. 再编写一个Makefile文件如下:

    1 #cc=gcc
    2 argc : argc.o
    3      cc -o argc argc.o
    4 argc.o : argc.c
    5      cc -c  argc.c
    6  
    7  .PHONY:clean
    8  clean:
    9      rm -rf argc.o argc

    3. 编译代码,生成可执行文件argc

    1 ricks@ubuntu:~/share/test/argc$ make
    2 cc -c  argc.c
    3 cc -o argc argc.o
    4 ricks@ubuntu:~/share/test/argc$ ls
    5 argc  argc.c  argc.o  Makefile

    4. 运行可执行文件

    1 ricks@ubuntu:~/share/test/argc$ ./argc aaaa bbb cc
    2 argv[0]= ./argc 
    3 argv[1]= aaaa 
    4 argv[2]= bbb 
    5 argv[3]= cc 
    6 ricks@ubuntu:~/share/test/argc$ ./argc
    7 argv[0]= ./argc 
    8 ricks@ubuntu:~/share/test/argc$ 

    5. 从运行结果可以看出,argc默认值是1,就是可执行文件名称,不过还带了路径名”./“ .

    NOTE:

    gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。

  • 相关阅读:
    非阻塞式线程安全列表-ConcurrentLinkedDeque
    计数器
    Linux 查看服务器内存使用情况
    Oracle to_date, to_timestamp
    Hibernate session.flush() 使用
    阿里规约认证(题库附答案)
    多态性
    Java数据类型
    String类特点分析
    数组的定义
  • 原文地址:https://www.cnblogs.com/ricks/p/10018248.html
Copyright © 2011-2022 走看看