自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (1)
  • 收藏
  • 关注

原创 _stdcall、_cdecl、_fastcall c++、c 64位、32位 msvc、gcc 编译出库的区别

‌1. 32位与64位‌:32位严格区分调用约定,名称修饰包含调用约定标识(如@4、@@YG)‌;64位调用约定被忽略,名称修饰不体现调用约定信息‌。‌2. MSVC与GCC‌:MSVC的C++名称修饰包含调用约定标识(如@@YG、@@YI),GCC采用Itanium ABI规则(如_Z4funci)‌;GCC对_stdcall和_fastcall的支持可能不严格,尤其在C语言中‌4。

2025-03-07 14:40:50 324

原创 chrome浏览器插件 获取 cs*n 网页内容到剪贴板

虽然上面发了一篇内容,但是因为 需要手动执行命令 和python 环境,比较麻烦,所以我制作了浏览器插件,方便使用。

2025-02-18 17:38:05 227

原创 cs*n 网页内容转为html 加入 onenote

cs*n上有好用的内容,我们怎么将它们加到 onenote 里吃灰呢。

2025-02-18 16:23:45 392

原创 爬取网站内容转为markdown 和 html(cs*n)

有些网站不能被爬取,说的就是 cs*n,我们就要换另一种方式。由于我用的是 chrome,又找到了一款插件。

2025-02-18 11:36:11 334

原创 爬取网站内容转为markdown 和 html(通常模式)

我们遇到一些自己喜欢内容,想保存下来,手动复制粘贴很麻烦,我们使用 python 来爬取这些内容。

2025-02-18 11:21:36 620

原创 windows linux c++附加到进程 调试

我们在编程时会出现 父exe 调用 子exe 的情况,同时我们还需要调试 子exe 的代码。因此,我尝试写一个示例,并尝试在 windows 和 linux 下调试子exe。同时为了跨平台,我们使用 cmake 和 纯c++库 来编写代码。调试时必须使用 DEBUG 来编译代码。

2025-02-11 11:59:51 504

原创 kbengine服务器和 数据库 系统路径配置

如果选择临时密码,控制台会有以下输出,可以看到里面有临时密码(temporary password is generated for root@localhost:后面的值,注意去掉空格)打开cmd命令行,输入初始化命令(由于我们配置了环境变量,所以不需要进入mysql的bin目录)打开CMD命令行,输入以下命令。mysql 压缩包安装方式。我这里设置了关闭ssl。

2025-02-10 10:45:25 333

原创 统信系统设置代理的问题

统信系统下有系统代理和应用代理两个代理。设置系统代理时,git不能经过代理拉取代码。但是设置应用代理时,可以用git通过代理拉代码。这是系统代理,在这里设置 ip 端口,并不能让 git 浏览器等使用代理。有的还需要在开始菜单中右键,设置使用代理,才能使用。只有使用“应用代理”

2025-01-02 15:34:03 502

原创 qml formLayout实现方式

但是Qt5 是没有 formLayout 的,直到Qt6才有,所以现在 qml 使用 TableView 来实现这个样式。

2024-08-28 15:12:34 328 2

原创 protobuf cmakelist,msvc utf-8设置

【代码】protobuf cmakelist。

2024-08-12 21:01:03 593

原创 KBEngine ue5

最近在试KBEngine的ue4 项目,它在 ue4 下能够正常编译使用,但是现在都已经进入 ue5 时代,那么能不能将现有工程移到 ue5 下呢?

2024-08-06 13:14:43 1290

原创 UE5 右键菜单缺少Generate Visual Studio project files

在安装完毕 ue5 后,右键菜单没有选项

2024-08-06 12:30:21 996 1

原创 mysql 5.7.44 32位 zip安装

mysql 5.7 32位 zip版安装

2024-07-09 17:55:13 697

原创 c++单例模式的一种写法

c++单例模式

2024-07-05 10:13:58 422

原创 qml暴露delegate给外部使用

qml暴露Delegate给外部自定义

2024-07-04 16:12:31 289

原创 git设置 Beyond Compare

git设置beyond compare

2024-07-03 11:29:30 848

原创 Qt QML 坑

qt qml 使用期间遇到的坑

2024-06-26 10:08:40 318

原创 工厂模式 使用全局变量自己注册

使用工厂模式时,需要将类注册进工厂里,看到一种新的奇技淫巧,使用静态变量来将类注册进工厂。

2024-06-05 14:32:02 253 1

原创 大漠插件(三、免注册使用com接口规范的dll)

在第一篇文章中我们使用 bat 来将 com 接口的大漠 dll 加入注册表来使用。但是这会出现问题,一、有的人有精神洁癖,不想注册表内加入奇怪的东西。这样就可以直接在程序中加载 DLL 来免去 bat 注册 DLL 的问题。2、注意 dm.tlh 中有写死的 关于 dm.tli 的绝对路径,可以修改这个路径。能够正常开发程序了。3、初始化 dm.dll 并获取对象的代码,最重要的就是这段代码。5、在生成路径下会生成两个文件,dm.tlh dm.tli。2、“添加现有文件”,把 dm.dll 添加进去。

