自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 c++11 thread类在嵌入式上运行报错问题

从昨晚到今天遇到一个怪异的问题,暂时无解,先记录在此处。测试代码:#include <iostream>#include <unistd.h>#include <thread>using namespace std;void func1(){ cout<<"AAAAAAAAAA"<<endl;}int main(){ thread(func1).detach(); sleep(2); cout

2022-04-14 14:07:19 1179 1

原创 linux指定目录下按文件创建时间清理旧文件的实现

一. 问题描述linux的一个目录下存放着日志文件,每个日志文件都是打包压缩好的。每次生成新的日志文件后,都要检查一下是否超过10个,如果超过10个则删掉最旧的日志文件。依此滚动循环。二. 代码实现假设存放日志的目录是:/home/log,且该目录下只存放日志文件,无其他文件假设日志文件名格式为log_xxx_xxx.zipbash版#获取日志文件数量num=`ls /home/log -l |grep "^-"|wc -l`;#需要保留的日志数量上限retaincount = 1

2022-03-29 18:23:28 2379

原创 log4cplus v2.0库的简单使用

log4cplus 2.0库的简单使用。

2022-03-04 16:23:38 940 1

原创 imx6移植log4cplus库

前言 本文所用ARM开发板为周立功m6708Q(imx6q系列),交叉工具链为官方提供:poky-glibc-x86_64-meta-toolchain-cortexa9hf-vfp-neon-toolchain-1.7. 下载 1. 进入项目主页log4cplus / Wiki / Homehttps://sourceforge.net/p/log4cplus/wiki/Home/2. 点击“SourceForge”3. 点击“Downlo...

2022-03-01 21:36:33 295

原创 qt远程调试imx6,勾选了run in terminal却无法开启终端

开发环境:主机:ubuntu18.04 LTS目标板:imx6q交叉工具链:poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.7问题出现背景:1. qtcreator的启动imx6 qt开发环境的搭建,不用赘述,随便一搜都是。其中最后一步,打开qtcreator时,一般是执行一个qtcreator_start.sh(文件名随意)脚本打开,因为需要更改环境变量,通常我们在这个脚本中的内容是这样的:#!/b

2021-09-24 14:10:26 1449

原创 c++11 atomic使用几点注意事项

初步总结几点:不能直接传结构体类型,以此希望对整个结构体成员的操作都是原子性的,比如: struct Test_STU{ int a; float b; char c; }; atomic<Test_STU> test; //错误 //但可以这样(BTW:c++11之后允许在结构体或类内初始化) struct Test_STU{ atomic_int a{}; //初始化为默认值0 atomic<float> b{}

2021-06-04 14:15:35 5020

原创 c++十六进制字符串转int型三种方法的测试总结

三种方法:stoi,strtol,sscanf各函数具体用法本文不赘述。测试一:只含数字的十六进制字符串string str("123");int a = stoi(str,0,16);int b = strtol(str.c_str(),0,16);int c;sscanf(str.c_str(),"%X",&c);cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;co

2021-05-16 22:42:55 9161 1

原创 linux使用mmap共享内存封装动态库,实现全局变量对外只读接口

想要实现的功能:动态库中定义结构体类型全局变量(一个结构体中嵌套多个结构体),该变量在库内可读写,但主程序(外部程序)只可读,不可写。方便说明,简化成一个如下的结构体变量:typedef struct{ int a; int b; int c;} Test_STU;思路:结构体改成类,public成员,通过get()方法获取——不喜欢,直接采用 . 结构体方式访问最好;结构体改成类,public成员,添加const修饰——不喜欢,变量很多,初始化列表不方便,且类内以

2021-04-27 11:25:52 703

原创 linux下socketCAN实现反转过滤——CAN_INV_FILTER的使用

关于Linux中socket can怎么使用,CSDN上已经有很多文章介绍。本文重点记录can_filter中的 CAN_INV_FILTER的使用,很多文章对此一笔带过,且很多文章翻译不全,或者原文不全,导致自己浪费了些时间,最后在看candump源码时才发现问题所在。直接贴代码解释,以下为写的一个最简单的canId过滤函数:宏定义/** CAN报文过滤方式 **/#define CAN_FILTER_PASS 0x01 //过滤方式-通过#define CAN_FILTER_RE

2021-04-10 15:20:26 2486 4

原创 libevent中关于bufferevent_socket_connect的使用小结

经过多次代码测试,总结如下:bufferevent_socket_connect 返回0,不代表和服务器连接成功,返回-1一定是连接失败(简单看了下源码,的确大部分情况都是返回0,包括连接被拒绝等)网线未插(wifi未连接),服务器没开,bufferevent_socket_connect立即返回0,但在后台继续请求连接(前提socket已被设置成非阻塞),若无进一步操作,将在130秒后,报错:110-Connection timed out在上述状态下,若先插网线,再开服务器,几秒之后,可以成功建

2021-03-26 17:10:23 2174 7

原创 PIMPL实现——通过this指针和接口纯虚函数实现客户端代码调用

示例代码如下,基于网上PIMPL经典示例代码改动。Person.h (对外发布的头文件,其余文件客户端不可见)#ifndef PERSON_H#define PERSON_H#include <string>class PersonImpl; //前向声明class Person{public: Person(); virtual ~Person(); int fun1(int x, int y); virtual void fun2()

2021-03-19 11:08:14 155

原创 no known conversion from ‘const char [4]‘ to ‘std::__cxx11::string &‘ (aka ‘basic_string<char…引用传参问题

今天测试一段代码时遇到报错:**重点是这句“no known conversion from ‘const char [[4]]’ to ‘std::__cxx11::string &’ (aka ‘basic_string &’) for 1st argument……”代码如下:**h文件中声明类如下:class Person {public: Person( string &name, int age); virtual ~Person();

2021-03-18 21:25:01 3354

原创 c++让代码只执行一次的方式

今天查找这方面的资料,然后自己简单改写了一个宏来实现:/*** 宏函数-括号中的code代码只执行一次 ***/#define once_run(code) { \ static auto tmp = [&](){ \ code; \ return 0; \ }(); \ (void)tmp;

2021-03-11 17:53:27 5588

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除