关注分享主机优惠活动
国内外VPS云服务器

使用用于Linux环境的基本开发工具(Linux环境编程:应用到内核)

摘要:立即按下它。 按以在光标位置删除单词,然后输入插入模式。 跳到指定的行并列出了光标行的行号。 出口。如果您不能离开,则可以追逐并强迫出口。 默认生成的二进制程序是动态链接的,可以使用说明查看。

文章目录linux软件包管理员yum软件软件包查看软件软件软件软件软件软件Linux编辑器- vimvim基本概念基本概念VIM基本操作VIM基本操作VIM正常模式命令命令命令命令命令命令命令命令命令linux编译器- GCC/GCC/GCC/GCC/GCC/GCC/GCC/GCC/GCC/GCC/GCC/G ++计算计算计算计算计算line compackation communt gdb k4自动化构建工具- Make/MakeFileMake/MakeFile重要性依赖性和依赖方法应用程序工作原理清洁项目

Linux软件包管理器YUM安装软件在Linux下安装软件。提前使用该软件,并将其作为服务器上的软件包(可以理解为Windows安装程序)。软件包管理器可以轻松检索编译的软件包,并直接安装软件包和软件包管理器。 “ App”和“ App Store” YUM(修改的黄色狗更新流)之间的关系是Linux中非常常用的软件包管理器。它主要用于Fedora,Redhat和CentOS等分布中。查看软件包 yum列表命令列出当前可用的软件。软件包的数量可能非常大,因此您应该使用GREP命令仅排除您关注的软件包。

示例:

描述:

软件包名称:主要版本号。次要版本号。源程序发布号码-软件包发布号码。主机platform.cpu架构。 “ x86_64”后缀代表64位系统的安装程序包,“ i686”后缀代表32位系统安装程序包。选择软件包时,必须匹配系统。 “ EL7”表示操作系统分布的版本。 “ EL7”表示CentOS7/RedHat7。 “ EL6”是指Centos6/redhat6的最后一列,其基数指示“软件源”的名称,类似于“小米App Store”和“ Huawei App Store”。此时,如果输入“ Y”以确认安装,您将看到“完整”一词,表明安装已完成。

预防措施

在安装软件时,您需要将内容写入系统目录,因此通常需要sudo或将其切入根帐户才能完成YUM软件的安装。 您只能安装一个安装,另一个安装。 在百胜上安装软件时,如果您尝试使用百胜安装另一个软件,则YUM报告错误。卸载

命令卸载软件的命令也非常简单。

删除sudo yum软件名称

linux编辑器- vim vim

当您为vim开发基本概念时,它主要解决编写代码的问题。

vim的三种最常用模式:命令模式,插入模式和底线模式。

命令模式(正常模式)命令模式允许您控制屏幕光标的运动。在字符,字符或行上删除,复制,粘贴,剪辑和其他操作。 插入模式只能输入插入模式。 按“ ESC”键返回命令行模式。 此模式是您以后将使用的最频繁的编辑模式。 最后一行模式:保存或退出文件时,还可以执行文件交换,查找字符串和列表行号。在命令模式下,您可以输入Shift+:此模式。 基本VIM操作

输入VIM。在系统提示符号中输入VIM和文件名,然后输入VIM全屏编辑屏幕。

[正常模式] [插入模式]

切换到1)“ i”:按“ I”输入插入模式,然后开始从光标的当前位置键入文件。 2)输入“ A”。开始从当前光标中的下一个位置输入文本。 3)输入“ O”:插入新行并从行开头输入文本。

[命令模式] [底线模式]切换到

输入“ Shift+;”。实际上,输入。 “

[插入模式]或[底线模式]开关[命令模式]

按左上角的ESC退出VIM并保存文件。在[正常模式]中,单击“:

1)W(保存当前文件)2)wq(input“ wq”,保存和退出VIM)3)q! (输入Q!,按VIM而无需保存)

vim normal模式命令集

移动光标

