- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 kill -s SIGALARM 进程号,测试代码方式
1. 代码撸完之后,需要单元测试,单元测试有时需要依赖其他模块、进程用kill -s 信号名 进程号;这样方式可以自行发送测试接口所需要的数据资源例如:void CTest::CreatSignal(){ signal(SIGALARM, CTest::Sigroutine);}void CTest::Sigroutine(int signo){ switch(signo){ case ...
2021-08-12 09:39:27
249
翻译 AddressSanitizer内存检测
https://blog.youkuaiyun.com/tq08g2z/article/details/90347700gcc -fsanitize=address -fno-omit-frame-pointer -o1 -g fileBase.cpp -o main
2021-07-20 15:15:29
152
原创 valgrind 编译海思
https://blog.youkuaiyun.com/understand125/article/details/80689564https://blog.youkuaiyun.com/fengbingchun/article/details/97756419创建一个脚本build.sh, 内容如下:./configure --host=arm-hisiv100nptl-linux --prefix=/`p...
2020-01-15 15:12:49
450
原创 C++ 类指针问题, 类指针=0,能调用类内部成员函数
/*测试类指针*/#include <iostream>#include <stdlib.h>#include <stdio.h>#include <string.h>using namespace std;class CClassPointer{ public: CClassPointer();...
2019-10-23 10:02:07
932
原创 c语言字节对齐方式
1. 更改C编译器的缺省字节对齐方式在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。一般地,可以通过下面的方法来改变缺省的对界条件:· 使用伪指令#pragma pack (n),C编译器将按照n个字节对齐。· 使用伪指令#pragma pack (),取消自定义字节对齐方式。另外,还有如下的一种方式:· __attribute((aligned (n))),...
2019-10-16 15:09:53
520
原创 c++ 函数模版
如果需要多个将同一个算法用于不同类型的函数,请使用模版函数模版:要让编译器知道程序需要一个特定形式的交换函数,只需在程序中使用Swap()函数即可,编译器将检查所使用的参数类型,并生成相应的函数,1. template<typename AnyType>void Swap(AnyType &a, AnyType&b){ AnyType tem...
2019-10-14 18:07:30
134
原创 shell 学习杂记
1. shell脚本for循环读取数据 。例如:读取上一级目录,循环打印出来。 for file in `ls ../`;do echo ${file} done 2. 获取字符串长度(使用${#} 获取字符创长度) var="0123456789abcdef"...
2019-09-17 14:44:07
207
翻译 linux valgrind 检查内存是够泄露
安装下载请参考https://blog.youkuaiyun.com/primeprime/article/details/79539504使用说明https://blog.youkuaiyun.com/suifengpiao_2011/article/details/518861861.编译文件gcc -o testmain main.c -g1. valgrind --to...
2019-05-16 18:31:34
175
翻译 winSCP连接不到VMware(ubuntu)
1. 查看ssh服务状态 sudo service sshd status2. 安装ssh服务 sudo apt-get install openssh-server sudo apt-get install sshd3. 开启ssh服务 sudo service sshd start4.监听多个端口 在/etc/ssh/ssh_...
2019-03-13 15:25:41
1456
翻译 可重入函数定义
如果一个进程的多条线程可以同时安全地调用某一函数,那么该函数就是可重入的。安全:无论其他线程调用该函数的执行状态如何,函数均可产生预期的结果。1. 定义:函数由两条或者多条线程调用时,即便是交叉执行,其效果也与各线程以未定义顺序依次调用时一致。2. 更新全局变量或者静态数据结构的函数可能是不可重入的。(只用到本地变量的函数肯定是可冲入的)。如果对函数的两个调用(例如:分别有两条指定线程...
2019-02-21 13:51:33
471
转载 Makefile 学习笔记
此处参考别人的Makefile结构介绍makefile文件中:clean写法:.PHONY:cleanclean: rm *.o -rfmake clean 编译文件 test:$@ gcc *.c -o test .PHONY:clean clean: rm test* -r...
2019-02-19 10:44:20
318
原创 零长度数组 ,
不占用结构体空间,使用分配内存,但是可以使用,使用完不用释放内存。零长度数组内存大小没有限制,使用指针不能偏移(除非使用malloc,给零长度数组分配内存)例如:typedef struct{ char *data; char buf[0];}buf_t; int main(){ buf_t buf; cha...
2018-12-09 21:22:24
480
翻译 linux 编译静态库文件
编译步骤:gcc -c *.c编译静态库ar -r libtest.a *.o编译执行文件gcc main.c -L libtest.a -o main./main https://www.cnblogs.com/huangxinzhen/p/4047051.html linux 查看动态库以懒的文件 使用 ldd 久添加环境变量(影响...
2018-11-18 21:48:55
422
翻译 Linux原子操作,读写锁机制
若干汇编语言指令具有“读--修改--写”类型 。也就是说,他们访问存储单元两次,第一次读原值,第二次写新值。假定运行在两个CPU上的两个内核控制路径试图通过执行非原子操作来同时“读--修改--写”同一个存储器单元。首先,两个CPU都试图读同一个单元,但是存储器仲裁器(对访问RAM芯片的操作进行串行化的硬件电路)插手,只允许其中一个访问而不让另一个延迟。然而,当第一个读操作已经完成后,延迟的CP...
2018-11-14 15:56:18
4380
原创 linux 学习杂记
linux open(), 标志位 O_TRUNC,这个标志位把文件内容清空和文件长度截断为:01.Linux 最大线程数/proc/sys/kernel/pid_max2. 线程栈大小(thread_info)8K。 (ulimit -a 查看)一般默认情况下,线程栈是在进程的堆中分配栈空间,每个线程拥有独立的栈空间,为了避免线程之间的栈空间踩踏,线程栈之间还会有以小块gua...
2018-11-07 18:19:55
180
翻译 同步和临界区(资源竞争问题)
实现可重入内核需要利用同步机制:如果内核控制路径对某个内核数据结构进行操作时被挂起,那么,其他的内核控制路径就不应该再对该数据结构进行操作,除非它已被重新设置成一致性(consistent)状态。否则,两个控制路径的交互作用将破坏所存储的信息。 例如,假设全局变量V包含某个系统资源的可用项数。第一个内核控制路径A读这个变量,并且确定仅有一个可用资源项。这时,另一个内核控制...
2018-11-07 12:45:18
488
转载 vmware 网络不可达
1. ifconfig -a 查看当前的网卡2. cd /etc/sysconfig/network-scripts/3. 打开对应网卡名称文件, 具体修改内容参考(https://www.cnblogs.com/GJ-ios/p/6393737.html)ONBOOT = yes ...
2018-09-06 16:37:19
13307
翻译 linux 目录文件介绍 ,功能配置
1. 使用基于ncurse 库 编写的图形界面工具 make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 简要目录:arch 特定体系结构的源码block 块设备IO层Documentation ...
2018-08-28 12:51:21
111
转载 GPIO IO操作函数
#include <linux/gpio.h> //里面声明io口的操作函数int gpio_request(unsigned gpio, const char *label);//每个io只能被请求一次,可防止多个驱动来控制同一个IO口void gpio_free(unsigned gpio); //释放已请求的io口int gpio_direction_input(uns...
2018-06-18 16:25:47
3918
翻译 H3 GPIO 寄存器配置相关函数(ioremap iounmap)
对寄存器操作遵循一个原则: 读------改 ------写1. 配置寄存器操作 (ioremap // iounmap) #define BASE_ADDRESS 0x01c20800 void * add; void * ioremap(cookie ,size)//cookie 真实物理内存地址 ,s...
2018-06-18 16:14:30
684
转载 QT 安装问题
安装步骤: (1)chmod a+x qt-linux-opensource-5.2.0-x86_64-offline.r (2)./qt-linux-opensource-5.2.0-x86_64-offline.run安装完成后,启动一个简单的QT 工程,如果出现 can not find -IGB,执行第三步 ...
2018-06-18 15:30:06
316
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人