2023-12-08 14:45:45 1743

原创 大漠插件(二、Qt使用插件时注意事项)

在上篇已经注册完毕大漠,那么怎么使用大漠来制作脚本,我选择了我最熟悉的Qt来开发,毕竟只是小软件,用脚本或者c++都差不了多少。本章就是开发途中的一些坑。本人开发环境是 win11 64、Qt 5.15.2安装了5.10.0的msvc2015 32开发套件、vs2022安装了v143开发套件。

2023-11-07 11:07:25 1958

原创 大漠插件的使用过程(一、插件的注册)

本人玩游戏时发现一些重复操作及其耗时,若使用识图、识字软件来制作脚本可节约大量时间。本来是选择了按键精灵来开发,但是由于按键精灵因为某些不知名原因导致无法识图成功,遂放弃按键精灵。同时早闻大漠插件的大名,于是搜索大漠的资料。大漠最新版本是要收费的,所以使用了大漠最后一版免费版本 3.1233。本人电脑win11 64位。

2023-11-07 10:17:08 14106

转载 C++标准库

C++标准库的所有头文件都没有扩展名。http://cplusplus.com/reference/C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。<cname>形式的标准头文件【<complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在<cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库..

2020-12-24 15:18:32 376

原创 qwt android windows下编译和使用

qwt介绍QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。我用的 qwt 6.1.4 .

2020-11-20 18:32:33 379

原创 qt 5.13.1 Android环境

qt的Android环境需要三种东西,jdk, sdk, ndk。当然最先需要qt 安装一些组件。通过QT 安装目录下的管理工具进行添加。进去后选择“添加”更新后就完事了。接下来是下载jdk, ndk, sdk。官方文档上的组合是https://doc.qt.io/qt-5/android-getting-started.html经过试验,我的配置是jdk不晓得什么时候装上的,就剩下SDK 和 NDK 需要安装。NDK比较简单,下载压缩包,随意丢.

2020-11-03 17:00:07 433

转载 JNI/NDK入门指南之JNI多线程回调Java方法

背景需求  假设现在有这么一个业务需求,我们需要通过JNI在本地方法中干一件耗时操作,干完以后再通知Java层。这个实现逻辑非常简单,就是我们可以在本地方法中开启一个线程做函数操作,然后通过JNI回调Java方法。好了,架构已经定下来了,那么我们一步步实现。在实现过程中我也会将错误思路和实现代码提供出来,让大家对正确的写法更加刻骨铭心。代码实现探索我想绝大部分读者刚开始的时候,实现该逻辑的办法是初始化的时候保存JNIEnv和jobject为全局变量,然后在需要的时候直接使用。那我们就先按.

2020-11-02 17:33:56 636

原创 JNI 自定义类型参数和返回值 例子

