返回顶部

随笔分类 -  C/C++ Linux 基础

Linux(12)通过PPOE协议分析学习协议的编程框架
摘要:小知识: 柔性数组 : 柔性数组既数组大小待定的数组, C语言中结构体的最后一个元素可以是大小未知的数组,也就是所谓的0长度,所以我们可以用结构体来创建柔性数组。 https://www.cnblogs.com/veis/p/7073076.html 封装一个结构体是在不确定某一个成员大小时可以使用 阅读全文

posted @ 2021-08-14 08:50 物有本末,事有终始 阅读(268) 评论(0) 推荐(0) 编辑

Linux基础(18)HTTPS编程
摘要:中间代理服务器: 存在于外部网络和内部服务器之间 代理服务器一般有两个用途: 负载均衡 和 防火墙 负载均衡:(Load Balance) 百科的解释 其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而 阅读全文

posted @ 2020-06-17 16:26 物有本末,事有终始 阅读(631) 评论(0) 推荐(0) 编辑

Linux基础(17)HTTP及SSL解析
摘要:DNS( Domain Name Systme域名系统), 而DNS解析则是同过域名解析出其代表的IP地址 ISP(Internet Service Provider)互联网服务提供商,域名都是有备案的,所以ISP都会有保存其域名和服务器IP地址, .CN是向中国互联网管理局申请 .COM是向美国互 阅读全文

posted @ 2020-05-26 21:10 物有本末,事有终始 阅读(609) 评论(0) 推荐(0) 编辑

Linux常用函数概述
摘要:目录: 1.普通的IO函数 2.socket函数 3.IO复用函数 4.signal函数 5.aio编程函数 6. POSIX(文件操作)和目录管理 7.原始套接字 8.进程通信IPCs 9.多线程编程 _________________________________________其他函数___ 阅读全文

posted @ 2020-05-08 20:19 物有本末,事有终始 阅读(1223) 评论(0) 推荐(0) 编辑

Linux基础(16)终端与串口编程
摘要:Linux终端编程概念 每天使用Linux每天都要接触到Bash,使用Bash时似乎永远都让人摸不着头脑的概念就是终端,坐在这台运行着Linux的机器的显示器前面,这个显示器就是终端的输出,而插在机器上的USB键盘或者PS/2键盘就是终端的输入,看来这是一种最直白意义上关于终端的解释。 但是有的时候 阅读全文

posted @ 2020-05-08 20:16 物有本末,事有终始 阅读(567) 评论(0) 推荐(0) 编辑

Linux基础(15)多线程编程
摘要:Linux的内核中没有thread的概念,线程是第三方库libpthread实现的, 和vfork(轻量级进程,只有部分copy)有点像(进程的创建fork会完全copy主进程资源 ,而线程会共享资源,子线程创建新资源时其作用域只在当前子线程,而子线程非新新创建的资源会和创建前的主线程共享这些资源) 阅读全文

posted @ 2020-05-08 20:15 物有本末,事有终始 阅读(216) 评论(0) 推荐(0) 编辑

Linux基础(14)进程通信 IPCs
摘要:Linux进程间通信方式汇总 目前已包含的方式1. 管道(PIPE) 无名管道 优: 简单,传输速度快 缺:只能用作于亲缘关系进程的通信,单向2. FIFO(有名管道) 优: 可以用作非亲缘关系进程的通信, 缺: 传输慢 ,不能存存储数据 ,传输量小 ,只能一对一3. XSI消息队列 优: 数据控制 阅读全文

posted @ 2020-05-08 20:14 物有本末,事有终始 阅读(344) 评论(0) 推荐(0) 编辑

Linux基础(13)进程基础
摘要:进程的基本概念: Linux中事务管理的基本单元 ,代表资源的总和 再比如 ,进程是一座大厦里面的水电空间都是资源 , 而线程就是一家家的公司占用着大厦的资源 1.创建进程fork(): 在当前进程复制出一个子进程 ,子进程和父进程相同互不影响 ,若成功调用一次则返回两个值,子进程中fork返回0, 阅读全文

posted @ 2020-05-08 20:13 物有本末,事有终始 阅读(200) 评论(0) 推荐(0) 编辑

Linux基础(11)原始套接字
摘要:一边接收函数返回一边判断返回值时一定要把接收的优先级加()提高再去判断 例 if((sockfd = socket()) < 0) 问题: 如何实现SYN扫描器扫描端口 , 比如AB两个设备要进行连接 , A通过端口发一个SYN包给B,B在收到后返回一个ACK包确认连接 , 但是在不确定B端口号时 阅读全文

