自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(48)
  • 收藏
  • 关注

原创 gdb 调试死锁:pthread_rwlock_t 结构体

1、__nr_readers_queued 和 __nr_writers_queued字段表示有多少线程正等待加锁。这里有一点值得注意的地方就是,当想要获取读锁,但是发现__nr_writers_queued字段不为0,2、如果自己已经获取了写锁,再去加读锁,pthread_rwlock_rdlock()是会返回出错的。是无法或许读锁的,即使当前pthread_rwlock_t只是被加了读锁,但是有高优先级的线程已经。可就是有别的线程在等待获取写锁时,且该线程的优先级高于或想同于自己的优先级时,自己。

2023-08-17 15:00:22 259

转载 使用linux的GDB打印STL(vector,map,set..................)

使用linux的GDB打印STL(vector,map,set…)在linux用gdb或者cgdb计较不爽的地方是无法打印STL的东西,所有啊去网上找了找解决方案https://www.douban.com/note/182826844/?qq-pf-to=pcqq.c2c来自链接:https://www.cnblogs.com/silentNight/p/5466418.html

2020-10-09 11:26:52 405

原创 POSIX.1 and ISO C标准头文件

ISO C标准定义的头文件(24项)<assert.h> ---------------------- 验证程序断言<complex.h> ---------------------- 支持复数算术运算<ctype.h> ---------------------- 字符类型<errno.h> ---------------------- 出错码<fenv.h>

2020-05-19 16:48:40 250

原创 业余浏览网:仪器厂家、硬件常用、色彩搭配

仪器厂家:R&S罗德是德科技力科普源RIGOLTektronix固纬电子安捷伦日本横河HIOKI-日置硬件常用网址:贸泽电子 - 电子元器件分销商仪器信息网微波射频网 - 专注微波、射频、无线技术行业的垂直网站色彩搭配学习:最基本的色彩训练工具:Win10-“色彩专家”...

2020-04-02 17:41:57 256

原创 色彩搭配 — 总结1

色彩三要素:HSBH=色相(颜色的样子)S=饱和度(颜色的纯度)B=明度(颜色的明亮程度)S+B=色调(颜色整体的一个倾向)设计的时候,需要先根据用户和产品的定位来选择色调。色彩的六大色调1、纯色调优点:刺激/直接/活力/促销缺点:廉价/缺少品质感/刺眼===产品:廉价的、便宜的===用户:低端用户===检索:超市传单、双十一界面、搞活动2、明色调优点:年轻/阳光/活...

2020-03-31 00:09:20 2273

原创 QWT学习总结

1、QwtSeriesData< QPointF >该类对应QwtSeriesData< T >、QwtSeriesData< QwtSetSample >、QwtSeriesData< QwtIntervalSample >。这几个类都是对一系列数据的包装,用于绘制曲线。使用:在工程中继承QwtSeriesData实现一个类包装一组数据处理,...

2020-03-18 19:18:58 2118 1

原创 常用软件工具总结

软件名称简述详细说明Xmind思维导图常用工具,建立归纳总结树状图式。墨刀UI 原型设计国产好用,还需要 AI 制作图标。老牌 AxureRP 交互多且上手难、新Adobe XD 需Win10系统。starUMLuml 建模免费开源。对应有经典工具IBM Rational Rose,Visio -Win10 版也很好用。WPS文档编辑替代基础...

2020-03-03 23:02:19 366

原创 QT的事件与事件机制

//注意:未处理事件,将会向上转发给它的父widget,直到最顶层窗口。QEvent::ignore() 或 QEvent::accept() 对事件进行标识对特殊自定义事件有很大作用。参考:QT父子窗口事件传递与事件过滤器。...

2020-02-21 16:19:30 165

原创 面向对象设计的七大原则

里式替换原则:约束滥用继承。它给了我们一个判断和设计类之间关系的基准:需不需要继承,以及怎样设计继承关系,而不是简单地根据两者之间是否有相同之处来说使用继承。要求:子类可以扩展父类的功能,但不能改变父类原有的功能。具体来说:子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类中可以增加自己特有的方法。当子类的方法重载父类的方法时,方法的前置条件(即输入参数)要比父类方法的...

