JIN Blog

Thinking will not overcome fear but action will.

Socket编程

Socket概念、编写流程

“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有...

Linux 驱动开发之内核模块开发

内核模块概念、字符设备驱动

Linux 驱动开发之内核模块开发 一、内核模块的概念 1、什么是模块? ​ 内核模块是一些可以让操作系统内核在需要时载入和执行的代码,同时在不需要的时候可以卸载。这是一个好的功能,扩展了操作系统的内核功能,却不需要重新启动系统,是一种动态加载的技术。 特点:动态加载,随时载入,随时卸载,扩展功能 2、内核模块的加载作用 ​ 内核模块只是向linux内核预先注...

Linux系统移植简记

uboot、内核配置

Linux系统移植的四大步骤 本文所测试的环境:虚拟机Ubuntu16.04版本 Linux所用内核:为最新4.17稳定版 工交叉编译工具:arm-Linux-gcc 4.64 uboot版本:win-fs4412.bin(低版本的Uboot 不能引导新版本内核) 开发板:FS4412,三星4412,crotex-A9 ​ 最近在学习移植Linux系统,遇...

嵌入式交叉编译环境搭建

ubuntu和开发板通信

嵌入式交叉编译环境环境搭建 准备工具安装目录 可以去官网下载对应系统版本的arm-Linux-gcc。将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下。 .tar.gz 和.tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName 配置系统环境变量(可以系统自动识别不需要...

进程间通信(ipc)介绍

###进程间通信(IPC)介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。 以Linux中的C语言编程为例。 一、管道 管道,通常指无名管道...

文件类型:io

###文件类型: ​ -r 普通文件(regular) ​ -d 目录文件(directory) ​ -b 块特殊文件(block special) ​ -c 字符特殊文件(characterspecial) ​ -p 管道文件(pipe) ​ -s 套接字文件(socket) ​ ...

数据结构线性表的一些总结

数据结构线性表的一些总结: ​ 首先链表一定会有一个头指针并且和结构体相同的类型,这个头指针可以不存放结构数据,首先在没有数据输入的时候其值为NULL;头指针的目的就是为了用户在申请下一个数据时候,将下一个结构体数据的地址交给头指针来形成链接。此图包含空节点 ​ ​ 这样便可以将用户输入的数据利用malloc函数来申请内存,先将数据存在申请的结构体中,然后就是通过指针...

循环链表

在引用循环队列前,我们需要了解队列是如何线性实现的。 简单地讲,便是当队列为空时,front = rear = 0,每当插入元素尾指针+1,删除元素是头指针-1。但是,我们会发现一个问题,如上面的第四个图,0,1,2三个空间并没有使用。因此,为了占用该空间,我们使用了循环队列来实现。 循环队列原理图: 我们可以发现,当循环队列属于上图的d1情况时,是无法判断当前状态是队空还是队...

内存管理

内存管理 动态内存 C/C++定义了4个内存区间: ​ 代码区/全局变量与静态变量区/局部变量区即栈区/动态存储区即堆区。(MACLLO分配的内存、字符串常亮也是在堆区,char * p=”code “不可被修改) 静态存储分配 ​ 通常定义变量,编译器在编译时都可以根据该变量的类型知道所需内存空间的大小,从、而系统在适当的时候为他们分配确定的存储...

Sqlite3数据库

sqlite3数据库 sqlite3常用命令 当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:#sqlite3 test.db 查看数据库文件信息命令(注意命令前带字符’.’): sqlite>.database 查看所有表的创建语句: sqlite>.sche...