- 博客(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
原创 爬取网站内容转为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
原创 KBEngine ue5
最近在试KBEngine的ue4 项目,它在 ue4 下能够正常编译使用,但是现在都已经进入 ue5 时代,那么能不能将现有工程移到 ue5 下呢?
2024-08-06 13:14:43
1290
原创 大漠插件(三、免注册使用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
2020-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人