在使用 jni 调用 C++ 接口时候, 先把数据转换成基本类型, 比如 int, float, double, int[] 等等, 一方面减低参数类型转换上的繁琐, 另一方面也许也能减少耦合. 实际应用时候, 可能会遇到希望一个 jni 接口返回多个参数的情况, 可以用自定义类型参数  第一个例子是二维数组自定义类的, 其实三维四维数组的使用方法都是如此类推自定义类型的native接口:native static PointF[][] createPointFs(int len1, int

2020-10-16 16:27:19 2116

转载 JNI编程中如何传递参数和返回值

首先要强调的是,native方法不但可以传递Java的基本类型做参数,还可以传递更复杂的类型,比如String,数组,甚至自定义的类。这一切都可以在jni.h中找到答案。1. Java基本类型的传递用过Java的人都知道,Java中的基本类型包括boolean,byte,char,short,int,long,float,double 这样几种,如果你用这几种类型做native方法的参数,当你通过javah -jni生成.h文件的时候,只要看一下生成的.h文件,就会一清二楚,这些类型分别对应的类型是

2020-10-16 15:38:17 886

转载 JNI 避免内存泄漏

JNI 编程简介JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。JNI 编程在软件开发中运用广泛,其优势可以归结为以下几点:利用 native code 的平台相关性,在平台相关的编程中彰显优势。 对 native code 的代码重用。 native c

2020-10-10 11:20:23 243

转载 Qt模型/视图 自定义模型(QAbstractItemModel)

自定义模型至少需要实现QAbstractItemModel类中的以下5个纯虚函数:columnCout()、rowCount()、index()、parent()、data()为了能添加自已的数据到模型中,通常还需要重新实现setData()函数,若不重新实现setData()则无法向模型中添加数据。自定义模型的基本原理及步骤如下①、数据:实际数据可使用QList、数组、整型、或单独的一个类来保存,数据可存放在模型中,也可存放在文件等其他地方。②、columnCout()、rowCoun..

2020-09-23 18:09:00 3639

原创 qt控件获取焦点时全选或清空内容

bool XXX::eventFilter(QObject * watched, QEvent * event){ return QWidget::eventFilter(watched, event);}QT要想获取焦点时全选或清空内容,需要用到 eventFilter() ;说到获取焦点时,一般想到的是QEvent::FocusIn ,if (watched == ui.userName_lineEdit) { if (event->type() == QEvent:..

2020-09-12 14:19:05 1864 1

原创 FTP 文件夹错误

登录ftp时候出现这个问题。是因为ip改变的原因。输入iis,打开管理器。选中自己的ftp服务器。右键点击来到“高级设置”。我这里可以看到和我的ip是不同的。右键点击来到“编辑绑定”。在这里改正ip就解决了。...

2020-09-02 16:28:42 6436 1

原创 qt vs 中文乱码

QString显示中文乱码的原因:Qt5中QString内部采用unicode字符集,utf-16编码。构造函数QString::QString(const char *str)默认使用fromUtf8()将str所指的执行字符集从utf-8转码成utf-16。由上面fromUtf8()可知,QString需要执行字符集编码为utf-8,然后以utf-8进行解码,再编码为utf-16才能获得正确的字符编码。显示中文乱码的原因其实就QString转码方式与执行字符集不一致。(比如,源字符集为本地字符集G

2020-08-27 17:08:27 4061 3

转载 QPixmap、QImage、QBitmap和QPicture的区别

·QImage与Qpixmap的区别 1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的 2、QPixmap依赖于所在的平台的绘图引擎,故例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果如果单纯的show出来一张图片,不做操作,选用QPixmap效率高一些,如果带操作,使用QImageQImage是与设备无关,QPixmap是...

2020-08-27 10:29:17 939

原创 MAC地址远程开机

一、设置关机模式下,BIOS的电源管理菜单下有Remote Wake Up或Wake on LAN等类似选项的电脑才支持远程开机,若无此选项则不支持远程开机。(假如Remote Wake Up开启后不支持远程开机,请咨询硬件提供商)。1、进入BIOS当电脑开机启动时,通过反复按键盘“DELETE”键或“F2”键,进入到主板BIOS设置界面。更多启动主板BIOS设置界面帮助,参考百度。2、开启唤醒功能通常到“Power Managment(电源管理)”下寻找如下列选项:"Boot on

2020-05-24 15:19:54 8802

原创 子线程 Cannot queue arguments of type 'QTextCursor'

使用子线程时,向主线程发送包含 qstring 的信号,但是有下面这个提示。而且程序会崩溃。QObject::connect: Cannot queue arguments of type 'QTextCursor'(Make sure 'QTextCursor' is registered using qRegisterMetaType().)firstdoingwork 在子线程中...

2020-01-06 16:59:09 3885

原创 qt QNetworkAccessManager QNetworkReply 内存泄露

QT的QNetworkAccessManager、QNetworkReply使用时应注意内存泄露问题。 原因在于他们收到的内容是个指针指向的内存,需要我们手动deleteLater()。一、下面是测试代码#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QN...

2019-12-26 10:41:12 4113 1

原创 虚函数 多种方式调用

class A { public: virtual void print() { cout << "A::print()" <<endl;} }; class B: public A { public: virtual void print() { cout << "B::print()...

2019-12-19 11:48:39 183

转载 单例模式 Q_GLOBAL_STATIC 线程安全

单例模式很多人洋洋洒洒写了一大堆比如这里http://xtuer.github.io/qtbook-singleton/比如这里http://m.blog.youkuaiyun.com/Fei_Liu/article/details/69218935但是Qt本身就提供了专门的宏Q_GLOBAL_STATIC通过这个宏不但定义简单,还可以获得线程安全性。rule.h#ifn...

2019-12-12 11:09:13 512

原创 开机自启动 路径错误 找不到文件

开机自启动:修改了注册表 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 。但是开机自启动后 找不到指定路径的 文件。最后发现是 路径问题。我当时使用的是 QT 的取路径函数:QDir::currentPath()这个是取 exe 所在的文件夹。可能自启时候 exe 的文件夹路径会改变。...

2019-12-05 10:10:58 1539

原创 qt failed to create opengl context for format qsurface

打包好程序后就这样,win7没问题,win10就有这个问题。在打包好的文件夹里可以找到 opengl32sw.dll 文件,改名opengl32.dll 即可。

2019-12-04 17:57:19 8340 3

2020-11-20.rar

里面包含了三个项目,untitled项目是官方例子的提取,包含六个指南针。qwt-compass-windows和qwt-compass-android则是qwt的dll测试例子

2020-12-03

空空如也

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

TA关注的人

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