00:00
这个Windows平台下面的这些应用啊,或者是这个开发环境的一些使用,那这里面给大家保存一下,那我这里面还需要给大家介绍一个新的知识,就是这个。我们调用一个系统的函数,这个函数叫什么呀?叫叫。STEM啊,STEM是什么呢?是使用你看下这个功能啊,这个功能是什么?是在运行程序中执行另外一个外部程序,这个外部程序一定要注意一下,一定是系统自带的一个外部程序,或者说你已经写好的一个外部程序,从我这里面去唤醒它啊,你看啊,这里面需要导一个通文件,这个通文件什么名。Std标准库是不是啊?B,这是什么?Library什么意思啊?啊,图书馆是不是就是我们就是就知道这是一个什么,就系就是标准的系统库就行啊lab库啊,一般情况下就叫lab库,时间长了就就就说lab库就可以了,那这是它里面的东西,我想使用这个system这个函数必须怎么的,必须这个去这个加入这个图文件是不是就可以了,那那我们实验一下啊,在这个VS里面。
01:01
VI,刚才有个a.C了,我叫b.C啊,写一下井号in ru,然后是 stdlab.H。啊,然后是主函数MN括号。PTF打印一下。啊,这不不是sorry啊,这这习惯了是不是,那我们这叫什么,这叫SYSTEM是不是,这是这个函数是不是函数怎么使用呢?是需要调一下其他的什么,其他的这个呃,程序或者应用是吧?那我们在这个这个呃,Linux里面会调用咱们之前用的一些东西,比如说。啊啊,RR也行,LR这是不是一个系统的命令,它是不是本身就是个应用程序啊,其实在我们这个理解中,可不可以把这个LR当成一个l.eXE存在啊,可以是不是,那我们直接调一下它就可以,然后程序怎么的结束就是什么,就是re tu。RN程序结束,但其实如果说你在主函数中,那如果没有什没有这个return,它到这什么它到这个括号这为止,它也就会自动的将什么程序结束掉,知道吧啊,因为函数运行完成就结束掉了,那这写完了,那我们运行一下啊。
02:11
啊是GCC-O然后是什么,然后是。B,然后是b.tb.c啊执行一下啊没有问题,那我当我在执行什么执行在这个是B的时候,它就完成了我的哪项功能啊看啊是不是查看诶。啊,没有找到啊,这这个好像是不可以的,等一下我再改回去啊VI呃b.C那我得需要改成这种格式啊,因为这个它不是一个这个什么呀,不是这个命令只是一个缩写而已啊。应该是LS-al这个是不是它俩同样的东西啊,我们再试一下看行不行啊,然后是重新编辑一下这个程序,然后再重新一下我们程序看一下,就是点七-B点这个,呃,程序它执行的就是什么执行这个是我们这个。执行LL什么L-LS-al的这个内容是不是,那比如说我想做什么操作,是不是直接写个点B是不是就可以这个过去了,但是我们现在写的点B只是对应的是哪一个文件,我们用RR来查看一下对应的是不是这这这个什么这块这个应用程序啊,那前面跟大家说了,说有一个程序就是在哪啊,在那个咱们在哪看到的那个就是。
03:21
呃,W。呃,C。这事儿。不是,这叫什么写着。就叫位置怎么写了,W wh I吧,是不是I ch是不是这个位置啊,不是这个写错了啊,位置后面加一个命令是不是就能查看这个命令所在位置啊是吧,是LS所在是这个B下面RS,那我们可以怎么的可以是呃。CD。然后是。呃,斜杠,呃B,然后这是一个路径嘛,啊到这路径里面查看一下,这里面是不是有这个LS,呃,这里面还有什么my cat是不是,那我们这里面怎么的,这里面是不是可以怎么的,可以这个把我们的应用程序放在这里面来了,放在这里面来会有什么好处呢?就是我无论在我当然指的是我这个当前用户啊,这个所有的这个B文件是对我当前用户来说的啊。
04:18
我无论在我的用户哪面使用的时候,都可以用什么,都可以用这个,呃,这个B点东西了,就不用在乎这个,我这个程序放在哪儿了,是不是啊啊,因为我们把它放在哪个文件中了,放在这个B文件中了,是不是刚才使用的时候自动就找到这个B文件中的什么这个文件了吧,它就可以去使用了,没听明白,我再说一遍啊,就是说我们那个应用程序写完之后是放在我们原本那个文件夹中了,是是只能在我们原本文件夹中去使用,是不是除了这个地就使用不了了,是不是,那我们可以把它放在什么这个B下面之后,它就作为一个系统的什么。工具去使用了吧,是不是,那拿过来之后就可以怎么呢?给他remove到remove到这里面来,比如说这之前我写了个什么埋开的,那这样写完之后方呃有两点优点就是什么呢?我在执行这个程序的时候,你比如说我再回去啊是CD。
05:04
CD0223,然后斜杠D03。我在这个执行程序之前,你看每次都是点斜杠什么呀,B是执行什么当前目录下面这个东西,那我直接写个B执行的情况下,虽然说也有啊,但是一般情况下你们那个是没有的,为什么?因为我修改了一个配置文件,因为就是昨天不说了,有个配置文件修改了嘛,可以把应用程序直接执行,你们那里面怎么着没有这个应用程序,所以说你可以怎么着就是。直接写B就可以运行程序了,是不是啊,同样,那在其他地如果要使用这些东西,是不你可以拿过来就用了啊,这这两点啊,这调用system这些东西,然后一会这东西呃,就是怎么去修改的,一会儿发给大家啊,先不用着急,那那我们再继续说啊,这里面是VIb.C这个程序。这里面C某调用完之后,它还有一个东西是什么,是它的返回值知道吧,那比如说我我唤醒一个系统应用程序,是不是到底有唤没唤醒成功啊,是不是我可以做一些其他搜索,比如说这个某些这个工具是不是一点开能唤醒这个,比如说什么这个,呃,打开一个记事本啊,或者是什么东西,但是做存储的东西是不是啊,那那它这里面会有这个返回日操作,那我们看一下这里面对应的这个。
06:16
返回值,那返回值是什么类型的,我们看一下这里面写的什么。Int是不是整形,那它得到结果一定是整形的,但是这里面我们可以通过什么,可以通过这个int去接收这个值,然后把这值打印出来,那看一下这个果为多少啊,可以这样写。Int。Int,然后是定义一个变量,这个变量我随便写个,比如说叫叫结果v lue value,让它等于什么,等于system过来获取来的结果,然后我把这结果打印出来,但打印出来的时候,我这里面需要怎么办呢?需要是不是导入通鉴,导入哪个通鉴呢?N include,然后是std。i.H就是导入这个通文件,然后这里面可以打印了啊,看一下打印的结果啊PTF我这面可以写中文啊是。
07:03
呃,调用。嗯。LS。返回值。返回值为冒号,然后是百分号D,这是什么?这是一个站位符占哪个位置呢?占那个我要输出的一个结果,那为什么不能把直接结果直接就是这个结果是什么结果Y6直接输入呢?因为这里面是个什么,是一个字符串是不是,那这里面就显示就显示Y6的本意了,就是v lue是打印出来了是不是,所以用占位符占一下,那这里面百分号D占位的是一个什么类型,是一个int类型,那我把这个Y6写一下,Vlue写一下。然后分号看一下,这是代表成绩结束了啊,然后保存一下,看一下结果有没有重新编辑一下。DCCC-O然后是bb.c编辑一下程序,如果没有问题,我执行一下什么,执行一下我这个程序也是B的这个程序,那我看一下这个结果打印出来什么是这个,这是它C他执行的一个命令,然后怎么的,然后是啊,你看一下,那我们这些呃执行的一个程序,执行的过程,那我们先分析啊,那一定是先执行了C那句话是不是RL,那程序也执行了一遍,是不是执行完了这一遍之后,我们程序怎么的,还得往下走,是不是走哪句话了,是不是走到它那个下面那句话了啊,然后把这个结果打印出来,这个结果为几啊为零,那一般情况下,你看到我写代码的时候VI,然后是b.C。
08:23
都怎么的?Re,零,这真是有特殊含义的,这个当然不是系统规定,是我们自己规定的,为什么要这样规定呢?程序员把所有写对的东西就让它返回零知道吧?那比如说这里面要返回一个什么,返回一个。啊,就在这边找一下啊,呃呃,比如说比如说还还有一句话啊,就是这俩是同级别的话啊,返回个负一,那代表比如说这个大家都知道连不上网了,返回个404错误,这是什么呀。打不开网页是不是啊,返回502错误,服务器异常是不是啊,其他都都每个都有个编号是不是,那我们这里面可以规定,比如说负一是什么,什么程序错误啊,什么负二是联名不上服务器啊,是不是我们能根据这个反馈值知道我们自己代码到底错哪儿了,知道吧?啊,比如说我再拿个程序调用,比如说调用这程序得到结果是零,那知道对了是不是啊,其他的结果那可能就错了,知道吧,就是程序员自己去规定这个东西的,不是说我们这个想写什么就写什么啊。
09:20
当然你这个里面return情况下,你可以这个不写知道吧,这样不写也能对啊,但是一般情况下都有一个分值为零代表程序的。执行成功,那好,那我们再看一下啊,这里面在C,他的返回结果它并不一定能作为一个评判的标准,为什么?因为不同的系统返回的结果是不一样的,这啥意思呢?就是我们一般情况下,在这个Linux里面,返回零代表什么,代表成功是不是,或者说我们认为零就成功了,但是这个结果它可能不一定是零,知道吧,那为什么呢?因为咱们遵循的这个协议是不同的,这什么协议呢?这个叫pro协议,咱们在讲的时候,第一天是不是跟大家说过这个协议啊,这个协议就跟你规定很多东西啊,比如说这个函数啊,返回零是成功的,返回其他东西是错的是吧?这协议这么规定的,但有些怎么的,有些系统。
10:07
他就遵循这个协议,但有些系统它怎么它就不遵循,或者是怎么支持的,比较差是什么,比如说这个unix和Linux很多库都支持这个协议。啊,但是Windows里面支持这个库协议就怎么比较差,是不是,所以说这个你不能把它作为一个评判的标准,但是知道它有这个反应值,那好,那我们再用这个system,它在这个Windows里面给大家演示一下。演示一下这个结果啊,那我们打开什么,打开这个一个程序啊,这是之前写的吧。嗯,A的开心。啊,这个给它关掉吧,我们自己再写一个。右击选择新建一个文本,文档是有B吗?没有吧?b.C。啊,确定,然后是右击打开方式,选择记事本。井号in include,然后是 TDlab.H。
11:01
Int类型,MN括号。嗯。SYSTEM。这里面我现在做的操作是在哪里做的,是在这个Windows里面做的,我要唤醒,那也唤醒Windows下面的什么可执行程序是不是啊,那我Windows下面可执行程序是对应哪了?对应CMD里面的可执行程序,这里面这个之前有一个资料已经发给大家了,看一下这里面是第一天发给大家哪个资料啊,给找一下,这里面有个CMD这个命令,看到了吧?啊,CMD这里面有很多命令啊,我们都可以通过C来运行那个那个命令,比如说这里面有什么计算器,是不是clc啊,可以运行是或者是这个经常你看我操作情况下用的什么用的这个。呃,是notpad是不是就记事本啊,或者是MS图,是不是这些东西全在这里面,或者是这个是什么,那个是。咋了?呃,Re,去接。注册对注册表或者MMC是那个控制台是不是都可以去打开啊,这里面有很多东西都可以去打开系统的东西。
12:04
那我们这里面给大家演示一下啊,这里面是。呃,System,然后去调用,先调用什么,先调个clc,因为为什么调用这个clc呢?因为这个clc是都有的是吧,每个电脑都带了,那你可以再再给他怎么着,呃,结束rey程序结束,返回一个零的值。那这样情况下,我们程序写完了,写完同样我需要拿拿出什么,拿出这个CMD给他怎么样。编辑一下那是什么,是这个GCC,然后是杠O,然后是。程序吧,啊,拖拽过来可以,是不是exe是不是改完,然后再再拽过来一个一个什么呀,一个。一个b.C是原文件,是不是中间加空格吧,啊少空格好执行一下没有问题,是不是这里面出了个什么,出了一个这个。b.ESE应该是找一下啊,b.ESE是不是有啊,同样我们打开这个CMD去运行我们程序b.EE看一下回车之后能有什么操作。
13:08
啊,我的计算器反应慢啊,不是说没反应啊,是不是计算器,这是打开计算器啊,啊,这是怎么呢?通过这个什么,通过我们自己程序去调用系统的这个什么系统的这个啊。系统的一些这个叫啥了啊,系统的一些工具吧,系统的工具啊,但是这里面我们再看一下什么,再看一下它的返回值啊,谁的返回值就是b.B点什么呀。b.C的这个返回值啊,右击选择打开记事本。同样啊,再加上两句话,代码井号in。C,然后是。stdlo.h,因为显示结果我需要怎么样需要这个?哎,你看这这光标定位是不是多快是不是。然后是SYS,呃,不是,是坤的。嗯。返回值结果,这打印中文也很好,也很快返回值结果。
14:03
冒号百分号D,然后斜杠N。分号,然后这里面写个逗号v lue y0,在这里面写个什么int类型的v lue啊,等于零,那这个结果是可能是几啊,可能是零,也可能不是零,所以说这个结果就不固定了,知道吧,那那我们看一下啊,给它运行啊,给它运行一下啊。打开这个还需要重新重新执行一下这个。3D可以通过这个上键找,诶找历史命令怎么找不到呢?关了关了找不到了,这个GCC,然后是杠O,然后是。b.C然后是。b.exe然后是b.C。好执行一下,执行完成之后,直接把这个呃B这个拖拽过来,行运行一下。他得先打开计算器之后才能执行我们的句话吧,啊,你看这个返回结果它也是零是不是,但你别把它作为一个参考标准啊,这是我们这个通过这个system打开的计算器啊,这是system返回结果不一样啊,当然我们可以做图形化的界面,先把这保存下。
我来说两句