自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows下使用mingw和cmake_gui进行编译poppler动态链接库

f:/SAStudio_Win32_x86/env/g++/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/lib/../lib/dllcrt2.o:crtdll.c:(.text+0x16): undefined reference to `_encode_pointer'f:/SAStudio_Win32_x86/env/g++/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../...

2020-05-27 15:21:01 1104

原创 交叉编译poppler过程中遇到的坑(编译过程中混合cmake和make安装各种库)

本文只针对poppler-cpp部分。编译poppler需要的库:libjpeg.so, libpng.so, libtiff.so, liblcms2.so, libopenjpeg.so,libfreetype.so, libfontconfig.so,libiconv.so基本就以上这些。编译遇到以下问题:/....../bin/ld: warning: libpng16.so.16, needed by /work/gcc-linaro-5.3.1-2016.05-i686_arm-l

2020-05-08 17:39:26 1103

原创 关于C++编程过程中遇到的深拷贝和引用计数

在面向对象的编程过程中,深拷贝问题:1. 构造函数中有动态分配内存。2.在赋值函数中,通过直接赋值时会造成被赋值对象并没有分配内存,只是将被赋值对象内部的指针指向赋值对象动态分配好的地址,一旦赋值对象被销毁,被赋值对象内部的指针指向内容已被销毁,会造成无效引用,造成浅拷贝问题。解决办法:通过引用计数解决问题,在赋值函数和赋值拷贝构造函数中将计数+1,析构是对计数进行判断再销毁。...

2020-04-03 15:14:29 125

原创 常量表达式constexpr 关键字的使用(constexpr constructor does not have empty body)

constexpr说明符可以在编译时求得函数或者变量的值。然后这些变量和函数(若给定了合适的实参)即可用于仅允许编译时常量表达式之处。 用于对象或者非静态成员函数声明的 constexpr 说明符蕴含 const 。用于函数声明的 constexpr 说明符或 static 成员变量蕴含 inline.constexpr 变量: 类型必须是字面类型。 必须被立即初始化。 ...

2020-03-26 10:31:53 1179

原创 Modbus CRC校验算法

uint16_t crc_reflect(uint16_t data, int32_t len){ uint16_t ret = data & 0x01; for (int32_t i = 1; i < len; i++) { data >>= 1; ret = (ret << 1) | (data &am...

2020-03-24 10:06:42 623

原创 使用关键字 struct 写出 C++ 类型的class

struct MulTable{ MulTable():values(){ for(int i = 0; i < 256; i++){ values[i] = (i&0.80) ? ((i<<1) ^ 0x1b) : (s << 1); } } ~MulTable(){} ...

2020-03-24 10:02:16 103

原创 C语言中Round四舍五入的实现以及解析

由于最近要上新系统,所以要公司重新写一套自己的gui框架,组长分配了一些任务给我,就是实现一些基本功能,当然源码还得看Qt的框架和源码重写系统。由于Round的四舍五入的函数再0.5处具有不确定性,我们可以参照一下Qt源码的qRound的实现:constexpr inline int qRound(double d){ return d &gt;= 0.0 ? int(d + 0.5) ...

2018-11-08 10:49:57 4166

原创 Qt-QML-Charts-ChartView-编译错误-ASSERT: "!"No style available without QApplication!

      今天使用QML的ChartView进行绘制图表的时候出现了以上错误,Qt Forum上的这个问题两年前都有人遇到了,现在都没有人给出答案,不知那个老外最后怎么解决了,今天把例子敲打出来后决定写个东西,以免以后再次遇到还得查找很久。      其实QML的官方示例上有个关于ChartView的Demo,在PC机上可以完美运行,接下来就是找不同了。      原因有二:一、...

2018-08-30 13:31:36 1315

原创 关于回调函数的例子

最近和同事讨论C++和C的区别的事情,说到C++里面有很多的回调函数,就自己实现了一个简单的回调函数的Demo,免得自己忘记回调函数的用法#include //此为注册回调函数typedef int (*callback)( unsigned char para );//此为回调函数的执行int functionCallBack( callback func,

2018-01-03 21:43:03 220

原创 程序员的自我修养第二章总结

知识点一:程序成为可执行文件的过程(hello.cpp  --->   a.out)                                                               分为四个步骤:1,预处理  2,编译  3, 汇编  4,链接                1.预处理    预编译之后的文件名为xxx.i (gcc -E hello.c -o

2017-12-19 15:42:31 224

原创 程序员的自我修养第一章总结

知识点一:假如硬盘有两个盘片,每个盘片有65536个磁道,每个磁道有1024个扇区,而每个扇区的字节数是512个字节,                   所以该硬盘的物理硬盘内存为     2*2*65536*1024*512  =  128 G知识点二:高速设备连接到北桥,低速设备连接到南桥,南桥通过总线连接到北桥,北桥连接到CPU上,由于CPU处理速度极快,所以CPU采用倍频的方式与

2017-12-19 15:16:25 303

原创 关于extern以及源文件和头文件的应用

最近在纠结这个问题,全局变量的声明到底应该在源文件还是头文件中,其实有两种方法:缘由:因为 int a;表示的是一个定义,而extern int a;却是一个声明方法一:在a.h中表示全局变量的声明:extern int a;              在a.c中进行全局变量的定义:1)exetrn int a = 5;   会跳出警告(   a.c:3:12: warning: 'a

2017-12-17 14:00:25 948

转载 Qt下编译mysql数据库

点击打开链接人家写的蛮不错的

2016-12-11 13:30:27 293

原创 QT5 cannot find usr/local/lib, file format not recognized

首先查看有没有在工程文件中添加链接库的目录INCLUDEPATH += /usr/local/include   //此为头文件的目录LIBS += -L/usr/local/lib -lmodbus  //此为链接的lib库的目录如果添加了还是出现以上问题,首先查看/usr/local/lib路径下有没有要链接的lib库,没有的话就是路径不对,更换路径即可。如果存在lib库,

2016-11-25 14:09:28 4904 1

原创 ubuntu下Qt配置qwt和libmodbus

Qt安装在ubuntu上出了很多问题,其中一个就是qmake不能用。解决方法:进入/usr/lib/x86_64-linux-gnu/qt-default/qtchooser目录,对目录下的default.conf修改为/home/mlw/Qt5.7.0/5.7/gcc_64/bin/home/mlw/Qt5.7.0/                    这是我的Qt的安装目录,

2016-11-22 14:16:32 1620

原创 16.04ubuntu安装后出现的N个问题

安装ubuntu出现图形界面倒是没有什么问题,直到看见vim编辑器不能用,才知道ubuntu自带的是精简版的vim,需要移除和重新安装:sudoapt-getremove vim-commonsudo apt-get installvim但是安装的时候发现apt-get不能用,fuck,重新安装:sudo apt-get  updatesudoapt-g

2016-11-22 13:25:23 588

转载 Ubuntu下安装libmodbus3.1.0运用在Qt上

Ubuntu环境下安装modbus库函数,下载libmodbus库文件,./configure --host=arm-linux --prefix= (/*自己创建的安装目录*/)makemake install编写Qt程序时,记得include绝对路径的头文件的就OK了,还要记得添加在工程中 LIBS += -L (/*自己创建的安装目录*/) -lmodbus

2016-11-18 09:45:41 1778 1

原创 ubuntu下Qt安装qwt出现的问题

我的Ubuntu的版本是14.04,因为Ubuntu的位数是32位的,下载Qt版本是在软件中心下载的基于Qt5.3.2版本的Qt Creater 3.2.1,下载的qwt的版本是qwt-6.1.3-tar.bz2,但是编译安装的时候出现了很大的问题:qmake: Project ERROR: Unknown module(s) in QT: svg经查是由于Qt版本不一致造成的,我百度了很

2016-11-10 14:30:11 1247 1

原创 关于android底层的认识

Android底层的认识:关于android底层刚开始确实有给很多迷茫,这方面的android的数据存储机制和java以及一些C语言的使用紧密的结合会让初学者倍感不适,下面是学习android从应用层到底层的一些自己的看法。android从上到下分为四个层次:application,applation framework,JNI,Hardware Abstract Layer。applic

2016-07-08 22:33:06 621

原创 关于java数据类型的自己的见解

java的数据类型:1)基本数据类型:bbcs(boolean,byte,char,short),int,long,float,double     2)引用数据类型:数组,类,接口。基本数据类型传递采取的是值传递的方式,值传递时参数的改变并不会造成值的改变。引用数据类型传递采取的是地址传递的方式,传递时改变的是改地址所对应的值,所以会造成值的改变。每种数据类型所占的字节数:b

2016-07-07 23:11:30 255

空空如也

空空如也

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

TA关注的人

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