- 博客(19)
- 收藏
- 关注
原创 HTTP协议介绍
这篇博客主要介绍一下HTTP协议(HTTP 1.0 & HTTP 1.1)的相关内容:1.特点(HTTP 1.0): · 客户/服务器模式(C/S) · 简单快速:HTTP服务器的程序规模小,因此通信速度快 · 灵活:HTTP允许传输任意类型的数据对象 · 无连接,每次连接只处理一个请求:服务器处理完客户的请求并...
2018-09-15 23:54:19 2380
原创 Shell基础——符号
基本概念Shell定位 · Shell是一个用C语言编写的程序,是用户使用Linux的桥梁;Shell既是一种命令语言,又是一种程序设计语言。 · Shell是指一种应用程序,一种和内核沟通的外壳应用程序的统称,这个应用程序有时提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell & Bash · Shell如果叫做媒婆,Bash就是王婆...
2018-07-19 11:54:36 293
原创 Linux——系统文件I/O
本文主要介绍一下用系统接口进行文件的访问:首先来看代码:hello.c写文件: #include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h>...
2018-07-19 09:26:40 211
原创 正则表达式
概念 · 正则表达式是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配的目的 · 正则表达式目前被集成到了各种文本编辑器/文本处理工具当中应用场景 · 验证:表单提交时,进行用户名密码验证 · 查找:从大量信息中快速提取指定内容 · 替换:将指定格式的文本,进行正则匹配查找,找到之后进行特定替换基本要素 ...
2018-07-06 17:20:51 267
原创 Linux第一个小程序——进度条
行缓冲区概念首先来看几个代码: #include <stdio.h> int main() { printf("hello Makefile!\n"); sleep(3); return 0; } 现象: #include <stdio.h> int mai...
2018-05-08 18:22:15 176
原创 Linux项目自动化构建工具——make/Makefile
1.背景 · 会不会写Makefile,从侧面说明了一个人是否具备完成大型工程的能力。 · 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。 · Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,...
2018-05-08 17:20:15 1543
原创 Linux调试器——gdb使用
1.背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项 2.开始使用 gdb binFile 退出:ctrl+d 或quit调试命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行...
2018-05-08 15:18:56 351
原创 Linux编译器-gcc/g++使用
1.背景 程序处理过程: 1.预处理(进行宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连接(生成可执行文件或库文件) 2.gcc如何完成 格式:gcc [选项] 要编译的文件 [选项] [目标文件]预处理(进行宏替换) 预处理功能主要包括宏定义、文件包含、条件编译、去注释等 预处理指令是已#号开...
2018-05-08 15:01:22 302
原创 Linux——进程介绍
一、进程1.基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源的实体描述进程——PCB 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合 课本上之所以称之为PCB(process control block),Linux操作系统下的PCB是task_structtask_struct——PCB的一种(是Linux内核...
2018-04-25 09:49:55 711
原创 进程间通信之消息队列
消息队列上篇文章已经介绍过了管道(http://blog.csdn.net/tangduobutian/article/details/79638121)今天来看下进程间通信的另一种方式——消息队列。首先来看下消息队列的一些基础概念:1.消息队列提供了从一个进程向另一个进程发送一块数据的方法2.每个数据块被认为有一个类型,接收者进程接受的数据块可以有不同的类型值3.消息队列也有管道一样的不足,就是...
2018-04-16 20:29:51 189
原创 Linux——信号小结2
之前的博文已经介绍了信号的一些基本概念(https://blog.csdn.net/tangduobutian/article/details/79812540),这篇博文主要介绍一下捕捉信号、可重入函数、竞态条件等。1.捕捉信号1)内核如何实现信号的捕捉 如果信号的处理动作是用户自定义的函数,在信号递达时就会调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过...
2018-04-16 20:20:59 208 1
原创 Linux——信号小结1
为了理解信号,首先来看一个场景:1.用户输入命令,在shell下启动一个前台进程2.用户按下Ctrl+C键,此时会产生一个硬件中断3.如果CPU当前正在执行这个进程的代码,则改进程的用户与空间代码暂停执行,CPU从用户态切换带内核态处理硬件中断4.终端驱动程序将Ctrl+C键解释成一个SIGINT信号,记在该进程的PCB中(也可以说发送了一个SIGINT信号给该进程)5.当某个时刻要从内核返回到用...
2018-04-04 15:16:47 189
原创 Linux编辑器——vim使用
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性,例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、mac os、windows。1.vim的基本概念 目前我们掌握以下三种模式就可以了:命令模式(command mode)、插入模式(Insert mode)和底行模式(last ...
2018-03-28 10:02:16 160
原创 Linux权限介绍
Linux下有两种用户:超级用户(root)、普通用户: 超级用户:可以在Linux下做任何事情,不受限制 普通用户:在Linux系统下做有限的事情 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”命令:su [用户名]功能:切换用户例如:要从root用户切换到普通用户user,则使用su user,要从普通用户user切换到root用户则使用su root(root可...
2018-03-27 22:42:00 220
原创 Linux下基本指令
之前我们已经介绍过Linux的目录(https://blog.csdn.net/tangduobutian/article/details/79638121),今天我们来看一下Linux下的一些基本指令介绍:1.ls指令语法:ls[选项][目录或文件]功能:对于目录,该命令列出该目录下所有的子目录与文件。对于文件,将列出文件名以及其他信息。常用选项: -a:列出目录下的所有文件,包括以 . ...
2018-03-27 20:44:40 232
原创 进程间通信之管道
进程间通信之管道既然要介绍进程间通信,首先来看看什么是进程间通信:1. 进程间通信的实质:是让两个毫不相干的进程看到同一份资源2. 进程间通信的目的:1)数据传输:一个进程需要将它的数据发送给另一个人进程2)资源共享:多个进程共享同样的资源3)通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件4)进程控制:有些进程希望完全控制某些进程的执行,此时控制进程希望能够拦截另一...
2018-03-21 20:31:17 289
原创 Linux下vim的配置和gcc/g++,gdb的简单安装
注:本文所介绍的方法仅在CentOS 6.5版本上进行了测试,不同版本可能出现差异,还请读者自行验证,另外本文仅介绍指令安装方法,下载安装包进行解压缩安装不做讨论。1. 一般来说,我们下载的CentOS会自带gcc,所以安装之前我们首先要查看一下自己的系统中是否已经存在gcc,如下图: 此时显示我的系统中已存在gcc;若检测到系统中不存在gcc,则需要在保证你的Linux连网的情况下,
2017-11-27 17:45:21 885
原创 Linux目录介绍
Linux目录类似于一个树,最顶层是根目录,根目录是Linux文件系统的入口,所有的目录、文件、设备都在根目录之下。根目录下包括: 以下对这些目录进行详细介绍:(1)/bin:存放系统最常用最重要的命令,以独立的文件形式存在,此目录中的文件都是可执行的并且是普通用户都可以使用的命令,如:ls、cp、mkdir等命令。(2)/boot:Linux的内核级引导系统的程序所需要的文件都存
2017-11-27 15:56:00 201
原创 c语言结构的存储分配小结
结构在内存中是如何存储的呢?首先来看一个例子:可见上面这个结构体占用了内存的16个字节,那么具体在内存中是如何存储呢?请看以下详解:上图的存储方式就涉及到结构体内存的对齐规则:1.第一个成员在与结构体变量偏移量为0的地址处;2..其他成员要对齐到某个对齐数的整数倍的地址处(对齐数=编辑器默认的一个对齐数与该成员大小的较小值,VS中默认对齐数为8,gcc中的默
2017-07-20 22:15:10 423
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人