1)按“ k”:移动光标向上。 2)按“ J”:向下移动光标。 3)按“ H”:将光标移到左侧。 4)按“ L”:将光标向右移动。 5)按“ $”:移至光标所在的线的边缘。 6)按“^”:移动到光标所在的行的开始。 7)按“ GG”:转到启动文本。 8)按“ shift+g”:移至文本末尾。 9)按“ N+Shift+G”:移至线N的开头。 10)按“ N+Enter””:当前的光标向下移动。11)按“ W”:光标将从左至右跳,从上到下,再到下一个单词的开始。12)按“ E”。在

“ cw”之后完成n个字符切换的光标位置:删除光标位置的第一个字符,直到单词结束之前插入模式。 2)按“ CNW”:在光标位置的开头删除n个字符,然后输入插入模式。

翻盖页面

1)按“ ctrl+b”提高页面。 2)按“ CTRL+F”:降低页面。 3)按“ ctrl+u”:翻页的一半。 4)按“ CTRL+D”:转弯一半。

跳到指定的行

1)“ ctrl” +“ g”列出了光标所在的行号。 2)将n+“ ctrl”+“ g”移动光标文章

vim late Line模式命令集

到第一行n并在使用最终行模式之前按“ ESC”键,请确保您已经处于命令模式并按下“底线”模式。

行号</p Line number nubre

p> p> p>

保存

1)“ w”:Q。 “ Ctrl+W+W”:Cursor将切换到多个屏幕的底部。数字。关键字“:按”?“首先输入键,然后您想找到的字符。如果您第一次寻找的关键字不是您想要的,则可以按住“ N”,您期待找到想要的东西。到关键字。

Linux编译器- GCC/G ++背景知识

c和c ++通常在编译代码预处理时有四个步骤(扩展,分解,宏交换,条件编辑):编译(C代码被翻译成汇编语言)。 汇编(将汇编代码转换为二进制对象代码)。 链接(链接由汇编过程生成的二进制代码)。 gcc/g ++

编辑gcc/g ++语法:

gcc [options] compile files [option files] [option files]

预处理

预处理

prepessing

gcc –e test.c –o test.c –o test.i

用于#启动#的代码,包括预处理功能。 选项“ - E”,此选项的功能是使GCC在完成预处理后停止汇编过程。选项“ - o”是指目标文件,而“ .i”文件是已预处理的原始C程序。

汇编

gcc –s test.i –o test.s

在此阶段,GCC首先检查代码标准化。这检查是否有任何语法错误或其他内容可以确定代码的实际工作。验证正确的情况后,GCC将代码转换为汇编语言。 用户可以使用“ - S”选项查看它。此选项未组装和生成。

汇编

gcc - c test.s - o test.o

汇编阶段将在编译阶段生成的“ .s”文件转换为目标文件。 -使用C选项将二进制对象代码转换为“ .o”文件。

链接

gcc test.o - otest

成功完成上述步骤后,输入链接阶段。 链接的主要任务是链接生成的“ xxx.o”文件以生成可执行文件。 如果GCC/G ++没有- E,- S和- C选项,则默认情况下会生成预处理,编译,汇编,汇编,汇编,汇编和链接文件。 -如果您不指定使用o选项生成的文件文件名是默认生成的可执行文件名称。

链接后生成的可执行文件也是二进制文件。

静态和动态库

功能库通常分为两种类型。静态和动态库

静态库是指在编译和链接时将所有代码从库文件添加到可执行文件。因此,生成的文件将相对较大,但是在运行时不需要库文件。 后缀名称通常是“ .a”动态库。相反,在编译和链接时,库不会添加到可执行的代码中。取而代之的是,一旦运行程序,库将通过运行时链接文件加载,从而使系统开销可以保存。 动态库通常具有“ .so”

动态链接的优点:

。节省空间(磁盘空间,内存空间),小垃圾箱尺寸和速度。 缺点:依靠动态库会使程序不足。 静态链接:

优点:不依赖第三方库,并且程序非常便携。 缺点:浪费空间。

由GCC和G ++生成的二进制程序是动态链接的,可以使用文件指令查看。

