当前位置: 首页 > news >正文

信宜网站设计公司迷糊娃 wordpress 主题

信宜网站设计公司,迷糊娃 wordpress 主题,洪梅网站建设,1688外贸平台大家好,我是苏貝,本篇博客带大家了解Linux进程(5):命令行参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 (A)为什么要有命令…

大家好,我是苏貝,本篇博客带大家了解Linux进程(5):命令行参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


目录

  • (A)为什么要有命令行参数
  • (B)谁将命令行参数传递

在我们学习C语言的时候,我们的main函数都是不带参数的,其实main函数也可以带参数
在这里插入图片描述

这两个参数的意义是什么?
argc是int类型的,它表示的是命令行参数的个数(不需要用户传递,它会根据用户从命令行输入的参数个数自动确定)
第二个参数明显是指针数组,每个元素的类型是char*,这说明每个元素指向的要不是字符,要不是一个字符串,它的作用是存储用户从命令行输入进来的参数。

让我们通过代码来详细了解一下

先写.c文件
在这里插入图片描述

执行下面的程序
在这里插入图片描述

第一个只输入./myprocess,所以argc为1
第二个输入./myprocess和-a,它们以空格分隔,所以argc为2
第三个的grgc为3……

根据上面的代码,我们能够感觉到,数组argv是个变长数组,最后一个元素指向NULL,argc是数组的非NULL元素个数,我们以./myprocess -a -b -c为例
在这里插入图片描述

我们上面说过,./myprocess -a -b -c是命令行字符串,也是命令行参数。在我们命令行输入的时候,Linux中会有一些内部的功能将输入的整体的字符串打散成4个字符串:./myprocess ,-a,-b和-c(它们之间以空格作为分隔符)。然后让数组argv的元素分别指向它们,最后以参数的形式传递给main函数
在这里插入图片描述

Linux是如何实现将一整个字符串打散成多个字符串的呢?其实就只需要将分隔符(空格)全部设置为‘\0’即可

现在来证明一下数组argv最后一个元素是NULL

修改.c文件,如果argv最后一个元素是NULL,也就是0,那么循环会停下来。
在这里插入图片描述
在这里插入图片描述

进程不会死循环,所以argv最后一个元素是NULL

(A)为什么要有命令行参数

了解了命令行参数后,我们来思考一个问题:为什么要有命令行参数?
命令行参数的本质:交给程序不同的选项,用来制定不同的程序功能。比如:ls -a和ls -l中因为选项不同,功能就不同。我们再自己写一个有不同选项的程序

修改.c文件

在这里插入图片描述

上面代码的意思:当命令行参数不等于2时,会提醒输入./myprocess和-[a,b,c,d]中任意一个选项。当等于2时,对每一个选项都会打印出不同的语句
在这里插入图片描述

(B)谁将命令行参数传递

修改.c文件,其中,g_val是全局变量
在这里插入图片描述

在这里插入图片描述

根据结果,我们知道,父进程的数据g_val,默认能被子进程看到并访问

通过前面的学习,我们知道,命令行中启动的程序,都会变成进程,且都是bash的子进程
命令行参数默认是输入给父进程bash的,bash再命令行解释,将命令行参数变成main函数的2个参数。所以,是bash传递命令行参数

又父进程的数据,默认能被子进程看到并访问,所以子进程能看到这张表

在这里插入图片描述


好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

http://www.yayakq.cn/news/279271/

相关文章:

  • 公司需要做网站需要什么流程网站如何收录快
  • 蒙阴县建设局网站开发一个平台app需要多少钱
  • seo整站优化哪家专业wordpress yii
  • 绍兴网站建设做网站影楼修图
  • 中小型网站建设与网络搭建网站后台的seo功能
  • 电子商务网站 功能一个人做网站难吗
  • 广州门户网站建设营销型网站公司
  • 网站开源程序nat123做网站 查封
  • 加盟类网站怎么做一个网站交互怎么做的
  • 做网站之前需要准备什么软件wordpress主题的连接函数
  • 网站安全管理制度华为vi设计手册ppt
  • 申请一个域名可以建设一个网站吗重庆建设摩托车股份有限公司官网
  • 2021不良正能量免费网站app怎么百度推广
  • 收费网站模板软件下载网站地址
  • 百度网站登录入口六安钢铁吧
  • 正规品牌网站设计地址浙江省网站集约化建设
  • 游戏型网站开发微信小程序设计与开发
  • 开发网站培训班海城网站设计
  • 快递网站策划怎么做ppt网络营销品牌平台排行
  • 网站建设费用如何入账我的世界有什么做的视频网站
  • 五金网站制作爱站小工具圣经
  • 建设包包网站的目的怎么做简历的网站
  • 网站建设与管理适合男的还是女的安卓app做网站外壳
  • 网站建设黄页免费在线观看网站制作模板代码
  • 一个网站可以有几个域名wordpress主题模板怎么用
  • 前端和做网站qq空间网页版登录入口
  • 保洁公司做网站有什么作用织梦网站上传路径不对
  • 长春做网站要多少钱一个服务器可以建多少个网站
  • 网站搭建徐州百度网络乐陵天气预报
  • 想开网站建设公司做相框的网站