《程序员自我修养》学习心得 一、总结读了这本书到四分之一之后,发现有一句话关于Linux名言非常适合这本书,“一切皆为文件”,没有什么玄学概念,有的只是你没有接触过的规则和智慧结晶。程序从编译到运行这个过程中,有各种各样的标准和规则相互配合。 二、模糊概念整理2.1、dll(so)为什么叫动态共享库我最早的理解是一个dll可以被多个进程同事使用,彼此之间内存隔离,互不干扰。其实还有一层深意,目标文件中的.text程序段,在被 2023-08-10 编译链接 #编译链接
CMake学习笔记 1、总结  CMake和Qt自带的QMake对比,本身都是用于构建的工具,CMake更加通用,而且就功能来说更加丰富。CMake已经可以看成是一门专门的语言了,具有比较完善的自定义流程控制能力。对于现代CMake与经典CMake,现代CMake核心是面向对象,这个对象通常指的是编译的可执行程序或者库,也可以是用户自己创建的target。从API变化来看,最直观的 2021-11-13 CMake #CMake
Qt嵌入CEF浏览器 Qt嵌入CEF浏览器  主要记录Qt嵌入cef踩过的坑。 一、QCommandLineParse不正确使用导致无法显示网页   Qt已经有事件循环,所以不能直接使用CEF的事件循环,需要将CEF浏览器的界面作为子窗体给Qt窗口,最重要的是初始化时调用CefExcuteProcess创建CEF的子进程,这些子进程从启动参数来看是 2021-11-13 Qt-CEF #Qt #CEF
Qt基础教程之常用控件 Qt基础教程之常用控件  本文作为Qt培训的基础篇,主要是给Qt新手介绍一下Qt的常用控件。在讲这些之前,我觉得对于新手来说首先应该学会使用Qt的IDE,也就是QtCreator。 一、QtCreator1.1、代码格式化  多人开发项目需要注意就是代码风格问题,每个人代码风格不一样,在改别人的代码时不小心就会将别人的代码格式 2021-11-10 Qt基础教程 #Qt
Qt应用无法在远程桌面启动 通过windows自带的远程工具访问远程机器,然后在远程机器上启动qt发布好的应用,提示LoadLibrary Failed with Error 87: 参数不正确或者LoadLibrary Failed with Error 126: 模块未找到。通过查找资料,发现这是RDP协议在有多个显卡(独显和核显)的远程机器上的bug,只要将intel的集显给禁用掉就可以了。 2021-11-02 Qt #Qt #RDP #opengl
QtConcurrent异步并发 Qt并发模块Qt对于多线程开发提供了QThread,这种方式需要使用者重写该类的run()虚函数,或者如果不需要控制run()里面的线程运行逻辑,只是单纯的想跑个线程,就可以直接调用QObject::moveToThread(QThread *thread)接口,这样QObject的派生类中的所有槽函数都会在thread线程中执行。但是这种还是过于繁琐,始终都需要继承指定类增加多余的操作,而不能像 2021-10-18 Qt #Qt #并发
Qt命令行参数解析 Qt命令行参数解析命令行工具一般支持通过–help获取参数用法,帮助用户掌握使用方法。Qt也提供了相关功能,主要涉及到QCommandLineParser和QCommandLineOption这两个类。使用方法就是添加自己的QCommandLineOption到QCommandLineParser中,然后通过QCommandLineParser去解析QCoreApplication中的参数。使用样 2021-10-18 Qt #Qt #命令行参数
stl常用算法 STL常用算法STL里面的容器是非常频繁使用的,但是关于算法部分可能使用不是太多,导致简洁的STL容器往往搭配繁琐低效的自实现算法。为此此章专门记录一些常用的STL算法。主要涉及到的头文件为<algorithm>和<numeric>。 查询算法123456789101112131415161718192021222324252627282930313233343536373 2021-05-03 stl #stl #algorithm
SANE扫描仪驱动开发 SANE扫描仪驱动开发一、前言  Linux下的扫描仪驱动类型主要是sane协议,其他的还有跨平台的twain协议,但是在Linux上比较少见。  SANE全称Scanner Access Now Easy,是一个开源项目,项目地址http://www.sane-project.org/source.html。项目总体分为两个 2021-04-30 Linux驱动开发 #SANE