加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 关于argc(不知道这是什么意思)

发布时间:2020-12-16 10:08:22 所属栏目:百科 来源:网络整理
导读:这是一个相当简单的问题,但我不能放过它.我最近又开始和C一起工作(开始时并没有非常有经验)所以我可以更好地理解幕后发生了什么.我当然知道argc和argv,当传递给main()时,分别代表参数count和参数vector.我想弄清楚的是编译器如何知道将int argc解释为从命令
这是一个相当简单的问题,但我不能放过它.我最近又开始和C一起工作(开始时并没有非常有经验)所以我可以更好地理解幕后发生了什么.我当然知道argc和argv,当传递给main()时,分别代表参数count和参数vector.我想弄清楚的是编译器如何知道将int argc解释为从命令行传递的参数数量.如果我编写一个试图模仿main的简单函数(即int testfunc(int argc,char * argv []))并传入一个字符串,编译器会抱怨“Expected’int’但参数类型为char *”正如我所料.当命令行参数传递给main()时,这有何不同的解释?

解决方法

在常见的C实现中,main不是进程启动时调用的第一个例程.通常,它是一些特殊的入口点,如_crt0,它是由链接它时程序中内置的C库提供的.此特殊入口点的代码检查传递给它的命令行信息(以某种方式在C之外,特别是操作系统)并构造main的参数列表.在那之后和其他工作,它称为主.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读