您还可以使用LDD指令查看动态链接的可执行文件所依赖的库。您需要将其重定向到输出文件(否则,将在屏幕上打印预处理结果)。 - s无需组装和链接而被编译成汇编语言。这意味着仅执行预处理和汇编。 - COMPILE到对象代码- o将处理结果输出到指定文件时,必须以输出文件名为单位。 -静态此选项使用静态链接到生成的文件。 -生成G调试信息(如果未携带此选项,则默认情况下将生成版本)。 -此选项共享了尝试使用动态库生成小文件的选项。 - W不会生成警告消息。 -墙壁生成所有警告消息。 - O0/- O1/- O2/- O3编译器优化选项是四个级别,- O0表示没有优化,- O1是默认值,- O3具有最高的优化水平。 Linux调试器- GDB背景知识有两种方法可以在Linux GCC/G ++,调试模式和发布模式下发布两个程序。默认值是发布模式。 要使用GDB进行调试,您需要在源代码生成二进制程序时添加- G选项。

gdb命令概述

gdb

输入指令:gdb文件名称

debug

1)“ run/r”:运行代码(启动调试)。 2)“ next/n”:每个过程调试。 3)“ step/s”:每个语句调试。 4)“到线号”:跳到指定的线路。 5)“完成”:在运行当前称为功能(不是主函数)后停止。 6)“继续/C”:运行到下一个断点。 7)“ var variable = set x”:修改变量的值为x。

show

1)“ list/l n”:显示从行n开头的源代码,每次显示10行。 如果未给出n,则默认为从最后一个位置出现。 2)“列表/L函数名称”:显示功能源代码。 3)“打印/p变量”:打印变量的值。 4)“打印/P&变量”:打印变量的地址。 5)“打印/p表达式”:当您打印表达式的值时,可以通过表达式更改数量的值。 6)“查看变量”:添加变量以经常显示(每次停止时都会显示值)。 7)“显示和变量”:添加经常显示变量地址的地址。 8)“ Unddisplay Number”:取消指定数字变量的正常显示。 9)“ bt”:在每个级别显示函数调用和参数。 10)“信息/当地人”:检查当前堆栈框架中本地变量的值。

断点

1)“ break/b n”:在n行上设置一个断点。 2)“断路/B函数名称”:在功能主体的第一行上设置断点。 3)“信息断点/B”:显示中断的点信息。 4)删除/D号':用指定的数字删除断点。 5)“无效”:禁用指定号码的断点。 6)“启用”:在指定的数字上启用断点。 从一个方面,它显示了项目的源文件是否计算。该命令会自动编译以完成项目自动化的建筑物和依赖关系。

文件b取决于文件A。

依赖关系:

如果文件b取决于文件A,获取文件B的方法取决于文件B的方式取决于文件A的如何取决于文件A的如何取决于文件B的如何取决于test.c test.c gcc - c test.c test.c test.c - o,c - o,o,,test.o指令可以获取test.o,因此test.o的依赖性方法是gcc - c test.c - o test.o.

示例应用程序

步骤1:

在当前目录中创建一个名为makefile/makefile的文件。

步骤2:

写一个makefile文件。

编写makefile文件后,保存,退出,然后在命令行上运行命令以生成可执行程序。

makefile文件缩写

$@:代表依赖关系关系的目标文件(在结肠的左侧),也可以如下省略,作为在当前目录中查找称为“ makefile”或“ makefile”的文件的方式,在当前目录中:如果找到了第一个目标文件(如果找到了第一个目标文件(在文件中)。在上面的示例中,我们找到文件mytest并使用此文件作为最终目标文件。 如果MyTest文件不存在,或者对后续测试的文件修改时间。Mytest依赖的c文件比mytest文件中的文件更新,请运行以下依赖关系方法来生成mytest文件。 在层之后找到文件层依赖项,直到最终编译第一个目标文件为止。 如果您遇到错误,例如您在搜索过程中依赖的文件,则最终将无法找到它。 项目清洁

每次播放可执行程序时,都需要清理最后生成可执行程序时生成的文件集。清洁说明相同。您还可以将清洁的步骤添加到makefile文件

注意:在此处,干净的目标文件以.phony中的修改为伪标准设置。无论是否已更新,都必须运行伪目标功能。

未经允许不得转载:主机频道 » 使用用于Linux环境的基本开发工具(Linux环境编程:应用到内核)

相关推荐

评论 抢沙发

评论前必须登录!