![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
L+C
Soaring丶
这个作者很懒,什么都没留下…
展开
-
C/C++ memmove与memcpy的区别及实现
1.与字符串函数strcpy区别: memcpy与memmove都是对内存进行拷贝可以拷贝任何内容,而strcpy仅是对字符串进行操作。 memcpy与memmove拷贝多少是通过其第三个参数进行控制而strcpy是当拷贝至'\0'停止。 2.函数说明: memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝N个字节到目标dst所指的内存地址的起始位置中。 memmove函数的功能同memcpy基本一致,但是当src区域和dst内存区域重叠时,memcpy可能会出现错误,而memmove能正确原创 2022-03-18 11:36:14 · 252 阅读 · 0 评论 -
Linux之ubuntu 搭建samba服务(linux与windows之间共享文件)
环境:Ubuntu18.04 、win10 1.更新 #更新软件源 sudo apt-get update #更新所有软件 sudo apt-get upgrade 2.安装samba服务器 sudo apt-get install samba 3.创建共享目录 sudo mkdir /home/MyShare sudo chmod 777 /home/MyShare 4.添加用户设置密码 #yy是linux的下我的用户名 sudo smbpasswd -a yy 5.配置/etc/samba/原创 2022-03-09 11:01:37 · 254 阅读 · 0 评论 -
将0x11223344转换为0x44332211(大小端转换)
#include<stdio.h> int main() { int a = 0x11223344; char *p = (char *)&a; printf("%#x\n",a); printf("%#x %#x %#x %#x\n",p[0],p[1],p[2],p[3]); for(int i= 0;i<2;i++){ int j = 3-i; int tem = p[i]; p[i]=p[j]; p[j]=tem; }原创 2021-11-15 15:34:50 · 1484 阅读 · 0 评论 -
类FTP云盘项目(Linux文件管理系统)
ftpconfig.h #define LS 0 #define GET 1 #define PWD 2 #define IFGO 3 #define LCD 4 #define LLS 5 #define CD 6 #define PUT 7 #define QUIT 8 #define DOFILE 9 struct Msg { int type; char data[1024]; char secondBuf[1024]; }; ftpserver.c #include <sy原创 2021-11-02 14:29:19 · 146 阅读 · 0 评论 -
嵌入式2020——信号量集例程
csem.c #include <stdio.h> #include <errno.h> #include <sys/sem.h> int pmenu(void) { printf("--------------------\n"); printf(" 迷你图书馆\n"); printf("--------------------\n"); printf("[1] 借《三国演义》\n"); printf("[2] 还《三国演义原创 2021-09-12 20:20:18 · 146 阅读 · 0 评论 -
线程同步之互斥量(初始化 销毁 加锁 解锁)以及死锁现象
互斥量未加锁demo #include<stdio.h> #include<pthread.h> // int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); // int pthread_join(pthread_t thread, void **retval); //void pthread_exit(原创 2021-03-22 15:25:25 · 171 阅读 · 0 评论 -
二叉树代码
tree.h #ifndef __TREE_H #define __TREE_H #include <stdio.h> #include <stdlib.h> //声明描述节点的数据结构 typedef struct node { int data; //数据 struct node *left; //左子树地址 struct node *right; //右子树地址 }node_t; //声明描述整颗树的数据结构、 typedef struct tre原创 2021-04-17 17:01:16 · 250 阅读 · 0 评论 -
单链表操作(模块化编程,Makefile使用)
list.h #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct node { int data; struct node *next; }node_t; typedef struct list { struct node* head; struct node* tail; }list_t; extern struct node *creat_node(int data)原创 2021-04-16 16:31:20 · 93 阅读 · 0 评论 -
树莓派和语音模块实现语音识别功能
记得也要去修改这个玩意儿 实现代码 1 2 #include<wiringSerial.h> 3 #include<wiringPi.h> 4 #include<stdio.h> 5 #include<string.h> 6 #include<unistd.h> 7 8 int main() 9 { 10 int fd; 11 12 char cmd[128] = {'\0'};原创 2021-04-05 20:48:01 · 1170 阅读 · 0 评论 -
linux动态库和静态库
原文教程连接:https://blog.csdn.net/wk_bjut_edu_cn/article/details/81735956 1.库是什么? 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。 2.如何使用? 用户需要同时具有头文件和库。 头文件(相当于说明书的作用,能够知道这个库能干嘛) 制作出来的库(具体的实现,存放.c、.cpp) 3.静态库的制作和使用 (1)命名规则 静态库文件名的命转载 2021-03-30 18:24:28 · 56 阅读 · 0 评论 -
Linux共享内存及共享内存API (含实现代码)
共享内存区是最快的IPC(进程间通信)形式。 共享内存基本API: #include<sys/ipc.h> #include<sys/shm.h> 1. int shmget(key_t key,size_t size,int shmflg); 功能:用来创建共享内存 key:是这个共享内存段的名字 size:共享内存的大小 shmflg:相当于权限位(如0666) 返回值是共享内存段的标识码shmid, 例如:shmid = shmget(0x1111, 128, 0666); /原创 2021-03-19 17:50:13 · 490 阅读 · 0 评论