- 博客(288)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 MFC 获取程序版本信息
在 MFC 应用程序中,可以使用 GetFileVersionInfo 函数来获取程序版本信息。这个函数能够获取一个指定文件的版本信息,并将其存储在一个缓冲区中。然后,可以使用 VerQueryValue 函数来解析版本信息并提取所需的信息。
2024-04-03 16:46:28
1020
原创 MFC 如何调用wkhtmltopdf实现html转换pdf
2、修改安装目录,默认是安装到"C:\Program Files (x86)\wkhtmltopdf",这里我修改成"D:\Tools\wkhtmltopdf",点击"Install"即可。解决方法:在html文件中添加
2023-09-23 14:16:52
364
原创 c++通过gsop调用基于https的webservice接口总结
webservice接口一般会有一个对外接口文档。问号后面的参数表示WSDL文档,是一个XML文档,看不懂配置没关系,接下来我们要通过这个文档生成c++头文件。(1) 下载gsoap工具下载完成之后解压,进入gsoap\bin\win32目录下,该目录下有两个文件wsdl2h.exe和soapcpp2.exe。wsdl2h.exe用来生成头文件。光生成头文件是不够的,这个时候要用soapcpp2.exe来生成对应的c++文件结构,可以用于项目中调用(第二步介绍)。先来看看怎么生成头文件。
2023-08-15 17:15:11
1417
原创 C++ 结构体对齐补齐
而对齐后的结构体可以最大程度地利用缓存行,提高了数据的访问速度。结构体对齐可以使得结构体中的成员按照特定的字节对齐方式来排列,以满足处理器对数据访问的要求。:结构体对齐可以使成员在内存中按照特定字节对齐方式排布,这样就能够减少因为未对齐访问而引起的内存读写错误。:结构体对齐可以通过填充字节来确保每个成员都位于合适的地址上,避免了空洞或碎片化的内存布局。将结构体的对齐方式设置为 1 字节,即按照单字节对齐。在 C/C++ 中,结构体的成员通常按照特定的字节对齐规则进行排列。设置的结构对齐方式。
2023-07-12 16:50:52
539
原创 Linux下打包发布QT程序,并运行在其他没有安装QT环境的linux系统上
执行命令后,再次执行,发现提示,少了libQt5XcbQpa.so.5的库,但是我们把Qt那边的库打包了libQt5XcbQpa.so.5.14.2的库,但是他要的是.so.5后缀的库,怎么办呢?4、接着进入Qt安装位置下编译环境的plugins目录下,这里我的Qt安装的目录是在/opt/Qt5.14.2/目录下,把plugins目录下的platforms目录复制到要打包的目录下。1、创建一个打包目录,把生成的可执行文件拷贝放在创建的打包目录下,这里我是创建了一个打包目录名称为:pack。
2023-07-06 12:19:00
4247
11
原创 linux查看文件夹的命令
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。,如du -h --max-depth=0 software/及du -h --max-depth=1 software/通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。同样,通过命令du -h –max-depth=0 *,可以只显示直接子目录文件及文件夹大小统计值。
2023-07-05 20:13:03
965
原创 Linux下Qt breakpad编译使用
第三步:把linux-syscall-support目录下的lss文件拷贝到breakpad/src/third_party,如下图。则修改/lss/linux_syscall_support.h,如下图。打开crash.log,即可看到记录到的详细错误信息。生成crash.log 和error.log文件。执行程序,即可在可执行目录下生成一个dmp文件。breakpad.sh文件,内容如下。在main.cpp中添加头文件和。如果make提示以下错误。出现以下信息,则编译成功。
2023-07-03 19:52:31
974
1
原创 Ubuntu18.04安装Qt5.14.2
第四步:根据弹出的窗口,按照提示,一直点击 next,再点击 skip,之后一直点击 next,直到这一步,注意,如图,将所有选项打“√”,点击 next,即可,然后等待安装;然后打开Qt,在工具 -> 选项 -> 构建和运行 -> 构建套件Kit 进行设置,编译器这一项的C及C++选型选择正确的GCC版本。我安装的是QT5.14.2 中的 qt-opensource-linux-x64-5.14.2.run;第一步:Qt 安装完成后,先别打开,因为还需要安装其他工具以及库文件。切换apt-get源。
2023-07-03 17:39:15
1288
原创 gsettings-desktop-schemas : 破坏: mutter (< 3.31.4) 但是 3.28.4-0ubuntu18.04.2 正要被安装解决方案
gsettings-desktop-schemas : 破坏: mutter (< 3.31.4) 但是 3.28.4+git20200505-0ubuntu18.04.2 正要被安装。E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是。因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件。正在分析软件包的依赖关系树。正在读取软件包列表... 完成。
2023-07-03 17:27:37
350
原创 安装qt qmake assistant 错误:could not find a Qt installation of ‘‘
步骤三:重新链接【这里我安装的qt,在/opt/Qt5.14.2,所以qmake路径就是/opt/Qt5.14.2/5.14.2/gcc_64/bin/qmake】1、执行qmake,提示下图的错误。2、执行qmake,提示一下错误。步骤一:找到qmke命令链接路径。
2023-07-03 10:51:12
2451
1
原创 gsettings-desktop-schemas : 破坏: mutter (< 3.31.4) 但是 3.28.4-0ubuntu18.04.2 正要被安装解决方案
gsettings-desktop-schemas : 破坏: mutter (< 3.31.4) 但是 3.28.4+git20200505-0ubuntu18.04.2 正要被安装。E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。安装sudo apt-get install build-essential,出现下图错误,有一些软件包无法被安装。因为系统无法达到您要求的状态造成的。正在分析软件包的依赖关系树。
2023-06-29 14:59:00
597
原创 Ubuntu18.04+GTK安装
由于Ubuntu18已经回归到了主流Linux桌⾯gnome上,所以我们搭建gtk开发环境的时候,不需要再额外安装gnome了。3)安装pkg-config⽤于⾃动查找gtk的头⽂件位置。1)安装GNU编译链接⼯具。
2023-06-19 22:53:26
2345
原创 cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
【代码】cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
2023-06-16 19:38:09
1434
原创 C++ 超市商品管理系统
购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”(3)统计功能。查询功能: 可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。超市中商品分为四类,分别是食品、化妆品、日用品和饮料。
2023-06-12 14:05:12
960
2
原创 C++ 参数的三种传递方式和应用场景
然后我们总结一下值传递、指针传递和引用传递不同的地方,首先它们都是可以把值传递给函数的只不过是传递的方式不同,有一点是可以很明显的,指针传递和引用传递都会改变b的值,值传递不会,这就是值传递和另外的区别,而指针传递和引用传递的不同的地方则是指针传递的是b的地址,而引用传递则等于给b起了一个别名,然后通过别名来操作b的值,和它所在的内存地址。总而言之。
2023-06-07 16:28:48
1915
1
原创 C++学生成绩管理系统
通过此课题,熟料掌握文件、数组、结构体的各种操作以及友好界面的设计。(5)计算处于优、良、中、及格、不及格的学生人数以及占总人数的百分比。其中100~90为优,89~80为良,79~70为中,60~60为及格,60分以下为不及格。(2)三个成绩对总评成绩的百分比被定义为常数,各占总成绩的30%、30%和40%。(1)按班级按课程从文件中读入相应的平时成绩、期中考试成绩和期末考试成绩。(6)按要求输出成绩在优、良、中、及格、不及格各区间的学生学号、成绩。(4)计算该班级本课程的总平均成绩。
2023-06-06 23:38:28
322
原创 C语言宿舍财务管理系统
题目:编写程序,对本宿舍的财务收入和支出情况进行管理(财务信息的浏览、财务变动信息的录入、财务信息的查询、财务信息的删除)。2、收入和支出情况录入模块(录入时要求要录入年、月、日、姓名、收入or支出、资金来源或去处)5、信息删除模块(用于删除财务信息、需要先查找、再删除)3、浏览模块(显示总支出和收入、当前余额、明细)1、菜单选择模块(选择所要进行的操作)4、查询模块(查询收入和支出明细)需要完成源码的请私信。
2023-06-03 16:49:22
105
原创 C语言工资纳税系统
1--------------不超过500元的--------------------------5。9----------超过100000元的部分---------------------45。2----------超过500元至2000元的部分------------10。3----------超过2000元至5000元的部分----------15。4----------超过5000元至20000元的部分---------20。级数----------全月应纳税所得额----------税率(%)
2023-05-23 17:50:26
729
1
原创 关于modbus通讯协议
Modbus是一种通用的串行通信协议,最初由Modicon公司开发,用于PLC(可编程逻辑控制器)和其他工业设备之间的通信。现在已成为工业通信领域的标准,广泛应用于可编程控制器、传感器、仪表等设备之间的通信。
2023-05-16 17:00:31
570
原创 基于MFC FTP上传、下载、上传文件/文件夹
FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器授权的帐号,也就是说你只有在有了一个用户标识和一个口令后才能登陆FTP服务器,享受FTP服务器提供的服务。
2023-05-09 17:57:34
1045
1
原创 C/C++外卖点餐管理系统
,顾客可以根据菜品信息下单(订餐人,电话,菜品列表,合计价格,点餐时间,确认收货时间…餐厅管理员可以查看订单,出单,查看订单中的菜品评价等。(5) 餐厅管理员可以查看所有订单,按下单的时间顺序查看没有出单的订单,对订单进行出单操作。(4) 顾客下单,一个订单中可以包含多个剩余数量不为 0 的菜品,在餐厅管理员还没有出单之前,顾客可以修改自己的订单、取消(删除) 自己的订单。(2) 餐厅管理员对菜品信息的添加、修改、删除、按菜品名称模糊查询、按价格范围查询、按价格的升序或降序排列显示。
2023-05-08 11:59:17
1532
1
原创 关于面试官提问Qt三大核心机制
信号槽是Qt对象间通讯的方法,主要通过connect()函数连接信号函数和槽函数进行通讯connect() 是Q的一个静态函数;Qt信号槽的基本使用方法。
2023-05-05 09:33:18
1394
原创 关于面试官问Qt Connect的链接方式和类型问题
4、Qt::BlockingQueuedConnection:槽函数的调用时机与Qt::QueuedConnection一致,不过发送完信号后发送者所在线程会阻塞,直到槽函数运行完。3、Qt::QueuedConnection:信号发出后,信号会暂时被放到一个消息队列中,需等到接收对象所属线程的事件循环取得控制权时才取得该信号,然后执行和信号关联的槽函数,这种方式既可以在同一线程内传递消息也可以跨线程操作。无论槽函数所属对象在哪个线程,槽函数都在发射信号的线程内执行。槽函数在接收者所依附线程执行。
2023-05-05 09:32:49
1280
原创 关于面试官问到TCP/IP问题应该怎么回答?
例,TCP连接就像是打电话,两者之间必须有一条不间断的通路,数据不到达对方,对方就一直在等待,除非对方直接挂断电话。先说的话先到,后说的后到,有顺序。面试官:说说TCP/IP的三次握手与四次挥手吧。,面试官:osi七层模型与TCP/IP五层模型。面试官:接下来再说说,TCP与UDP的区别吧。面试官:关于tcp/ip你知道有哪些?小S:一张图,就足够说明它们?小S:以下是三次握手的描述。小S:你说具体一点吗?
2023-04-26 22:21:48
217
原创 MQTT 协议
这里我们要引入“主题(Topic)”的概念,“主题”在 MQTT 通信中是一个非常重要的概念,客户端发布信息以及订阅信息都是围绕“主题”来进行的,并且 MQTT 服务端在管理 MQTT 信息时,也是使用“主题”来控制的。从以上实例我们可以看到,MQTT 通信的核心枢纽是 MQTT 服务端,它负责将 MQTT 客户端发送来的信息传递给 MQTT 客户端,还负责管理 MQTT 客户端,以确保客户端之间的通讯顺畅,保证 MQTT 信息得以正确接收和准确投递。⑥、基于主题发布/订阅消息,对负载内容屏蔽的消息传输。
2023-04-26 17:39:43
1061
原创 QT 常见面试题
通过connect(...)第5个参数控制信号槽执行所在线程connect(...)它的连接方式:队列连接、自动连接和直接连接。
2023-04-18 19:01:58
6561
原创 QT】【Opencv】error while loading shared libraries: libopencv_core.so.3.4: cannot open shared
或者不创建文件:直接下载OpenCV.conf,将该文件放在第1步的路径下,然后直接进行第四步(注意:OpenCV.conf中的路径一定要是自己opencv的install路径,具体参看步骤3)注:该路径为opencv install之后的路径,一般默认的路径为/usr/local/lib,即lib*.so库文件所在的路径。3、在OpenCV.conf中写入(OpenCV的lib的路径),如。
2022-12-29 14:45:02
1705
原创 QT报错:Gtk-Message:Failed to load module :gail“
【代码】QT报错:Gtk-Message:Failed to load module :gail"
2022-12-29 11:56:22
716
原创 QT 报错Failed to load module “appmenu-gtk-module“
【代码】QT 报错Failed to load module "appmenu-gtk-module"
2022-12-29 11:39:36
726
原创 Ubuntu 20.04使用root身份自动登录
执行sudo gedit /etc/pam.d/gdm-autologin 注释掉auth required pam_succeed_if.so user!执行sudo gedit /etc/pam.d/gdm-password注释掉 auth required pam_succeed_if.so user!执行sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 把配置改为如下所示。2.3、修改/root/.profile文件。
2022-11-29 11:57:42
4492
原创 QT 之获得QTableView和QTableWidget的行数和列数
【代码】QT 之获得QTableView和QTableWidget的行数和列数。
2022-10-20 18:32:47
2679
原创 QT- error: LNK1158: 无法运行“rc.exe”
3、将找到的 "rc.exe" 和 "rcdll.dll" 拷贝到你的编译器目录。2、根据当前是32位还是64位的编译器选择x86或者x64。LNK1158:无法运行”rc.exe“1、搜索“rc.exe”
2022-08-11 14:17:54
3002
C++基于curl+openssl和WinHttpClient实现的http/https请求
2023-08-16
VS2012 + Opencv2.4.9实现单张人脸检测及人脸比对
2018-11-22
如何通过调节电位器,控制pwm占空比
2016-03-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人