2020-02-20 15:19:26 130

原创 C++11 关键字使用概述

一. C++11关键字概述基本逻辑控制▪ if,else,for,do,while,return,break,continue,goto,switch,case,default异常控制▪ try,catch,throw,static_assert[编译时的静态断言],noexcept[动态异常判断(模版有用)]▪ *_cast [const_cast,dynamic_cast,reint...

2020-02-12 11:26:42 517

原创 C++与设计模式等 — 网站收集

一、重要的网站C++知识学习:!https://zh.cppreference.com/w/cpp/atomic/atomichttp://www.cplusplus.com/reference/atomic/二、重要的网址

2020-01-16 15:09:05 302

原创 Qt学习之路:Qt绘制系统简介

1、参考:Qt 绘制系统简介:https://www.devbean.net/2012/10/qt-study-road-2-paint-sys/总结:Qt的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。其整个绘图系统是基于 QPainter,QPainterDevice 和 QPaintEngine 三个类。其中可以把 QPainter 理解成画笔;把 QPaintD...

2019-12-19 17:44:32 1401

原创 coredump调试实操总结

一. coredump的使用:何谓core文件?当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。参考:http://blog.chinaunix.net/uid-29974135-id-4650793.html编译debug版本的应用(+g):① 生成core文件# ulimit -c ...

2019-12-07 11:32:00 652

原创 glog日志流记录

日志流作用:1.日志能方便地诊断程序原因、统计程序运行数据,是大型软件系统必不可少的组件之一。2.当通过gdb或打印调用堆栈难以抓到死机信息时,日志流对问题分析就体现了很大价值。google 出的一个C++轻量级开源日志库。支持以下功能:◆ 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为;◆ 严重性分级,根据日志严重性分级记录日志;◆ 可有条件地记录日志信息;◆ 条件中止...

2019-12-07 11:17:03 276

原创 CppCheck代码静态检查 - 实操总结

参考网:CppCheck介绍与使用 https://www.cnblogs.com/lvdongjie/p/9549254.html工具简述Cppcheck 是一种 C/C++ 代码缺陷静态检查工具。不同于 C/C++ 编译器及很多其它分析工具,它不检查代码中的语法错误。Cppcheck 只检查编译器检查不出来的 bug 类型,其目的是检查代码中真正的错误(即:零误报)。实操总结:Cpp...

2019-11-25 21:41:32 1513 1

原创 valgrind实操总结.一

valgrind神器-----“优先使用gdb调试解决问题,不能解决的问题请使用该神器”。----valgrind神器:是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。解压并编译工具:#tar xvf valgrind-3.9.0.tar.bz2#apt-get install automake#./autogen.sh修改configure中armv7) 改成 armv...

2019-11-25 21:16:50 209

原创 backtrace实操总结

参考网:Linux进程崩溃异常退出的调试方法:https://www.openwrtdl.com/wordpress/gcc选项-g与-rdynamic的异同:https://www.cnblogs.com/LiuYanYGZ/p/5550544.html-g与-rdynamic的异同:-g 是一个编译选项,在编译的过程中起作用,把更多调试信息(也就包括符号信息)存放到最终的可执行文件内。...

2019-11-25 18:16:50 781

原创 开发工具总结:规范工具、jekins

1 工欲善其事必先利其器notepad++:可以进行编码格式转换,正则表达式,NppAStyle插件代码格式化等;sourceInsight4.0:支持utf8,tab替换4空格,{}对齐方式,智能替换,Astyle插件代码格式化,各种快捷命令等。Astyle插件: 我常用AStyle_config.ini文件中内容为:【–style=allman -s4 -xk -xV -C -S -w ...

2019-11-09 21:09:22 174

原创 Linux视窗系统:QT使用GPU渲染

FBO与fb0的区别FBO(Frame Buffer Object帧缓存对象)是OpenGL对渲染目的地的扩展,提供创建额外非可显示的FBO的接口。它可以实现OpenGL渲染输出重定向。OpenGL默认把framebuffer当作渲染的目的地,它由窗口系统创建并管理。texture(纹理)和renderbuffer(渲染缓存)是两种可附着的framebuffer,它们附加到FBO,Op...

2019-11-09 21:00:11 5603

原创 gcc编译配置总结

确认处理器支持指令特性am57xx-evm:~#cat /proc/cpuinfomodel name : ARMv7 Processor rev 2 (v7l)Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm代码检查与效率...

2019-10-23 20:54:01 657

原创 gdb调试学习总结《二》

gdb调试学习总结《二》一. 关于编译指定:DEBUG “ENV{CXXFLAGS} -O0 -g -ggdb -Werror -Wall”RELEASE “ENV{CXXFLAGS} -O3 -Werror -Wall”CXX_FLAGS “{DEBUG} -mfloat-abi=softfp -mfpu=neon -std=c++0x -Wl,-Map=XXXXmain.map”-W...

2019-10-23 20:48:39 212

原创 Linux的视窗系统总结:初认识《一》

X window 、Wayland、DirectFB、linuxfb的区别在QT中,真正关心硬件操作的是图形引擎层。图形引擎实现方式在linux上有多个:1、通过X112、DFB (directFB)3、LinuxFB其中桌面PC的QT版本是通过X11,也可选择DFB。DFB最终也是通过FrameBuffer驱动实现。但是在QT embedded版本中,只能使用linuxFB,也就是F...

2019-10-22 10:27:24 2993

原创 UI交互设计学习心得《一》

一、工具的认识1. XD对标sketch它们都是针对UI做高保真设计,给客户看“交互演示原型”,适用对象是交互设计师或UI,而非产品经理。如果产品经理单单只是追求交互、演示的便利,反倒会增加产品在原型设计上花费的时间。sketch只能在mac上使用。2. XD对标AI和PSPS:是图形编辑处理工具,主要应用平面设计、修复照片、广告摄影处理、影像创意(将原本风马牛不相及的对象组合在一起...

2019-09-30 16:27:50 2586

原创 Linux菜鸟之添加用户,账户管理

Linux菜鸟之添加新用户////////////////////////////////////////////////////////////添加用户sudo useradd -m -d /home/workdir/fw.li fw.li 在特定目录下建立家目录sudo useradd -m fw.li 默认在/home下建立家目录删除用户sudo userdel...

2019-09-06 18:40:36 487

原创 gdb调试学习总结《一》

一.gdb调试搭建:239为服务器IP,201为开发板IP。从机网络配置:ifconfig eth0 down;ifconfig eth0 hw ether 00:0A:35:00:01:44;ifconfig eth0 up;ifconfig eth0 10.13.244.201;mount -t nfs -o nolock 10.13.244.239:/nfs /mnt/app ...

2019-08-01 12:05:01 354

原创 主题:关于Qt显示的刷新效率

主题:关于Qt显示的刷新效率20190731写绘图主要有三种方法:QPainter、QCustomPlot、QWT,其中QPainter是Qt基础工具,直接使用QPainter绘制波形等图形效率是很低的。关于QCustomPlot、QWT的比较参看网站:https://blog.csdn.net/lihuagedi/article/details/81137380。关于QCustomPlo...

2019-07-31 18:20:10 5069

原创 qmake总结

qt-5.6.0 移植之qt源码编译下载完解压: tar -xvf qt-everywhere-opensource-src-5.6.0.tar.gz解压完进入源代码 : 修改几个东西:进入qtbase/mkspecs 里面, 复制一份linux-arm-gnueabi-g++ ,名字为linux-arm。在进入 linux-arm 里面, vi qmake.conf , 把...

2019-05-21 10:08:33 662

原创 关于UI与平台代码管理 - 个人总结《一》

1.Qt代码如何组织?其一,管理qss设置对象名很重要(例如QTableWidget#TableWidget_Style01),设置多种风格通过对象名来选择。一个类型不应该太多种风格,尽量保证UI设计的一致性原则。其二,Qt提供原始类都必须二次封装,且组织为一个独立的目录。方便代码命名管理、添加统一功能和设置风格。其三,项目创建公共类组织到一个目录中,命名统一增加UiXXXX_X(XXXX...

2019-04-05 16:53:37 140

原创 Qt类详细注解

Qt类详细注解

2017-08-16 14:40:40 776

转载 Qt 自定义PushButton

功能:鼠标弹起并在按键区域内时,按键响应。并实现normal、hover、pressed效果,PushButton大小默认为传入图片大小。 PushButton的normal、hover、pressed效果没有使用QSS实现,因为重写mouseReleaseEvent后,qss的hover效果混乱。用法: [cpp] view plain copy loginButton = new Push

2017-06-09 22:27:51 2045

原创 Qt事例: QScrollArea滚动区域

Qt事例: QScrollArea滚动区域/******* ChatList.h ******/#ifndef CHATLIST_H#define CHATLIST_H#include #include class ChatList: public QWidget{public:    ChatList(QWidget *parent);    ~C

2017-05-30 23:57:21 2153

原创 框架使用类:静态函数、类名+对象句柄

静态函数 操作非静态函数和非静态变量对象句柄 操作对象成员#include #include #include #include "WinObjectHandle.h"using namespace std;/*静态函数操作 非静态函数或非静态成员变量的方法*/class A;typedef map CAMap;class A{publi

2017-05-21 23:36:40 313

原创 设计模式:单例模式- 饿汉式实现

饿汉式,static对象,代码加载时即生成了 分配了空间。这点也是和懒汉式主要的区别,懒汉式是new出来的,程序调用的时候才分配空间。空间和效率的差异!////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2017-05-21 15:20:26 240

原创 Linux内核之input输入子系统

20160718Input输入子系统1. input子系统概述输入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。 

2017-05-14 23:36:33 362

原创 am335x i2c_max7359-IC按键与旋钮驱动

20160719I2C驱动开发总结 一. I2C设备驱动代码示例1.1 源代码1.1.1 max7359_keypad.c/* max7359_keypad.c - MAX7359 Key Switch Controller Driver */#include #include #include #include #include #includ

2017-05-14 23:32:54 1992

原创 Linux内核之板卡作外设存储功能

1.概述目的:实现板卡通过Micro USB线与PC连接,作为PC的外设存储,PC拷贝数据到板卡中,或者把板卡中的数据通过USB线拷贝到PC端,实现数据的交互,板卡采用Linux操作系统+AM335X 处理器平台。

2017-05-14 23:22:33 1187

原创 第一个内核模块Hello.ko代码

第一个内核模块Hello.ko代码 1. 驱动代码hello.c的源码#include #include  MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void){printk(KERN_EMERG "Hello world enter \n");return 0;} stati

2017-05-14 23:20:17 2356

原创 Linux线程与线程控制函数-笔记

20160825Unix环境高级编程-线程与线程控制总结 1.两个线程ID进行比较函数:#include int pthread_equal(pthread_t tid1,pthread_t tid2);应用场景:2.获取自身的线程ID函数:#include pthread_t pthread_self(void);应用场景:1.程序调试过程

2017-05-14 23:16:24 287

原创 Linux下/sys目录介绍

ramdisk 文件系统基于磁盘模拟技术,实际文件系统是ex2 ex3等。sysfs是一种基于ram文件系统和proc一样。Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其实,就是在用户态可以通过对sys文件系统的访问,来看内核态的一些驱动或者设备等。

2017-05-14 23:00:30 37813 5

原创 根文件系统中mdev/udev/devfs的区别

根文件系统中mdev/udev/devfs的区别1.  mdev/udev/devfs的区别?答:mdev是udev的简化版本,是busybox中所带的程序,最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被udev所替代,他们有着共同的优点,只是devfs中存在一些未修复的BUG,作者也停止了对他的维

2017-05-14 22:30:20 561

空空如也

空空如也

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

TA关注的人

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