![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
cooper1024
这个作者很懒,什么都没留下…
展开
-
【C语言】实现线程池
C语言线程池转载 2022-08-17 20:35:47 · 188 阅读 · 1 评论 -
qt使用笔记
QT官方交叉编译教程https://wiki.qt.io/Building_Qt_for_Embedded_LinuxQT源码下载地址https://download.qt.io/official_releases/qt/https://download.qt.io/archive/qt/QT4旋转QT4在使用QWS_DISPLAY宏设置旋转的需要在编译的时候开启-qt-gfx-transformed选项。通过QWS_DISPLAY宏定义设置旋转角度export QWS_DISPLAY='Tr原创 2022-05-11 17:15:37 · 269 阅读 · 0 评论 -
git使用笔记
git生成标准补丁git diff > git apply --reject --whitespace=fix 0001.diffgit打补丁:错误:new blank line at EOF. git apply --reject --whitespace=fix 0001.patch将git的子目录做成子模块参考博客git clone coloshine-server coloshine # 克隆仓库cd coloshinegit branch -r br1 origin/原创 2022-05-11 16:54:09 · 515 阅读 · 0 评论 -
memdump的C语言实现
#include <stdio.h>#include <string.h>#include <ctype.h>static const char * const hex_digit = "0123456789ABCDEF";static char quickhex (int i){ return hex_digit[i];}static void memdump (void *pv, size_t num){ int i; unsigned c原创 2022-05-11 16:30:58 · 379 阅读 · 0 评论 -
linux读取mac地址
背景在应用开发中,很多时候会使用到设备的MAC地址。通常在终端我们使用ifconfig获取网卡的mac地址。在程序中使用ifconfig获取mac地址需要使用管道的方式来获取信息。也可以通过iocatl的方式获取mac地址实现#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/ioctl.h>#include原创 2022-05-11 16:27:30 · 2919 阅读 · 1 评论 -
使用epoll检测gpio引脚
背景在应用层操作GPIO除了驱动以外主要是通过读取改变gpio子系统的文件内容来实现gpio的读写,但是当需要监测gpio的状态改变时循环去检测文件改变是会消耗大量cpu资源的事情,此时我们可以使用epoll来检测文件的改变代码实现#include <stdlib.h> #include <stdio.h> #include <stdbool.h> #include <string.h> #include <unistd.h>原创 2022-05-09 14:30:43 · 1506 阅读 · 0 评论 -
C语言标准输入立即读取(ICANON),特殊字符(0x11, 0x0d, 0x13)的串口接收
背景在很多时候需要测试的场景下,或者类似与控制的场景下,我们希望每次从键盘上输入一个字符可以立即被程序读取到而不是需要换行以后才能被程序读取。此时我们需要设置标准输入的ICANON标志。在linux使用usart和外围硬件进行通信的时候,会有0x11, 0x0d, 0x13等特殊字符不能接收的问题,此时需要设置ICRNL、IXON等标志标准输入测试例test.c#include <stdio.h>#include <stdlib.h>#include <unist原创 2022-05-09 11:51:46 · 1855 阅读 · 0 评论 -
C语言程序对夏令时的处理
背景在设备应用中,用户需要根据自己的时区设置设备时区。在可交互的系统中或者完整的linux系统中可以通过设置/etc/TZ等时区文件链接的文件来修改设备时区。但是在一些rtos或者不能使用上面设置TZ文件方式的系统中,可以通过设置应用进程的TZ环境变量的方式来设置时区,此时在通过localtime等函数转换的时间就是本地时间了。效果展示$ make test ./timezoneEurope/London ts 1647169200, date 2022-03-13 11:00:原创 2022-04-27 17:50:39 · 2193 阅读 · 0 评论 -
backtrace
使用backtrace打印函数调用堆栈#include <execinfo.h>#include <stdio.h>#include <stdlib.h>/* Obtain a backtrace and print it to stdout. */void print_trace (void){ void *array[10]; size_t size; size_t i; size = backtrace (array, 10); p原创 2022-04-15 14:00:47 · 108 阅读 · 0 评论 -
C语言内存溢出调试
背景C语言中没有成对使用malloc和free会导致内存溢出。以下介绍查找内存溢出的方法。方法一:重写malloc和free在标准的glibc中,malloc和free都是弱函数,通过重写mall和free的方式来打印内存的申请和释放。#include <stdio.h>#include <malloc.h>extern void *__libc_malloc(size_t size);extern void *__libc_free(void *ptr);int原创 2022-04-15 11:35:04 · 2078 阅读 · 0 评论 -
【笔记】strftime的使用方法
strftimestrftime是C语言标准库中用来格式化输出时间的的函数。下面是strftime的用法各参数意义代码使用示例#include<stdio.h>#include<time.h>#define print(s1, s2,s3) \ printf("%-20s%-30s%s\n",s1, s2,s3);int main(){ time_t rawtime; struct tm* timeinfo; char timE[80]; /原创 2021-12-29 15:37:28 · 5205 阅读 · 0 评论