日期:2014-05-16  浏览次数:20764 次

linux中int main(int argc, char *argv[])实现什么作用
想知道linux中用这样的main()函数有什么作用,例如:
int main(int argc, char *argv[])
{
int ShmSysId,ProcId;
//unsigned char rtn;

if (argc < 3)
return ERR_PARAMETER; //必须输入端口号和共享内存号

ProcId = atoi(argv[1]); //进程号
ShmSysId = atoi(argv[2]); //共享内存id号

Initialize(ProcId, ShmSysId);
printf("$$$$$$ dsp600 process %d is running! \n", ProcId);
}
然后main函数return后结果是什么?

------解决方案--------------------
return退出进程。。。

argc,argv是命令行参数。。。你最好买一本《UNIX环境高级编程》。
------解决方案--------------------
这个得怪谭浩强了,这么基础的东西仅仅一笔带过,而且他的示例通篇是main()。
在Linux下,argc可以看做是传递给Shell解释器的命令行参数个数,包括程序名本身。argv是个二级指针,或者认为是指针数组。
#ls -l -h
上例中,argc是3,argv[0]是ls,argv[1]、argv[2]分别是“-l”、“-h”。
------解决方案--------------------
int main(int argc, char *argv[])
一般都是动态获得参数,不想把某个或多个参数写死(一个客户端程序登录IP或端口不同的服务器),等每次运行时,实时输入。