- 博客(25)
- 收藏
- 关注
原创 LVGL开源图形库学习总结
上图中的LittledvGL模块,都是基于其定义的“timer”定时器设计的,LVGL需要系统应答才能知道什么时候该切换其他任务,调用动画等模块经过了多少时间。lv_tick_inc:定期调用 函数,并以毫秒为单位告知调用周期;lv_timer_handler:任务处理器(Task Handler);
2023-04-21 15:55:37 4603
原创 元组的使用
在泛型开发中经常有时候需要用 一个对象 或 一个接口 对 不同的对象 进行集中处理,常见的处理方法是使用vecotr等容器存储基类指针,通过C++的多态调用子类的虚函数进行处理。//基类1//基类2int main(){//使用容器存储并进行统一处理}用如上述法去处理不同对象有着使用的限制,那就是从设计上,管理的对象必须继承于同一个基类对象,必须事先预留供实现的虚函数接口,如果想使用同一个模板对象或者模板函数去统一处理的话,上述的方法管理对象就不适用了。
2022-12-02 15:21:53 739
原创 左值右值完美转发
左值右值完美转发通过一个简单的例子介绍几个在代码中比较少见但是可能可以用到的例子,作为最近学习相关知识的总结,具体可以研究下代码。看几个具体的案例:例1:final、 override 关键字和 =default、 =delete 语法1.1 final 关键字class A final :C类A被声明为具有final属性,不可再被继承。final还可以用于声明方法为final,该方法将不可被重写。函数WorkInfo::something()继承自类Work,并使用了final声明该函
2022-01-20 16:59:08 163
原创 动态数组类模板C++
template <class T>class Arrary{private: T *list; int size;public: Arrary(int sz = 50); Arrary(const Arrary<T> &a); Arrary<T> & operator = (const Arrary<T> &rhs); T &operator [](int i);
2021-02-20 20:11:02 338
原创 插入排序
int insort_fun(int *arr,int count);int main(int argc,const char *argv[]){ int arr[32] = {0}; int i; for(i=0;i<32;i++){ arr[i] = rand()%100; printf("%d ",arr[i]); } printf("\narr:\n"); insort_fun(arr,sizeof(ar
2021-02-16 20:01:37 98
原创 快速排序
void quicksort(int *arr,unsigned int cont);int main(int argc,const char *argv[]){ int arr[32] = {0}; int i = 0; for(;i<32;i++){ arr[i] = rand()%100; printf("%d ",arr[i]); } printf("\narr:\n"); quicksort(arr,si
2021-02-16 20:00:22 98
原创 归并排序
void mergesort(int *,int *,unsigned int,unsigned int);void msort(int *arr,int cont);int main(int argc,const char *argv[]){ int arr_1[16] = {0}, arr_2[16] = {0}; int i = 0; printf("arr_1:"); for(;i<16;i++){ arr_1[i] = rand()%10
2021-02-16 19:59:08 127
原创 使用递归写My_strlen()
int My_strlen(char *str);int main(int argc,const char *argv[]){char buf[32];memset(buf,0,sizeof(buf));gets(buf);int len = My_strlen(buf);printf(“len = %d\n”,len);return 0;}int My_strlen(char *str){if(*str == ‘\0’)return 0;return (My_strlen(++
2021-02-16 19:57:56 131
原创 测试代码:LED字符驱动
led字符驱动设备 #include <linux/init.h> #include <linux/module.h> //内核模块的头文件#include <linux/fs.h> //for MKDEV register_chrdev_region#include <linux/cdev.h> //字符设备头文件#include <asm/io.h> //for ioremap#include <asm/uacces
2021-02-01 14:30:02 192
原创 QT 即时聊天工具 1:登录界面
简单介绍一下,完成品是实现类QQ的IM即时聊天工具,功能是大概有登录、注册,收发文件图片,图灵机器人等等这是登录界面,先上一个登录界面大概的效果图:代码:QString Widget::username_;Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); this->setWindowTitle("Logon Scree
2021-02-01 14:21:39 506
原创 测试代码:UDP服务器与客户端
typedef struct sockaddr *addr_t;int main(int argc,char *argv[]){ int sockfd = socket(AF_INET,SOCK_DGRAM,0); if(sockfd < 0){ perror("socket"); return -1; } struct sockaddr_in seraddr,cliaddr; seraddr.sin_family = AF_INET; seraddr.sin_port = h
2021-02-01 14:07:49 249
原创 测试代码:多线程服务器
#define NUM 1024struct userdata { char ip[32]; int connfd; //char buf[NUM];};void *pthread_fun1(void *arg){ int connectfd = ((struct userdata *)arg)->connfd; char ip_user[32] ; strcpy(ip_user,((struct userdata *)arg)->ip); printf("connec
2021-02-01 14:06:26 138
原创 测试代码:多进程服务器
typedef struct sockaddr *addr_t;void killFun();int dataFun(int connfd);int main(int argc,char *argv[]){ //AF_INET:ipv4 int sockfd = socket(AF_INET,SOCK_STREAM,0); if(sockfd < 0){ perror("socket"); return -1; } struct sockaddr_in seraddr; s
2021-02-01 14:04:52 124
原创 测试代码:mque消息队列
int main(int argc,char *argv[]){//获得KEY值key_t key;if((key = ftok("/",1))<0){perror(“ftok”);return -1;}//打开或者创建消息队列int msgid;if((msgid = msgget(key, IPC_CREAT | 0644))<0){ perror("msgget"); return -1;}system("ipcs -q");if(msgctl(msgid,
2021-02-01 14:00:15 347
原创 测试代码:shm共享内存
int main(int argc,char *argv[]){key_t key;if((key = ftok("/",1))<0){perror(“fork”);return -1;}AA:printf("%x\n",key);//创建IPC对象,共享内存int shmid = shmget(key,1024,IPC_CREAT | 0640);if(shmid < 0){ perror("shmget"); return -1;}printf("id:%d\
2021-02-01 13:59:38 152
原创 测试代码:mkfifo
int main(int argc,char *argv[]){int mk = mkfifo(“1.p”,0640);if( mk < 0){perror(“mkfifo”);//return -1;}int fd = open(“1.p”,O_RDWR);if(fd < 0){perror(“openfd”);}#if 0pid_t pid;if((pid = fork())<0){ perror("fork"); return -1;}if(pi
2021-02-01 13:55:39 132
原创 C++ Mystring类
#include <iostream>#include <stdlib.h>#include <cstring>using namespace std;class Mystring{public: Mystring(){ //无参构造函数 str = NULL; } Mystring(char *p){ //有参构造 if (p != NULL){ int len = sizeof(p);
2020-11-20 20:19:43 395
原创 c语言贪吃蛇小游戏
初学者练习代码贪吃蛇小游戏#include <strings.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#define N 16#define NUM 64#define G 254char GameDate[N][NUM];char *p=&GameDate[7][31];char *plong[G+1];char *qf=NULL;int cou
2020-11-09 20:05:35 426
原创 简单的多路复用服务器
初学者练习代码#include <strings.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#include <unistd.h>#include <time.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#incl
2020-11-09 20:01:56 133
原创 简单的tpc服务器实现下载上传和传输文件和列出可操作文件
服务器代码,只测了目录下的文件名传递,还没测过上传和下载。客户端写好了测好了再一起传// An highlighted block#include <strings.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <pthread.h>
2020-11-09 10:40:53 640
原创 简单链表实现队列
简单链表实现队列最近开始学习数据结构,这里贴上自己的练习代码,用c语言实现链表的简单出队和入队,因为是初心者有误的地方希望能不吝赐教。头文件定义:#ifndef _LINK_H#define _LINK_Htypedef int data_t;typedef struct node{ data_t data; struct node *next; struct node *last;}link,*link_t;typedef struct{ link_t head; link_t
2020-10-22 17:12:09 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人