- 博客(15)
- 收藏
- 关注
原创 记录几个跟socket编程相关的API
htonl函数//将主机数转换成无符号长整型的网络字节顺序。//本函数将一个32位数从主机字节顺序转换成网络字节顺序。uint32_t htonl(uint32_t hostlong);htons()函数//将主机的无符号短整形数转换成网络字节顺序。//hostshort:主机字节顺序表达的16位数。u_short htons( u_short hostshort);ntohl()函数//本函数将一个32位数由网络字节顺序转换为主机字节顺序。uint32_t ntohl(uint32
2021-03-15 15:04:00 134
原创 信号量 semget函数、semop函数、semctl函数
semget函数创建信号量集int semget( key_t key, int nsems, int flag);//such as: semId = semget(key,1,IPC_CREAT|0666); if(semId == -1){ perror("semget"); return -1; }参数 nsems是信号量集里面的信号量的个数参数 flag是信号量的操作类型以及操纵权限semop函数函数semop用以操作一个信号量集,通常用在
2021-03-07 21:42:41 3119
原创 共享内存 shmdt函数和shmctl函数
断开共享内存连接 int shmdt(const void *shmaddr); //such as: if(shmdt(shmaddr) == -1){ perror("shmdt:"); return -1; }参数 shmaddrshmat函数的返回值共享内存管理int shmctl(int shmid, int cmd, struct shmid_ds *buf);//such as:
2021-03-07 20:15:56 830
原创 共享内存 shmat函数
把共享内存区对象映射到调用进程的地址空间void *shmat(int shmid, const void *shmaddr, int shmflg);//such as: char* shm_p = shmat(shmId,NULL,0); if(shm_p == (void*)-1){ perror("shmat:"); return -1; }第一个参数 shmidshmget函
2021-03-07 20:05:15 1117
原创 共享内存 shmget函数
创建共享内存int shmget( key_t key, size_t size, int flag );//such as: key_t key = ftok(".",1); shmId = shmget(key,1024*4,IPC_CREAT|0666); if(shmId == -1){ perror("shmget:"); return -1; }第一个参数 k
2021-03-07 19:49:07 1004
原创 类FTP服务器(C语言)1.0版本
实现FTP服务器的部分功能1、ls 查看服务端文件2、pwd 查看服务端所在目录3、lls 查看客户端文件4、lcd xxx 进入xxx目录5、get xxx 从服务端获取xxx文件到客户端6、put xxx 从客户端上传xxx文件到服务端其中,config_new.h文件如下#define LS 1#define PWD 2#define QUIT 3#define LLS 4#define LCD 5#define CD 6 #define GET 7
2021-03-04 23:51:50 255 2
原创 用fgets函数代替gets函数
char buf[32] = {0};gets(buf);//相当于fgets(buf,sizeof(buf),stdin);if(buf[strlen(buf)-1] == '\n'){ buf[strlen(buf)-1] = '\0';}
2021-02-26 22:01:43 511
原创 Ubuntu 无法显示共享文件夹
输入命令sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000然后,关闭终端,重新打开即可
2021-02-23 01:55:45 175
原创 scanf()和fgets()
#include <string.h>#include <stdio.h>void get_file_name(const char*cmd){ printf("get cmd:%s",cmd); printf("cmd size:%ld\n",sizeof(cmd));}int main (){ char cmd[32] = {0};// scanf("%s",cmd); fgets(cmd,
2021-02-22 14:36:10 108
原创 树莓派3B的摄像头模块
树莓派3B的摄像头模块 (Raspberry Pi Camer aRev 1.3)树莓派利用pi Camera模块,通过mjpg-streamer软件获取视频,通过手机端或电脑端浏览实时视频。步骤1sudo apt-get update #更新软件列表sudo apt-get upgrade #更新软件sudo apt-get install subversion #Subversion是一个自由开源的版本控制系统sudo apt-get install libjpeg8-dev
2020-11-14 20:26:04 762
原创 ARM底层的字符设备驱动的编写以及编译**
ARM底层的字符设备驱动的编写以及编译编写树莓派引脚驱动代码步骤1:根据驱动模板,编写驱动代码#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init module_exit声明#include <linux/init.h> //__init __exit 宏定义声明#include <linux/device.h> /
2020-11-12 15:00:26 251
原创 原码反码以及补码的计算例子
原码反码补码转换总结1 正数的原码、反码和补码都相同。2 负数原码和反码的相互转换:符号位不变,数值位按位取反。3 负数原码和补码的相互转换:符号位不变,数值位按位取反,末位再加1。4 补码的补码是原码,反码的反码是原码补码和反码的计算例子...
2020-09-15 17:15:58 1163
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人