
linux
文章平均质量分 71
linux
~|Bernard|
这个作者很懒,什么都没留下…
展开
-
Linux下代码的编译与调试
将上一步生成的二进制文件与其他的文件合在一起打包,生成可执行程序(文件)。当我们进行编译的时候,要使用一系列的工具,我们称之为工具链。SDK就是编译工具链的简写,我们所使用的是gcc系列编译工具链。(1) 预处理:预处理器将对源文件中的宏进行展开,主要的处理以#开头的东西,还可以去除注释,添加行号,展开头文件。使用-v参数来查看gcc的版本,从而确定某些语法特性是否可用,比如是否允许使用时声明。期间所使用的工具依次是预处理器,编译器,汇编器as,链接器。对于.c格式的C文件,可以采用gcc或g++编译。原创 2024-02-01 16:44:34 · 370 阅读 · 0 评论 -
vim编辑器使用
在底行模式下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来编辑文本资料的。查看该命令的帮助提示(不常用,当不小心按F1时,通过:q进行退出)进入可视模式以后,可以使用光标移动指令来移动光标,并且会选中区域。可以删除一个字符,可以指定删除多少个字符,n代表字符的数目。删除光标到行尾的文本,常用语删除注释语句 (等价于d$)删除一个单词,可以指定删除多少个单词,n代表字符的数目。vim分为三种模式:命令模式,编辑模式和底行模式。从光标开始往下复制n行,[n]表示一个整数。原创 2024-02-01 16:20:12 · 964 阅读 · 0 评论 -
Linux常用重要命令
如果是符号链接,它还会显示指向文件的名字。原创 2024-01-31 11:44:10 · 733 阅读 · 0 评论 -
Linux系统简介及发展历史
通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red HatEnterprise Linux、CentOS)和openSUSE等。在Linus刚刚推出Linux内核的时候,它实际上只有不到1万行代码,实现了一个简单的内核。·1993年,宏内核构造的Linux内核面世,并且Linux内核的源代码遵循GNU的GPL。硬件设备在使用的时候也会加载到内核里面。原创 2024-01-28 11:43:32 · 1235 阅读 · 0 评论 -
初识“操作系统“(Operator System)
的既是对操作系统内核功能的保护,防止操作者恶意或者操作原因使得操作系统进入崩溃或者宕机的危险,对核心数据的代码进行保护组织;,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发,提高开发效率,屏蔽底层细节的理解负担,便于更高效地设计出产品.角度,即程序员看来,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做。·系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以。·内核(进程管理,内存管理,文件管理,驱动管理)原创 2024-01-24 17:45:04 · 411 阅读 · 0 评论 -
冯诺依曼体系结构
首先我们要有一个概念,这里内存起到了一个缓和速度矛盾的作用,将计算机内部硬件的处理速度排序:CPU中寄存器>>cathe>>内存>>磁盘/SSD>>光盘。由于存在这样的速度矛盾,根据木桶效应就可以知道,如果直接从外设传入到CPU,那么CPU大部分时间将会处于闲置状态,大量的任务的处理时间都趋向于等于最慢的设备的时间,每一次数据的处理都需要等待最慢的数据处理完毕才行,这样的效率是极度低下的,利用内存作为中间媒介,是利用的。·输入设备:包括键盘, 鼠标,扫描仪, 写板,磁盘,网卡,话筒等。原创 2024-01-24 09:27:03 · 388 阅读 · 0 评论 -
Linux调试器-gdb使用
加上 -g 选项。原创 2024-01-24 09:11:25 · 394 阅读 · 0 评论 -
Linux小程序-进度条
注意凡是显示到显示器上面的内容都是字符(例如像123显示到显示器中,实际上是1字符2字符3字符)。所以显示器和键盘这样的设备都称之为字符设备。当没有\n时,printf里面的内容不会立即显示出来,而是会暂时保存起来,保存在了用户C语言级别的缓冲区中,sleep五秒过后才会显示到显示器,并且与下一条命令不存在换行。有\n时,printf的内容会立即打印到显示器上,然后sleep休眠五秒。fflush会刷新缓冲区,所以不需要带\n就可以立即显示到显示屏上,然后再sleep休眠五秒。......原创 2022-07-30 23:33:02 · 1035 阅读 · 1 评论 -
Linux项目自动化构建工具-make/Makefile
3.如果mytest文件不存在,或是mytest所依赖的后面的mytest.o文件的文件修改时间要比mytest这个文件新,那么,他就会执行后面所定义的命令来生成mytest这个文件。7.在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。2.如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“mytest这个文件,并把这个文件作为最终的目标文件。表示的是目标生成文件,...原创 2022-07-30 22:04:28 · 372 阅读 · 0 评论 -
Linux调试器-gdb使用
如果一个程序是可以被调试的,该程序的二进制文件一定加入了一些debug信息,要使用gdb调试,必须在源代码生成二进制程序的时候,display变量名跟踪查看一个变量,每次停下来都显示它的值,类似于VS下的监视窗口。list/l行号显示binFile源代码,接着上次的位置往下列,每次列10行。info(或i)breakpoints(b)查看当前设置了哪些断点。continue(或c)从当前位置直接到达对应的下一个断点。n或next单条执行,类似于VS下的F10。...原创 2022-07-28 22:58:08 · 143 阅读 · 0 评论 -
Linux编译器-gcc/g++使用
最后的答案是系统把这些函数实现都弄到名为libc.so.6的库文件中去了,在没有特别指定时,gcc会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到libc.so.6库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用。我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?·选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。...原创 2022-07-27 23:08:39 · 243 阅读 · 0 评论 -
Linux编辑器-vim使用
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。在命令模式下,shift+即可进入该模式。只有在Insertmode下,才可以做文字输入,按「ESC」键可回到命令行模式。不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],要切换到[插入模式]才能够输入文字。....原创 2022-07-27 21:31:03 · 2861 阅读 · 0 评论 -
Linux 软件包管理器 yum
但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过软件包管理器可以很方便的获取到这个编译好的软件包,直接进行安装.而软件包和软件包管理器,就好比"App"和"应用商店"这样的关系.yum安装软件只能一个装完了再装另一个.正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错.·在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序....原创 2022-07-21 01:08:28 · 243 阅读 · 0 评论 -
Linux权限的概念和权限管理
你看上了如花,但是有不好意思直接表白,那就让你爸找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。,我们操作windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。理解比如你是腾讯视频的会员,那么腾讯对你开放的视频资源一定是不同的,也就是vip用户和普通用户对于资源的权限不一样。对目录来说,具有进入目录的权限。...原创 2022-07-21 00:16:02 · 261 阅读 · 0 评论 -
Linux下常用基本指令操作详解(基于Xshell)
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,相当于Windows下的剪切功能,经常用来。另外,他也可以用来取代exit。2.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。...原创 2022-07-16 22:44:03 · 1296 阅读 · 0 评论