c++
文章平均质量分 55
卑微的小李
码农 宅男
展开
-
vs2017,vs2019,无法解析的外部符号 sscanf,无法解析的外部符号 _snprintf,无法解析的外部符号 _vsnprintf,无法解析的外部符号 __iob_func
严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 sscanf,该符号在函数 ms_mdtimestr2nstime 中被引用 SOLOSWDCC E:\app soloswdcc\apps\soloswdcc\libmseed.lib(genutils.obj) 1 严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019...原创 2021-08-23 16:55:26 · 932 阅读 · 0 评论 -
生成dmp文件用来分析软件出错信息
demo 代码:#include <QtCore/QCoreApplication>// 必要的头文件, 并且需要添加 Dbghelp.lib 库 与 Dbghelp.dll// 详情请见: MiniDumpWriteDump: https://docs.microsoft.com/zh-cn/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump// SetUnhandledException.原创 2021-08-17 16:26:04 · 1362 阅读 · 0 评论 -
QCheckBox qss 选中 未选中 悬浮 3态 加修改状态图标
QCheckBox qss 选中 未选中 悬浮 3态 加修改状态图标qss:QCheckBox::indicator {width: 30px; height: 30px;}QCheckBox::indicator:checked {image: url(:/image/checkbox.png);}QCheckBox::indicator:enabled:unchecked { image: url(:/image/uncheckBox.png);}QCheck.原创 2021-03-05 19:54:33 · 1933 阅读 · 0 评论 -
c++ Qt windows 弹出盘符
在已知盘符的情况下弹出U盘。 QString device_path = "F:\"; QString error_string; const char* temp = "\\\\.\\"; char device_path1[10] = { 0 }; memcpy(device_path1, temp, strlen(temp)); QByteArray dp = device_path.toLocal8Bit(); d..原创 2021-02-27 16:34:46 · 815 阅读 · 3 评论 -
c++ 多线程 线程锁与信号量使用,std::mutex,std::list,CreateSemaphore,CreateThrea
c++ 多线程 线程锁与信号量使用,std::mutex,std::list,CreateSemaphore,CreateThreamain.cpp// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include <iostream>#include <windows.h>#include "dataanalyst.h"DWORD WINAPI.原创 2020-06-23 14:03:34 · 796 阅读 · 0 评论 -
CRC32校验 c++ 公式 制表
int have_table = 0;unsigned int POLYNOMIAL = 0xEDB88320;unsigned int table[256];void make_table(){ int i, j; have_table = 1; for (i = 0; i < 256; i++) for (j = 0, table[i] = i; j < 8; j++) table[i] = (table[i] ...原创 2020-06-02 10:30:09 · 868 阅读 · 0 评论 -
Qt 信号发送自定义数据
定义:struct SerialportDataCode0{ float resistance = 0;};Q_DECLARE_METATYPE(SerialportDataCode0)槽:public slots: void SerialportDataCode0SL(QVariant);信号:signals: void Ser...原创 2020-04-12 15:53:19 · 1126 阅读 · 0 评论 -
Qt 打印机打印条形码,二维码
效果演示: 二维码库用的是:qrcode条形码使用的是:code128可以调整部件位置,字体,标签大小,保存模板,连续打印功能,支持扫码枪操作后期有时间会将主要功能抽取成demo进行分享...原创 2019-11-01 09:02:26 · 2382 阅读 · 9 评论 -
关于Qt9.5 vs2017 发布qml程序不显示界面解决方法
由于项目需要,开发使用的是 qwidget与qml混合编程,其中使用到了qtwebengine模块。使用windeployqt --qmldir qml路径 也无法解决问题。但是在bin目录下正常运行,最后只好一个一个目录过滤筛选文件了。最后发现除了必要的dll,还需要plugins、qml以及resources目录。最后运行环境200M左右。 如下图:成功运行:...原创 2019-01-23 17:36:17 · 2280 阅读 · 0 评论 -
VS2017安装完成之后无法找到源文件windows.h,stdio.h等头文件的问题解决办法
1.问题描述: Visual Studio 2017安装完成之后,在源码中提示: “无法找到源文件windows.h” “无法找到源文件stdio.h” “无法找到源文件tchar.h” 2. 问题产生原因: 是由于在安装vs2017的过程中,少选了“用于桌面 C++ [x86 和 x64]的 Windows 10 SDK (10....转载 2018-12-14 14:38:06 · 5652 阅读 · 2 评论 -
Qt 条件编译
适用于当需要在不同的情况下编译不同的代码。 qt 的pro文件:DEFINES += FACTORY_ 代码中:#ifdef FACTORY_ qDebug() << "FACTORY_";#else qDebug() << "NORMAL";#endif ...原创 2018-11-08 11:04:38 · 3014 阅读 · 0 评论 -
LIB和DLL
转这篇文章是因为以前有个误区,以为lib为静态库,dll为动态库,这理解并不错,但不全面。lib分两种的:(1) lib包含所有内容的静态库,应用程序用它即可,这是我理解的一种(2) lib只包含头部信息,为了配合dll使用,dll包含函数内容,这先前我不知道,以为dll本身包含了函数地址及内容。此时,可以观察出lib比dll小很多:curllib.dll 190KBcur...原创 2018-10-18 15:20:06 · 1821 阅读 · 0 评论 -
C++ 硬件信息 获取CPU序列号
【1】头文件 #if !defined(AFX_14BEC153_17B9_47BE_845F_71A27BF26B59__INCLUDED_) #define AFX_14BEC153_17B9_47BE_845F_71A27BF26B59__INCLUDED_ #if _MSC_VER > 1000 #pragma once转载 2017-08-11 09:30:21 · 3920 阅读 · 0 评论 -
C++第三方库使用
主要使用include中的头文件和native中的snappy32.dll和snappy32.lib库文件解压出来后,在VisualStudio中进行设置:“ 项目属性” - “VC++目录“包含目录添加解压出来的include文件夹路径库目录添加解压出来的native文件夹路径然后在代码中写:#include #pragma comment(lib,"snappy32.l转载 2017-10-19 01:16:56 · 1596 阅读 · 0 评论 -
C++14 常用新特性总结
1. 返回值类型推导(Return type deduction)为什么返回类型推导对于C++程序来说是锦上添花的。首先,有时候你必须返回一个非常复杂的类型,比如在对标准库容器进行搜索的时候返回一个迭代器。auto返回类型使得函数更加易读,易写。其次,这个原因可能不是那么明显,使用auto返回类型能够增强你的重构能力。举个例子,考虑下面的代码:#include <iostream>#...转载 2018-04-14 11:59:58 · 10818 阅读 · 0 评论 -
extern “C”的作用详解
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。 这个功能十分有用处,因...转载 2018-04-14 17:29:21 · 158 阅读 · 0 评论 -
C++11 常用新特性总结
1、关键字autoauto的自动类型推导,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推导,可以大大简化我们的编程工作auto实际上实在编译时对变量进行了类型推导,所以不会对程序的运行效率造成不良影响另外,似乎auto并不会影响编译速度,因为编译时本来也要右侧推导然后判断与左侧是否匹配。auto i = 1; auto d = 1.0; auto str = "Hell...原创 2018-04-13 15:15:13 · 1026 阅读 · 0 评论 -
Qt 线程操作
方法一:movetothread将对象移入子线程,通过信号槽来分配任务以及信息传递,这也是Qt推荐的做法。 auto thread = new QThread(); auto sbsImporter = new SoloSbsImporter(); sbsImporter->moveToThread(thread); connect(this, SIGNAL(...原创 2018-04-25 11:10:04 · 498 阅读 · 0 评论 -
Qt并发处理 QtConcurrent
pro文件:QT += concurrenth文件:#include <QMainWindow>#include <QEvent>#include <QtConcurrent/QtConcurrent>namespace Ui {class MainWindow;}class MainWindow : public QMainWi...原创 2018-04-25 13:42:46 · 3603 阅读 · 0 评论 -
Qt Creator 调用第三方库libZPlay 解析音频文件 标题、专辑、文件名、艺术家
libZPlaylibZPlay库集成了所有支持格式(mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm )的编码解码器。一、官网下载sdkhttp://libzplay.sourceforge.net/二、pro文件修改:unix:!macx|win32: LIBS += -L$$PWD/libs/libzplay/ -llibzplay...原创 2018-05-09 22:23:55 · 5300 阅读 · 9 评论 -
c++ 与 qml 信号槽交互之 c++对象信号触发qml函数
预览:双击qml的model 实现音乐播放以及歌曲信息,播放进度一、设置上下文属性,使c++类对象能够被qml调用Player mPlayer;engine.rootContext()->setContextProperty("Player",&mPlayer);二、在player类中增加信号函数signals: void currentPositionChanged(QS...原创 2018-05-24 01:24:54 · 6159 阅读 · 2 评论 -
shared_ptr
C++开发处理内存泄漏最有效的办法就是使用智能指针,使用智能指针就不会担心内存泄露的问题了,因为智能指针可以自动删除分配的内存。智能指针是指向动态分配(堆)对象指针,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数。每次使用它,内部的引用计数加1,每次析构一次,内部引用计数减1,减为0时,删除所指向的堆内存。每一个shared_ptr的转载 2017-06-22 13:50:47 · 334 阅读 · 0 评论