• 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都是大小写敏感的系统,这点一定要注意。

  • 相关阅读:
    java基础---->摘要算法的介绍
    startActivityForResult的用法和demo
    Java 获取类名,函数名,行数
    android ListView详解继承ListActivity
    Java List 如何传值
    synchronized的使用方法
    StringUtil
    【转】Java 5种字符串拼接方式性能比较。
    [Android] Intent详解
    TabHost详解
  • 原文地址:https://www.cnblogs.com/ricks/p/10018248.html
Copyright © 2020-2023  润新知