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

免费做国际贸易的网站广告开户

免费做国际贸易的网站,广告开户,免费h5游戏制作平台,广告公司电话号码上篇文章:Linux基础3-基础工具1(什么是工具,yum,vim基础)-CSDN博客 本章重点: 1. vim详解 2. gcc详解 目录 一. vim详解 1.1 命令模式 1.2 插入模式 1.3 底行模式 二. gcc/g 2.1 程序的翻译过程(c/c代码执行过…

上篇文章:Linux基础3-基础工具1(什么是工具,yum,vim基础)-CSDN博客

本章重点:

1. vim详解

2. gcc详解

目录

一. vim详解 

1.1 命令模式

1.2 插入模式

1.3 底行模式 

二. gcc/g++

2.1 程序的翻译过程(c/c++代码执行过程)

2.2 gcc/g++使用说明 

2.3 动态链接与静态链接

2.4 查看Linux文件的链接方式和使用的标准库

2.5 gcc/g++直接生成可执行文件

2.6 gcc使用静态链接

三. 下章重点 

3.1 自动化构建工具make,makefile

3.2 Linux调试器gbd的使用


一. vim详解 

        我们知道vim常用的三种模式(命令模式,插入模式,底行模式)。这三种模式的转化图如下

1.1 命令模式

总结比较常用的vim命令

定位操作

        shift + 4($符号)将光标定位到该行的末尾(行右

        shift + 6(^符号)将光标定位到该行的行首(行左

        shift + g(G)      将光标定位到底部(底部

        gg                         将光标定位到顶部(顶部

文件操作

复制:文件所在行输入 yy,n(数字)+yy可以复制n行

粘贴:文件所在行输入p(输入p只粘贴一次,输入n+p会粘贴n次)

删除:文件所在行输入dd,n + dd可以删除n行

剪切:在一个光标所在处输入dd,在林另一个光标所在处输入 p

撤销:输入 u

取消撤销:ctrl + r

编辑操作 

文件所在行替换大小写:shirt + ~

批量化替换:shift + r 进入替换模式即可

行内删除:x向左删除,X向右删除(可以输入n删除n个,并且支持使用p进行剪切)

1.2 插入模式

        命名模式输入 i 或o或 a 即可进入插入模式,插入模式下直接输入即可插入文本

1.3 底行模式 

        命名模式下输入 shift : 即可进入底行模式。

w 写入        q 退出        wq 写入并退出        w!强制写入        q!强制退出

vs + 文件名        可以分屏(但无论分多少屏幕,都只有一个光标)

ctrl w w即可切换到其他屏幕。

! 加 shell 命名 即可在不退出文件的情况下执行linux命令

%s/printf/cout/g        即可将printf都替换成cout

二. gcc/g++

        gcc/g++是Linux中的编译器。用于编译c/c++代码

2.1 程序的翻译过程(c/c++代码执行过程)

1. 预编译:去掉注释,头文件展开,宏替换,条件编译

2. 编译:检查语法,将代码转换为汇编代码

3. 汇编:将汇编代码转化为可重定向的二进制机器指令(不可执行的二进制目标文件)

4. 链接:链接多个二进制目标文件,形成可执行的目标文件

2.2 gcc/g++使用说明 

例如:我们想编译运行下列代码,文件名字为 test.c

#include<stdio.h>int main()
{printf("hello wolrd!\n");return 0;
}

1. 预编译

gcc -E test.c -o test.i -E #执行程序的预编译工作,完成后停下来-o #指形成文件的临时文件名称

2. 编译

gcc -S test.i -o test.s-S #表示完成程序的编译阶段,变成汇编代码之后,停下来

3. 汇编

gcc -c test.s -o test.o#完成程序的汇编工作,生成可重定向的不可执行二进制文件。停下来

4. 链接

gcc test.o -o test#链接的过程,将库中的代码和我们自己写的代码链接起来,形成可执行的二进制文件

5. 运行test

./test# ./ + 可执行二进制文件    即可运行

2.3 动态链接与静态链接

        链接的本质(关联我们的代码和库代码)

        我们写代码只是写了代码的调用,没有写对应的实现。只有当我们链接库代码之后,标准库的实现代码才能和我们的代码关联

动态链接:讲我们的程序和通过连接器和标准库关联,需要使用标准库的时候去标准库中找

静态链接:链接的时候,不和标准库关联,而是在我们程序内部,将要用的方法,给我们拷贝一份,就完成了静态链接

        动静态链接的优缺点:

动态链接:由于没有拷贝,形成的可执行文件非常小,节省资源(占用内存,磁盘小,也方便别人下载)。

静态链接:不受库文件的升级或者删除,但是形成的可执行文件非常大,且如果有多个可执行文件,会造成代码高度重复。

2.4 查看Linux文件的链接方式和使用的标准库

前置知识:

1. Linux文件库的命名

动态库:libxxxxx.so

静态库:linxxxxx.a

2. file + 文件 (可以查看文件的链接方式)

3. ldd + 文件 (可以查看文件使用的标准库)

 C语言

C++

从图中也可得出:gcc/g++ 默认使用的是动态链接

运行结果如下:

2.5 gcc/g++直接生成可执行文件

gcc test.c -o test
# gcc .c文件 -o 可执行目标文件
# 即可直接生成可执行文件

举例:

2.6 gcc使用静态链接

        1. 如果没有下载.c静态库需要先下载

        2. 使用静态链接

gcc test.c -o test.s -static# gcc 代码文件.c -o 可执行目标文件 -static
# 目标文件可以使用.s进行标识

举例:

可以看出静态链接的可执行文件非常大

test.s 比 test 大 100倍左右

静态链接无法ldd

使用file进行查看,为静态链接

像shell python 这种脚本语言在linux中可以直接运行

甚至使用chmod+可执行权限就能直接运行

三. 下章重点 

3.1 自动化构建工具make,makefile

3.2 Linux调试器gbd的使用

http://www.hkea.cn/news/731354/

相关文章:

  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统