linux main函数解析参数,Linux下main函数参数的解析

  • Post author:
  • Post category:linux


在linux下些c程序时经常都这样写main函数,例如int main(){}

其实对于main函数的声明为int main(int argc,char* argv[],char* env[]);我很少见,但这次去出现了,因此我特别说一下这个函数的功能,希望对学习c的朋友能够有帮助 1、argc代表该程序运行是参数的个数(如 ./test 1 2 3其参数个数为4 也就是字符串个数)

2、argv代表这些参数(字符串)(如 ./test 1 2 3中argv[0] = ./test ,argv[1] = l, argv[2]=2, argv[3]);

3、env代表的是环境变量的字符串(各种路径)如下。

env[0]=./test env[1]=ni env[2]=si env[3]=(null) env[4]=TOMCAT_HOME=/usr/local/apache-tomcat-5.5.34 env[5]=SSH_AGENT_PID=3502 env[6]=HOSTNAME=localhost.localdomain env[7]=DESKTOP_STARTUP_ID= env[8]=TERM=xterm env[9]=SHELL=/bin/bash env[10]=CATALINA_HOME=/usr/local/apache-tomcat-5.5.34 env[11]=HISTSIZE=1000 env[12]=GTK_RC_FILES=/etc/gtk/gtkrc:/home/CLanguage/.gtkrc-1.2-gnome2 env[13]=WINDOWID=31457361 env[14]=CDPATH=/home/CLanguage:/home/CLanguage/bin:/home/CLanguage/lib:/home/CLanguage/src:/home/CLanguage/tmp:/home/CLanguage/log:/home/CLanguage/src/libsrc:/home/CLanguage/src/include:/home/CLanguage/src/libsrc/public env[15]=USER=CLanguage env[16]=LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35: env[17]=CLASS_PATH=.:/usr/jdk1.6.0_29/lib:/usr/jdk1.6.0_29/jre/lib: env[18]=GNOME_KEYRING_SOCKET=/tmp/keyring-DPLs3q/socket env[19]=SSH_AUTH_SOCK=/tmp/ssh-AaVzwg3467/agent.3467 env[20]=SESSION_MANAGER=local/localhost.localdomain:/tmp/.ICE-unix/3467 env[21]=USERNAME=CLanguage env[22]=MAIL=/var/spool/mail/CLanguage env[23]=PATH=/usr/kerberos/bin:/usr/local/apache-tomcat-5.5.34/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/jdk1.6.0_29/bin:/usr/jdk1.6.0_29/jre/bin:/home/CLanguage/bin env[24]=DESKTOP_SESSION=default env[25]=QT_IM_MODULE=scim env[26]=GDM_XSERVER_LOCATION=local env[27]=INPUTRC=/etc/inputrc env[28]=PWD=/home/CLanguage/tmp env[29]=JAVA_HOME=/usr/jdk1.6.0_29 env[30]=XMODIFIERS=@im=SCIM env[31]=LANG=zh_CN.UTF-8 env[32]=GDMSESSION=default env[33]=SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass env[34]=SHLVL=2 env[35]=HOME=/home/CLanguage env[36]=GNOME_DESKTOP_SESSION_ID=Default env[37]=LOGNAME=CLanguage env[38]=CVS_RSH=ssh env[39]=DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-B8dn7KFAEd,guid=6be4da3bb5334c43df13d5004ed2da47 env[40]=LESSOPEN=|/usr/bin/lesspipe.sh %s env[41]=DISPLAY=:0.0 env[42]=GTK_IM_MODULE=scim-bridge