posted @ 2019-12-12 23:04 物有本末,事有终始 阅读(772) 评论(0) 推荐(0) 编辑

Linux基础(10)AIO项目设计与POSIX文件操作和目录管理
摘要:实现fast-cp :拷贝文件到目标对象 Linux的七种文件类型 :https://blog.csdn.net/linkvivi/article/details/79834143 ls -al :https://www.cnblogs.com/fyc119/p/6959695.html 文件的属性 阅读全文

posted @ 2019-11-30 09:59 物有本末,事有终始 阅读(460) 评论(0) 推荐(0) 编辑

Linux基础(09)aio高级编程
摘要:1.出于安全性 Linux有一个机制 应用层和内核层是无法互相直接读取内存的, 他们要互相读取数据是有一个拷贝过程的, 如: 应用层要读取内核层的数据就调用read(), 内核就会先把数据copy到一个buff并返回给read() 但, 如果这个过程很大很频繁那么同步机制的效率就非常低, 因为不读完 阅读全文

posted @ 2019-11-13 22:02 物有本末,事有终始 阅读(444) 评论(0) 推荐(0) 编辑

Linux基础(08)信号通信机制
摘要:1.Linux中的信号(有32个) 信号会中断一些函数的阻塞 https://zhidao.baidu.com/question/1766690354480323100.html #define SIGHUP 1 #define SIGINT 2 #define SIGQUIT 3 #define 阅读全文

posted @ 2019-10-25 11:23 物有本末,事有终始 阅读(532) 评论(0) 推荐(0) 编辑

Linux基础(06)IO复用
摘要:在Windows文件指的就是普通的肉眼可见的文件 , 而Linux一切皆文件 https://blog.csdn.net/nan_nan_nan_nan_nan/article/details/81233599 一定要注意生成文件的警告和报错,不能忽略了!!!!!!! #include <stdli 阅读全文

posted @ 2019-09-24 16:23 物有本末,事有终始 阅读(274) 评论(0) 推荐(0) 编辑

Linux基础(05)socket编程
摘要:Linux的核心思想之一 "一切皆文件" 内容 , socket在Linux内核的实现的代码及TCP和UDP的实现 网络编程常用头文件: https://blog.csdn.net/jx232515/article/details/51912700 1. 例如本地文件对一个字符串的"aaaaaaa" 阅读全文

posted @ 2019-09-11 14:22 物有本末,事有终始 阅读(285) 评论(0) 推荐(0) 编辑

LInux基础(04)项目设计一(理解链表管理协议的代码架构)
摘要:要设计好一个项目必须要有一个健全的代码框架 一个结构体内有数据域和处理数据的函数指针, 先实现管理链表的函数 增加节点 删除节点 清空链表 遍历节点对每个节点进行操作 再实现协议的注册 把对象socket 添加到链表中进行管理 使用链表实现管理协议的操作 , 创建链表(LinkListInit)对象 阅读全文

posted @ 2019-09-09 12:55 物有本末,事有终始 阅读(207) 评论(0) 推荐(0) 编辑

Linux基础(03)gdb调试
摘要:1. 安装GDB增强工具 (gef) * GDB的版本大于7.7 * wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh * 确保网络连通 并且成功更新ubuntu (更新source.list 使用apt- 阅读全文

posted @ 2019-09-09 12:10 物有本末,事有终始 阅读(473) 评论(0) 推荐(0) 编辑

Linux基础(02)MakeFile的创建和使用
摘要:预编译: 处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。 汇编 :把C语言编译成汇编语言 编译 :把汇编语言的文件编译成计算机能看懂的二进制文件 gcc(编译工具)的编译过程 gcc -[参数] re 阅读全文

posted @ 2019-09-09 11:49 物有本末,事有终始 阅读(467) 评论(0) 推荐(0) 编辑

Linux基础(01)开发环境的搭建
摘要:内核源码下载 : https://blog.csdn.net/u011375704/article/details/81866427 1.在虚拟机安装Ubuntu 14.04版本 (安装时设置好用户名和密码) 2.安装vm tools(屏幕自适应) 3.配置虚拟机网络可以保证网络畅通 4.在Wind 阅读全文

posted @ 2019-09-09 11:26 物有本末,事有终始 阅读(265) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示