C/C++
张和阳
精通android系统。熟悉鸿蒙设备开发。
目前从事汽车行业多媒体领域软件开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
华为机试ACM部分笔记---C++
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)原创 2024-02-09 10:48:03 · 249 阅读 · 0 评论 -
C语言#与##最直白的用法介绍
C语言#与##最直白的用法介绍原创 2024-05-07 15:59:24 · 255 阅读 · 1 评论 -
C语言字节对齐,看这篇就够了
#pragma pack(N) 编译器用'N'来设置数据的对齐方式。默认32位OS对齐字节是4,64位对齐字节是8。'N'有可能影响结构体内部成员的对齐位置,以及结构体整体大小。gcc 中,N不能大于默认的对齐字节数,否则不生效。对齐规则 规则一.:每个成员变量在其结构体内的偏移量都是“MIN(N,成员变量类型的大小)”的倍数。 规则二:如果有嵌套结构体,那么内嵌结构体的第一个成员变量在外结构体中的偏移量,是“MIN(N,内嵌结构体中那个数据类型大小最大的成员变量)”的倍...原创 2021-08-31 13:21:49 · 1114 阅读 · 1 评论 -
LINUX获取NTP与系统时间偏移的方法
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/time.h>#include <unistd.h>#include <sys/select.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netdb.h>#include &.原创 2021-07-29 15:09:50 · 1380 阅读 · 0 评论 -
C++ 11实现 messagequeue, looper,handler
message 可根据实际情况定义#pragma once#include <algorithm>#include <iostream>#include <memory>#include <string>#include <vector>#include <functional>class Dispatcher;using std::string;class Message: public std::ena原创 2021-06-10 17:01:38 · 1835 阅读 · 0 评论 -
通过字符设备虚拟文件系统实现kernel和userspace数据交换(基于kernel 5.8测试通过)
kernel space代码#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/io.h> //ioremap()#include <linux/delay.h>#include <linux/cdev.h>#include <linux/fs.h>#include <.原创 2021-05-24 17:46:04 · 284 阅读 · 0 评论 -
内核与用户空间通过字符设备通信
kernel空间代码:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/io.h> //ioremap()#include <linux/delay.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/原创 2021-05-21 19:01:02 · 147 阅读 · 0 评论 -
通用的 kernel和 userspace Makefile
User space的Makefile, 保存为一个Makefile文件MAKE = gccLIB = -L./INC = -I./CXXFLAGS = -lpthreadTARGET=cdevSRC=$(wildcard ./*.c)OBJ=$(patsubst %.c, %.o, $(SRC))$(TARGET): $(OBJ) $(MAKE) $(CXXFLAGS) -o $@ $^ $(LIB)$(OBJ):%.o: %.c $(...原创 2021-05-21 17:43:28 · 271 阅读 · 0 评论
分享