目次
1.关于底行模式的一个设置
1.1设置行号
1.2取消行号
2.简朴vim设置
2.1简朴认识
2.2设置选项
2.3其他分析
3.库的引入
3.1配景知识
3.2对应指令
3.3相干先容
3.4.o文件和库的链接
3.5静态库的安装和测试
3.6动静态库对比
1.关于底行模式的一个设置
1.1设置行号
这个设置可以让我们在文本编辑器上面誊写的代码的前面有行号的标注分析;
1.2取消行号
这个就是复兴成为默认的设置,不表现每一行的行号
2.简朴vim设置
2.1简朴认识
在目次/etc/的下面,有一个名字叫做vimrc 的文件,这个就是体系内里的公共的vim 设置文件,对全部的用户都是起效的;
但是在每一个用户的,目次下面都是可以家里本身的私有的设置的,不会影响其他的人,我们想要举行相干的设置,须要先切换到root目次下面,再通过cd ~指令到达相应的目次下面去;
实行#vim .vimrc#指令打开本身的目次下面的相干文件,举行对应的设置;
2.2设置选项
设置语法高亮#syntax on#
表现行号#set nu#
设置缩进的格数为4#set shiftwidth=4#
为什么这个地方尚有相干的对于这个行号的设置,和上面的第一个先容的行号的表现有什么区别,这个地方举行相干的设置之后,就算我们创建新的文件,这个新的文件上面也会有相应的设置,但是上面的谁人下令指示针对于其时所在的文件,并不会对全部的文件全部发挥作用;
设置完成之后就按照三个模式之间的相互切换直接生存退出就可以了,然后我们可以再次进入查察新的结果;
2.3其他分析
此中这个上面先容的cd ~表现的就是进入/root,我们在举行相干的设置的时间须要在这个/root下面举行设置,但是我们从这个平凡用户切换回到root的时间,默认的这个位置就是root内里的zzy(由于我们切换之前就是在这个zzy目次下面的,切换完之后还是在这个/home/zzy目次下面,这个是平凡用户的家目次,而不是root用户的家目次,我们想要直接切换到root内里的家目次,就须要在切换指令su -root,就是在这个root前面多加上了一个短杠,这个短杠不是和root连着的,两个之间是有一个空格的,固然我们也可以不添加这个短杠,在使用这个cd ~切换抵家目次下面去)反正就是我们须要在这个时间使用cd ~指令切换到/root这个路径和下面举行相干的利用;
3.库的引入
3.1配景知识
这个配景知识就是步伐实行的环节,包罗这个预处理惩罚,编译,汇编,实行,这个预处理惩罚就是这个宏更换掉,头文件睁开,解释取消掉,编译的话就是天生步伐的汇编指令,汇编就是把这个汇编指令天生这个呆板可以辨认的指令,链接就是把这个库和目标文件毗连起来,由于这个目标文件是不可以直接实行的,须要和库毗连起来才可以实行;
3.2对应指令
这个下面是一共展示出来了4组,分别对应上面的这四个过程,test.c就是我们须要运行的步伐,test.i就是颠末预处理惩罚之后天生的文件-E指令的作用就是让这个过程履历了预处理惩罚之后停下来就不要继续向下实行了,我们一样寻常把这个天生的预处理惩罚之后的文件叫做.i文件;
以此类推,这个-S的作用就是让这个.i文件颠末这个编译过程之后克制下来,不要向后继续实行了,这个过程实行后天生的文件我们一样寻常使用.s举行定名,-o就是一个指令,整个过程都是稳定的,背面跟的就是天生的文件的名字;
-c就是编译后文件颠末汇编就克制,汇编天生的文件一样寻常是.o文件,gcc使我们对于这个文件举行编译的过程;vim是查察这个每一个步调天生的文件的内容;.o文件的全称叫做可重定向目标的二进制文件,我们寻常简称为目标文件;
3.3相干先容
C语言内里的库就是一个尺度库,库内里有这个静态库和动态库
libc.so这个内里的lib就是前缀,.so就是后缀,这个名字现实上只有c,这个名字现实上是很短的(这个就是库本身的定名规则);
我们的体系上面,默认只会安装动态库,静态库是没有的;
编译型语言,下载安装包,肯定会安装头文件和库文件,如许编译器才会认识,我们才可以使用相干的方法(方法的实现就是在库内里的),库就是把我们的源文件颠末翻译打包,只提供一个文件,把源文件埋伏起来,加强这个代码的安全性;
头文件提供方法的声明,库文件实现方法的实现,加上我们写的代码,就可以形成可实行步伐(软件),库的作用就是让我们站在巨人的肩膀上,镌汰我们去做重复的工作;
3.4.o文件和库的链接
动态链接:动态库也叫做共享库,动态库不能确实,一旦动态库缺失,不但是影响一个步伐,很多的步伐都无法正常实行;这个地方实在蛋哥是讲了一个也别形象的故事的,但是这个故事比力长,这里我就不再赘述了,动态库的就是我们的步伐实行到某一个步调的时间,这个时间的步伐须要到这个静态库里实行一些步调(这个步调是这个步伐自身没有办法独立完成的),由于每一次实行到这个位置就会跳转到库内里去,因此这个动态库一旦消散,这个很多的步伐就会受到影响而没有办法实行;
静态链接:这个和动态的区别就在于,我们的步伐实行到这个无法独立完成的步调的时间,这个时间会把这个静态库内里的东西拷贝到这个步伐内里去,纵然这个静态库消散了,但是这个静态库内里我们须要的东西已经被拷贝到我们的步伐内里了,这个时间我们的步伐的实行是不会受到影响的,这个也是动态库和静态库的区别;
3.5静态库的安装和测试
动态链接调用动态库,默认的话也是使用的动态库,静态链接使用静态库,这个也是须要相互匹配的,但是我们可以修改这个默认的方式,就是须要额外的标注一下;
但是这个条件是我们的体系内里已经安装上这个静态库,但是没有利用的话这个体系内里只有动态库,须要我们本技艺动的举行安装;
C语言静态库:
C++静态库:
上面的这两个静态库我们都可以在本身的云服务器上面安装一下;
我们不想使用动态库,这个时间我们可以备注使用我们本身安装上去的静态库,背面加上这个-static标注;
我们通过ll指令可以看到这个静态库的文件是比力大的,以是一样寻常我们不会使用静态库,使用默认的动态库就可以了;
3.6动静态库对比
动态库叫做共享库,有效的节省资源,形成的可实行步伐体积小,从而节省这个磁盘的空间,未来的时间,我们的可实行步伐要加载到内存内里,这个就可以变相的节省内存,别的可以节省网络空间,但是缺点就是一旦动态库缺失,很多的步伐就不可以实行;
静态库,不依赖,步伐可以独立的实行(由于对应的库内里的文件已经被拷贝到我们的步伐内里了),但是体积大,比力斲丧资源(内存,网络空间等等);
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |