- 博客(351)
- 资源 (29)
- 收藏
- 关注

转载 值得推荐的C/C++框架和库,包含很多开源项目 (真的很强大)
值得学习的C语言开源项目-1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:http://home.tiscali.cz/~cz2...
2019-01-16 16:18:48
4003

原创 sizeof用法总结
由于不同位数的操作系统计算结果可能不同,下面是在32位的win7 下计算的。 1 对于直接的调用sizeof,如果是数组首地址,sizeof会输出数组所占地址空间的大小(字节为单位)。如果是一个指针的话,则输出在该系统中地址的字节宽度,即(位宽/8)。#include <stdio.h>int main(){ char a[25]; char *b;...
2018-09-21 08:46:31
1142

转载 TCP、UDP数据包大小的限制
1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络...
2018-09-04 12:10:55
4637

原创 数组元素为0的说明
最近在看UVC摄像头驱动,发现了这几段代码:for (j = 0; j < npackets; ++j) { urb->iso_frame_desc[j].offset = j * psize;//iso是实时的意思 urb->iso_frame_desc[j].length = psize; }跟踪iso_frame_d...
2018-06-08 16:10:25
3816

原创 OneNET学习资料汇总帖(2018年5月16日)
OneNET接入例程资源汇总:(一)介绍学习资料汇总1.老司机告诉你OneNET3.0是什么http://open.iot.10086.cn/bbs/forum.php?mod=viewthread&tid=667&extra=page%3D12.OneNET3.0私有协议设备接入快速入门(一)http://open.iot.10086.cn/bbs/thread-710-1-1....
2018-05-14 19:11:10
2357

转载 fcntl使用及FD_CLOEXEC详解
fcntl使用说明转自 http://www.cppblog.com/mysileng/archive/2013/01/15/197279.aspx功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); in
2018-01-27 15:35:33
1424

原创 在虚拟机里新建一个20G的硬盘,如何把他挂载在 /work 目录上
目的:在虚拟机里新建一个20G的硬盘,然后想把他挂载在 /work 目录上/dev/sda (系统盘)/dev/sdb (数据盘)/dev/sdc (数据盘)/dev/sdd (数据盘)/dev/sde (数据盘)1、查看文件系统是否已挂载:df -lFilesystem 1K-blocks Used Available Use% Mo
2018-01-01 19:37:50
3297

原创 C语言中 || 和 &&
|| 或操作,|| 为界将表达式分为两部分,他会先算前一部分,如果前一部分为真,他将停止运算,如果为假,他才会算第二部分,你这里第一部分就为真了,第二部分当然也就不会算了。例如: a || b ,只有在前一个条件a为假,才会去判断条件b ;若条件a为真,则条件b不会执行&&且操作 ,&&为界将表达式分为两部分,他会先算前一部分,如果前一部分为假,他将停止运算,如果为真,他才会算第
2017-12-21 21:36:05
64968
4

原创 ubuntu版本很老,apt-get update更新失败时(W: Failed to fetch ...)------如何创建新的sources.list
在这个网站创建新的sources.listhttp://repogen.simplylinux.ch/1. 选择国家2.选择相邻的ubuntu版本3.选择"Ubuntu Branches"4. 生成sources.list5. 把得到内容替换到/etc/apt/sources.list6. sudo apt-get update
2017-12-09 13:31:19
829

转载 apt-get update 更新失败----如何清除破损而且陈旧的PPA仓库 (W: Failed to fetch http://ppa.launchpad.net/jonathonf/pyt)
问题:我试着通过运行apt-get update命令来再次同步包索引文件,但是却出现了“404 无法找到”的错误,看起来似乎是我不能从先前添加的第三方PPA仓库中获取最新的索引。我怎样才能清除这些破损而且陈旧的PPA仓库呢?Err http://ppa.launchpad.net trusty/main amd64 Packages 404 Not FoundErr http://
2017-12-08 18:39:16
11354
2

转载 自旋锁和互斥锁的区别
自旋锁和互斥锁的区别POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套API。线程同步是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间的共享临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:Mutex(互斥量):pthread_m...
2017-11-25 21:21:50
7768

原创 二级指针如何分配动态内存并赋值
//二级指针如何分配动态内存并赋值#include #include int main(void){ int **p = NULL; //最好是显式初始化这个二级指针 以防不测 int m, n, i, j; printf("请输入数组的行数和列数:\n例如格式:5,6 :代表5行6列\n"); scanf("%d,%d", &m, &n); p
2017-10-21 16:44:34
3096

原创 TIM_GetCounter与TIM_GetCapture1的区别
/** * @brief Gets the TIMx Input Capture 1 value. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @retval Capture Compare 1 Register value. */uint16_t T
2017-07-11 14:33:43
27492
2

原创 STM32的ADC1采集多条通道,可以不使用DMA功能吗?
类似的问题为什么我采集5条通道的电压,而采集到的值却都是第一条的呢?我什么时候需要使用DMA功能?Ⅰ关于ADC的一些知识STM32的ADC是一种12位逐次逼近型的模拟数字转换器。它有多达18条通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器
2017-07-07 17:20:02
9118
1

转载 STM32 输入捕获的脉冲宽度及频率计算
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。以下是对脉冲宽度及频率的计算。1、脉冲宽度如下图所示,采集该高电平脉冲的宽度,只需要进入输入捕获上升沿检测,记录当前的发生上升沿时的CNT值,再进行输入捕获下降沿检测,也记录当前发生下降沿时的CNT值,两次CNT值的差值再根据计数的频率就可以算出脉冲的宽度。
2017-06-29 15:01:43
48105
6

原创 if语句的陷阱
#includevoid main(){ char a=0; if(a==0) { a=1; printf("00000000\n"); } else if(a==1) { a=0; printf("11111111\n"); }}输出结果是:0000
2017-06-29 14:06:32
677

转载 单片机串口通信原理和控制程序
我们前边学串口通信的时候,比较注重的是串口底层时序上的操作过程,所以例程都是简单的收发字符或者字符串。在实际应用中,往往串口还要和电脑上的上位机软件进行交互,实现电脑软件发送不同的指令,单片机对应执行不同操作的功能,这就要求我们组织一个比较合理的通信机制和逻辑关系,用来实现我们想要的结果。本节所提供程序的功能是,通过电脑串口调试助手下发三个不同的命令,第一条指令:buzz on 可以让蜂鸣
2017-06-17 16:35:15
6316
6

原创 linux getline()函数
getline()函数是什么?百度百科这样解释: getline不是C库函数,而是C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。linux标准C中使用条件:#define _GNU_SOURCE#include 函数声明:ssize_t ge
2017-06-16 20:47:14
3511

原创 strcpy()与strncpy()的区别
头文件:#include <string.h>strcpy() 函数用来复制字符串,其原型为:char *strcpy(char *dest, const char *src);【参数】dest 为目标字符串指针,src 为源字符串指针。注意:src 和 dest 所指的内存区域不能重叠,且dest 必须有足够的空间放置 src 所包含的字符串(包含结束符NULL)。【返回值】成功执行...
2017-06-16 17:37:13
23301
1

转载 制作开机LOGO就是这么简单!
转自: http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328522&idx=1&sn=64107695fef34ba48f04a78be7a37951&chksm=83976f00b4e0e61629f6f38a4868727bbd1f333a3bb43f0d1303adeb5fa3bb2d6b00f61e35df&mpshare
2017-06-12 13:38:20
3558

原创 getenv、setenv函数(获取和设置系统环境变量) 与 环境变量
1、getenv()函数名: getenv功 能: 从环境中取字符串,获取环境变量的值头文件: stdlib.h用 法:char *getenv(char *envvar);函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为envvar=value。
2017-05-25 19:57:51
17049

转载 C语言itoa()函数和atoi()函数详解(整数转字符C实现)
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa()
2017-04-13 20:56:15
13269

原创 linux获取文件大小的函数fstat()
C语言fstat()函数:由文件描述词取得文件状态头文件:#include #include 定义函数:int fstat(int fildes, struct stat *buf);函数说明:fstat()用来将参数fildes 所指的文件状态, 复制到参数buf 所指的结构中(struct stat). fstat()与stat()作用完全相同,
2017-03-03 09:11:27
14068

原创 函数指针和指针函数的区别
一、【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。 1、函数指针定义 顾名思义,函数指针说的就是一个指针,但这个指针指向的函数,不是普通的基本数据类型或者类对象。函数类型(*指针变量名)(形参列表
2017-01-03 16:04:41
440

原创 整数拆分 整合算法
转载请注明出处:// 整数分解然后再整合.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"/** 第一个参数 num :要被分解的整数* 第二个参数 a[] :把整数分解后,存在这个数组里* 函数返回值 : 被拆的整数 的位数*/int myRevert(int num, int a[]) //把整数
2016-06-25 19:12:15
1330

转载 什么是C语言结构体字节对齐,为什么要对齐?
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取
2016-06-13 18:48:03
5277
原创 mysql8.0 更改root用户密码
打开mysql命令终端 “MySQL 8.0 Command Line Client” ,然后输入密码进入。紧接着输入如下命令,可将密码更改为 rootcgcl。
2022-11-22 15:31:55
164
原创 qt libvlc增加拍照功能
void MainWindow::on_pbtn_snapshot_clicked() //拍照功能{ QDateTime current_date_time = QDateTime::currentDateTime(); QString current_date = current_date_time.toString("yyyy-MM-dd_hh-mm-ss.zzz"); QString file_name = "./picture"+current_date+".jpg";.
2022-05-04 08:22:10
226
原创 Exception in thread “main“ java.lang.NoClassDefFoundError: Hello (wrong name: com/java/test/Hello)
java代码 Hello.javapackage com.java.test;public class Hello { public static void main(String args[]) { int i = 0; for (i = 0; i < 3; i++) { System.out.println("Hello, world!"); ..
2022-04-27 13:12:20
135
原创 uboot do_load函数分析
load mmc 0:2 0x10000000 /boot/zImage argv[1] argv[2] argv[4]int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[], int fstype){ unsigned long addr; const char *addr_str; const char *fi...
2022-04-08 17:35:55
575
原创 stm32 hal串口中断分析
stm32 hal串口中断分析startup_stm32f103xe.s(115) : DCD USART1_IRQHandler USART1_IRQHandler HAL_UART_IRQHandler //调用HAL库中断处理公用函数。 功能:对接收到的数据进行判断和处理 判断是发送中断还是接收中断,然后进行数据的发送和接收,在中断服务函数中使用 /* UART in mode Receiver --------...
2022-04-08 17:25:02
1495
原创 OpenCV调用usb摄像头出现“select timeout”解决方法
如果使用的是虚拟机,可能是usb的兼容性问题。改成支持usb3.0就行如果上述解决不了,可参考:OpenCV调用usb摄像头出现“select timeout”解决方法 - brt2 - 博客园
2022-03-22 21:47:39
4431
原创 Fault tolerant heap shim applied to current process. This is usually due to previous crashes
运行程序时报错:FTH: (14208): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***解决方法第一步:win+R , 输入命令 regedit 打开注册表; 第二步:找到节点 “ 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompa.
2022-03-14 15:40:47
2196
原创 V4L2像素格式及其对应的含义
//未压缩的格式 case V4L2_PIX_FMT_RGB332: descr = "8-bit RGB 3-3-2"; break; case V4L2_PIX_FMT_RGB444: descr = "16-bit A/XRGB 4-4-4-4"; break; case V4L2_PIX_FMT_ARGB444: descr = "16-bit ARGB 4-4-4-4"; break; case V4L2_PIX_FMT_XRGB444: descr = "16-bit XR...
2021-12-09 11:00:29
1142
原创 查看gstreamer插件
[root@RV1126_RV1109:~]# gst-inspect-1.0 --gst-plugin-path=/usr/lib/gstreamer-1.0|grep mpprockchipmpp: mppvideodec: Rockchip's MPP video decoderrockchipmpp: mpph264enc: Rockchip Mpp H264 Encoderrockchipmpp: mppvp8enc: Rockchip Mpp VP8 Encoderroc..
2021-08-11 16:38:37
820
原创 repo解析的xml文件
可以查看 这个 manifest.xml 。 repo 是解析这个 xml 来更新 SDK的,打开这个xml文件:vim .repo/manifests/rv1126_rv1109_linux_release.xml找到如下一行:<project name="kernel" revision="4b1845bafe8b15038ef02617899a4e2593d9786d" upstream="rv1126_rv1109/firefly"/>这里的kernel co..
2021-08-11 16:35:11
813
原创 关于buildroot编译问题--功能配置了,但未编译进内核
编译配置完保存后编译的时候需要注意,如果是新增的配置,则执行如下指令就可以直接编译进 rootfs了./build.sh buildroot如果是在已有的配置项里面新增配置,则需要先将应用清理,然后再重新编译,这样才会重新去读取配置文件里面的配置项,根据配置项重新编译应用后再编译buildroot,才能将修改编译进文件系统,如 rkmedia 重新编译 { 可以看到定义在 package/rockchip/rkmedia/ 目录下(非瑞芯微适配的包一般在package/ 目录下),因
2021-08-11 16:31:07
498
Rockchip_Developer_Guide_Linux_IO_DOMAIN_CN.pdf
2021-04-19
Rockchip_Developer_Guide_Linux4.4_PCIe_CN.pdf
2021-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人