logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux Sockt服务器和客户端开发示例

Sockt特点1)传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)2)传输数据时间短,性能高3)适合于客户端和服务器端之间信息实时交互4)可以加密,数据安全性强Sockt相关APIsocket——创建一个socket描述符bind——把地址和端口号组合赋给socketlisten——监听socketaccept——接收连接请求connect——发出连接请求一、socket——

#linux#c语言
Linux API-信号:signal、sigaction、sigqueue

信号特征信号本质——是软件层次上对中断的一种模拟信号来源——(1)程序错误,如非法访问内存(2)外部信号,如按下了CTRL+C(3)通过kill或sigqueue向另外一个进程发送信号信号没有优先级,所有的信号都是平等的进程可对信号有不同的响应通过kill -l可查看所有信号信号APIsignal——捕捉信号并作出指定反应sigaction——接收信号函数sigqueue——发送信号函数一、sig

#linux#c语言
Linux API-信号量:semget、semctl、semop

信号量特点本质是一个计数器,内存中有多少个临界资源,信号量的数字就是多少信号量基于操作系统的 PV操作,程序对信号量的操作都是原子操作信号量用于进程间同步,若要在进程间传递数据需要结合共享内存信号量APIsemget——创建信号量semctl——控制信号量semop——对信号量进行PV 操作一、semget——创建信号量表头文件#include <sys/types.h>#includ

#linux#c语言
树莓派基于Linux内核驱动开发详解

一、驱动认知首先理解Linux内核框图文件系统认知,Linux内核框图驱动认知的参考文章:LINUX驱动学习之什么是驱动1、什么是驱动linux内核驱动。软件层面上的驱动 广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法的部分代码。而我们这里讲的驱动就指的是这个狭义上的驱动。2、Linux驱动的体系架构分离、分层思想驱动

#linux
Linux API-消息队列:msgget、msgsnd、msgrcv、msgctl

消息队列特性消息队列存在于Linux内核中,可以使数据双向流动数据在内核中,即使进程结束数据依然存在消息队列实际上是消息链表,每个队列都有自己的标识符消息队列APImsgget——创建一个消息队列msgsnd、msgrcv——添加数据到消息队列、从消息队列获取数据msgctl——控制消息队列一、msgget——创建一个消息队列1.原函数表头文件#include <sys/types.h&gt

#linux#c语言
Linux API-共享内存:shmget、shmat、shmdt、shmctl

共享内存特性共享内存存在于Linux内核中,可以使数据双向流动系统内核的所有进程都可共享此内存空间进程可直接访问共享内存,通信速度快、效率高通常用信号量来实现进程对共享内存同步访问的控制共享内存APIshmget——创建/打开共享内存shmat——将共享内存与当前进程相关联shmdt——将当前进程与共享内存间脱离关联shmctl——操控共享内存一、shmget——创建/打开共享内存1.原函数表头文

#linux#c语言
交叉编译工具链详解

交叉编译是什么,为什么要交叉编译一、 是什么交叉编译是在一个平台上生成另一个平台上的可执行代码。例如1、我们在windows上面编写C51代码,并编译成可执行文件代码,如xx.h在C51上面运行,然后在C51上面运行,不是在windows上面运行2、我们在Ubuntu上面写树莓派代码,并编译成可执行文件,如a.out,是在树莓派上面运行,不是在Ubuntuu Linux上面运行编译的意思是在一个平

#linux
暂无文章信息