
Linux
肥嘟嘟的左卫门
这个作者很懒,什么都没留下…
展开
-
VIM的常用配置
花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码4.按“F...转载 2018-08-29 22:34:06 · 265 阅读 · 0 评论 -
浅谈设备驱动的作用与本质,有无操作系统Linux设备驱动的区别
一、驱动的作用任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件较固定,软件则很灵活,可以适应各种复杂多变的应用。可以说,计算机系统的软硬件互相成就了对方。但是,软...转载 2018-11-20 16:55:04 · 4047 阅读 · 1 评论 -
linux设备驱动原理与本质
任何计算机系统都是软件和硬件的结合体,如果只有硬件而没有软件,则硬件是没有灵魂的躯壳;如果只有软件没有硬件,则软件就是一堆无用的字符。在底层硬件的基础上,操作系统覆盖一层驱动,屏蔽底层硬件的操作,通过特定的软件接口去操作底层硬件,用户在用户空间可以很容易的把软件设计目标放在策略与需求上,可以很方便的屏蔽掉底层实现,从而很好的完成客户功能需求。计算机系统是软件和硬件的结合体。而软件又分为应用层软件和...转载 2018-11-20 17:06:55 · 5463 阅读 · 0 评论 -
Linux GCC生成可执行程序的4个步骤——预处理、编译、汇编、链接
一,预编译操作步骤:gcc -E hello.c -o hello.i主要作用:处理关于 “#” 的指令【1】删除#define,展开所有宏定义。例#define portnumber 3333【2】处理条件预编译 #if, #ifdef, #if, #elif,#endif【3】处理“#include”预编译指令,将包含的“.h”文件插入对应位置。这可是递归进行的,文件内...转载 2018-11-16 15:00:52 · 3009 阅读 · 0 评论 -
进程间通信机制的两种类型:System v 和Posix
当我们在linux系统中进行进程间通信时,会发现例如共享内存,信号量,消息队列等方式时,会发现有System v以及POXIS两种类型。因此,我们探究一下System v和POXIS到底代表着什么意义。POSIXPOSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标...原创 2019-06-01 20:09:14 · 1063 阅读 · 1 评论 -
Linux 库函数与系统调用的关系与区别
一、系统调用系统调用,我们可以理解是操作系统为用户提供的一系列操作的接口(API),这些接口提供了对系统硬件设备功能的操作。这么说可能会比较抽象,举个例子,我们最熟悉的hello world程序会在屏幕上打印出信息。程序中调用了printf()函数,而库函数printf本质上是调用了系统调用write()函数,实现了终端信息的打印功能。二、库函数库函数可以理解为是对系统...原创 2019-06-02 14:55:58 · 619 阅读 · 0 评论