C++学习
文章平均质量分 81
fangye945a
行远必自迩,登高必自卑。
展开
-
Qt读写Excel文件与QXlsx的使用
最近项目比较忙,许久没写博客了,想着还是需要定期整理下学到的和用到的新东西,才有沉淀。刚好最近使用Qt时需要读取excel文件的数据,于是在github找了一个开源库QXlsx,Star数还比较多,应该靠谱,下面就来记录下整个使用过程吧。原创 2022-10-30 00:10:58 · 4057 阅读 · 6 评论 -
自制J-Flash烧录工具——Qt调用jlinkARM.dll方式
想必玩过STM32、GD32的同学都用过下面这个烧录工具吧,它就是J-Flash。通过它再配合我们购买的jlink、jlink-ob等烧录器,便能够非常方便的实现对cortext-M系列的单片机进行程序烧录。本文章将介绍如何使用QT调用JlinkARM.dll动态库,实现芯片ID的读取和程序的烧录功能。......原创 2022-06-30 23:59:56 · 7682 阅读 · 30 评论 -
进程通信(IPC)之QLocalSocket用法
进程通信的方法有很多,项目开发中,需要根据业务需求来选择适合的IPC方式。下面介绍的在通信放肆原创 2020-05-12 23:52:27 · 4252 阅读 · 0 评论 -
gcc编译时定义宏
在代码中经常可以看到条件编译语句,其结构大致如下所示:#ifdefTEST(语句块1)#else(语句块2)#endif如上条件宏语句意思为,如果定义了TEST宏,则执行语句块1,否则执行语句块2。那么如何定义TEST宏呢?只需要编译时添加-D选项就即可: -DTEST表示定义TEST宏示例代码:#include <stdio.h>int main...原创 2019-05-20 23:00:49 · 3170 阅读 · 0 评论 -
FTP文件上传、下载(基于curl库 )
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,如下为通过curl命令上传、下载ftp文件的用法:# curl -T upload_test.txt -u fangye:fangye ftp://192.168.10.105/ //下载ftp文件 -u 账号:密码更多curl命令用法参考博客: https://blog.csdn.net/gubenpeiyua...原创 2019-01-16 23:42:24 · 2482 阅读 · 0 评论 -
Linux下libcurl的编译和交叉编译
1、下载curl源码因为从github上直接clone下来的源码需要通过configure.ac 和 Makefile.am 等文件来生成configure脚本,比较麻烦。推荐直接下载curl源码,工程自带configure脚本,可以直接使用。下载地址:https://curl.haxx.se/download/,此处我选择了最新的7.63.0版本。若是从github上直接clo...原创 2019-01-16 00:08:25 · 5767 阅读 · 0 评论 -
QT5简易串口助手设计
串口通讯是目前外设和计算机间最常用的通讯方式之一,项目中制作测试软件、产测工具时经常要用到串口通信,故在此总结一个QT串口使用示例,以作备忘。首先,新建工程,在工程文件中添加串口模块:QT += serialport然后添加串口所需头文件:#include <QtSerialPort/QSerialPort>#include <QtSeria...原创 2019-01-20 22:48:44 · 1032 阅读 · 0 评论 -
C/C++调用sqlite3接口详解
sqlite3的C/C++接口用法可分为两种:回调形式与非回调形式。所谓回调形式其实就是通过回调的方式处理sql语句执行结果,非回调形式就是待sql语句执行完毕后再通过返回值和相关函数来判断、获取执行结果。一、sqlite3非回调形式接口用法1、sqlite3_open 打开sqlite3数据库的连接 在sqlite3数据库管理系统中,用结构体sqlite3来表...原创 2019-01-15 00:04:50 · 20499 阅读 · 2 评论 -
数据库sqlite3简介学习
1、数据库(DataBase)与数据库管理系统(DBMS: DataBase Management System) 数据库,简单来说可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。数据库指的是以一定方式存储在一起,能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。 数据库管理系统(DBMS)是为数据库而设计的...原创 2019-01-15 00:07:56 · 978 阅读 · 0 评论 -
HTTP Post请求天气信息(基于curl库 )
通过curl命令进行http post带参数请求:# curl -d "参数" "url"若在body中上传json参数,如下所示:# curl -H "Content-Type:application/json" -X POST --data (json.data) URL如下示例:以http post方式查询长沙的天气 基于curl库实现http post请...原创 2019-01-17 22:52:02 · 2322 阅读 · 1 评论 -
linux中gdb调试器的简单使用(图文)
在ARM、Linux平台开发C/C++项目时,多多少少会遇到一些程序上的bug。小工程还好,如果是个大工程,代码量又大,就很难定位问题了。这时候使用gdb调试器便能轻松的帮忙定位代码bug。一、使用方法如下为示例代码:在编译代码的时候,加上调试选项 -g,如下所示:gcc -g test.c -o test利用gdb调试器来运行程序:gdb <可执行...原创 2018-12-25 23:45:27 · 2151 阅读 · 2 评论 -
QT5线程的简单使用
本示例采用继承QThread的方式创建线程,在创建的子线程中计数,并将计数的数值通过信号与槽的方式发送至主线程,在主线程的UI界面上显示出来。 工程包含thread.h、thread.cpp 、widget.h、widget.cpp、main.cpp五个文件。其中thread.h 和 thread.cpp中为自己创建的线程类my_thread,继承自QThread...原创 2018-12-10 21:25:55 · 807 阅读 · 1 评论 -
zeromq发布-订阅模式简单使用
zeromq作为网络通讯库,是支持发布、订阅机制的,但是又与MQTT等发布、订阅概念有所不同。由于ZMQ通讯是基于CS模型的,没有服务程序做中转,也就意味着订阅端作服务端和发布端作服务端是不同的。如下图所示,每个框表示一个进程,zmq发布、订阅机制有如下性质:服务程序作发布者 只能跟作订阅者的客户端程序通信,服务程序作订阅者只能跟作发布者的客户端程序通信。订阅者作客户端,只能跟一个...原创 2018-12-06 20:00:52 · 5928 阅读 · 0 评论 -
Ubuntu下利用cmake编译zeromq库
最近项目用到zeromq库作进程通信消息中间件,在网上找了一些编译方法都是使用autogen.sh 和 ./configure,使用这些方法还要依赖一些东西,比较麻烦。后面发现使用cmake更加方便简单,动态库和静态库都可以编译出来。如下为我的编译环境和编译步骤:当前zeromq版本:4.3.0cmake 版本: 3.5.1git 版本: 2.7.4测试平台:Ubuntu 1...原创 2018-12-06 00:07:00 · 1812 阅读 · 0 评论