自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux进程间通信

1. 进程间通信初识1.1 进程间通信的目的数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。由于进程都拥有自己独立的进程虚拟地址空间,从而导致了进程的独立性,通过进程间通信,可以让不同的进程进行协作。

2021-04-28 21:21:29 91 1

原创 Java基础IO

1. 基础IO1.1 理解IOI/O包括:BIO:同步阻塞的IONIO:同步非阻塞IOAIO:异步非阻塞IO1.2 IO读写方式IO本质就是对数据的读写操作本地文件IO网络IO1.3 IO的特性本质上属于数据传输涉及两个设备间数据的传输方向,一般来说,只关注自己程序的一方数据流:io数据包裹另外一个io数据包裹时,可以设置格式,编码IO读取,读取部分数据以后,这部分数据在之前的IO流就消失,也就是读取操作只操作一次java进程的IO操作,对进

2021-04-27 21:02:02 103 1

原创 Linux下MiniShell的简单实现

1. 思路在学习了linux进程概念和进程控制以后,简单的来实现一个minishell。启动一个父进程,用以从标准输入里面读取用户输入的命令行内容由父进程解析用户输入的内容中,哪些是命令,哪些是命令行参数,存放进argv数组中父进程fork一个子进程,让子进程进行程序替换(execvp),执行用户输入的命令,对命令参数为NULL,或替换失败的子进程进行退出。父进程阻塞的等待子进程退出(wait),待子进程退出后,再去循环获取用户输入思路图示:2. 实现代码2.1 头文件及宏定义部分#

2021-04-20 20:21:44 485 1

原创 Linux 进程控制

进程查看:ps命令ps -ef —— 查看进程信息ps -aux —— 更为详细的查看进程信息例:ps -aux | grep main —— grep后跟程序名称进程创建进程就是pcb,创建一个进程就是创建了一个pcb,复制了调用fork的这个进程pcb的信息(内存指针、程序计数器、上下文数据)这个新的进程,运行的代码与调用fork的进程一样,并且运行位置也相同。两个进程运行的程序相同:哪个是调用进程(父进程),哪个是新建进程(子进程)在父进程中返回子进程的pid,是大于0的;在子进程中

2021-04-19 18:06:07 180 1

原创 Linux动态库与静态库

概览1. 测试代码2. 动态库与静态库初识3. 动态库3.1 库搜索路径3.1 生成动态库3.2 使用动态库3.3 查看当前程序依赖的动态库3.4 查看文件属性3.5 移动或删掉动态库4. 静态库4.1 生成静态库4.2 使用静态库4.3 移动或删掉静态库5. 使用外部库(延伸)1. 测试代码测试程序://////////////////test.h///////////////////#ifndef __TEST_H__#define __TEST_H__#include <stdio.

2021-04-16 18:08:21 114 1

原创 Linux基础IO

基础IO1.C语言操作文件接口(回顾)1.1 FILE *fopen(const char *path,const char *mode)1.2 size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream)1.3 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)1.4 int fseek(FILE *stream, long offset, int

2021-04-15 18:43:38 632 6

原创 关于 /usr/bin/ld: cannot find -lc的问题

在使用 gcc -static 静态链接时,出现如下错误:/usr/bin/ld: cannot find -lccollect2: 错误:ld 返回 1原因分析:可能是因为静态库没有安装,先检查有没有安装静态库:yum list installed | grep glibc-static如果没有安装,则安装即可:yum install glibc-static...

2021-04-11 16:19:50 474 1

原创 Linux进程概念

概览冯诺依曼体系结构操作系统进程概念调度进程状态冯诺依曼体系结构现代计算机的硬件体系结构 ——计算机应该包含五大硬件单元输入设备 —— 采集数据的,比如典型的键盘,网卡接收网络中的数据输出设备 —— 进行数据输出,比如典型显示器,网卡向网络中发送数据存储器 —— 进行中间数据缓冲(内存),硬盘为外存运算器:进行数据运算 运算器+控制器=CPU中央处理器控制器:进行设备控制所有的设备都是围绕存储器工作的cpu不会直接从输入设备获取数据进行处理,而是先把数据放到存储器中,cpu从存储器

2021-04-07 21:43:32 142 1

原创 Linux 常用工具之yum、vim、gcc、gdb、make/Makefile的使用

目录1.软件包管理工具2.vim编辑器3.gcc编译器4.调试器5.项目自动化构建工具6.项目版本管理工具1.软件包管理工具—— 安装其他软件的工具yum—— linux中默认的管理工具,提供软件包的查看,安装,移除等操作三板斧操作:查看:yum list —— 查看所有软件包yum search —— 搜索指定软件包yum makecache —— 将软件包信息保存到本地安装:yum install —— 安装软件包(安装安装包必须要有管理员权限)首先切换为管理员用户:su r

2021-04-07 12:11:12 477 2

原创 git clone 出现fatal: unable to access ‘https://github 类错误解决方法

git clone 遇到问题:fatal: unable to access ‘https://github.comxxxxxxxxxxx’: Failed to connect to xxxxxxxxxxxxx将命令行里的http改为git重新执行。

2021-04-06 19:06:04 350

Android开发笔记

Android开发笔记

2022-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除