- 博客(498)
- 资源 (15)
- 收藏
- 关注
原创 Qt---双缓冲绘图
在许多现代图形库和框架中,如OpenGL、DirectX以及各种GUI框架(例如Qt、wxWidgets等),由于前台缓冲区直接与显示设备相连,交换后用户就能看到完整的图像,而。在后台缓冲区完成绘图操作后,整个图像已经完整。:然后,前后台缓冲区的内容会被交换(这个过程称为"足够大,能够存储整个图形界面,并且在绘图操作完成后。双缓冲(double-buffers)绘图。(如QPixmap)上,然后将。在实现双缓冲时,开发者需要确保。:所有的绘图操作首先在。
2024-11-13 02:24:12
99
原创 网络接口卡
本文内容由回答产生ps:刚才发现有时候它回答的内容不是很靠谱。哈哈哈---------"NIC"通常指的是它是与(通常是)的硬件设备。
2024-11-12 05:35:46
643
原创 高字节,低字节,大端序,小端序
而不是使用位操作,那么字节序就会产生影响。上进行的,与数据的实际存储顺序无关。这些术语通常用于描述一个。这意味着0x1234在内存中无论是。(小端),位操作的结果都是一样的。无论在大端还是小端系统中,类型的变量,其内部的。
2024-11-12 03:54:19
150
原创 ipconfig
IPv6 地址 . . . . . . . . . . . . : 2409:8a44:115:b360:25e7:153:f8f9:6c65。临时 IPv6 地址. . . . . . . . . . : 2409:8a44:115:b360:4115:4488:ae59:bf2a。默认网关. . . . . . . . . . . . . : fe80::fe8d:13ff:fed4:45b8%17。IPv4 地址 . . . . . . . . . . . . : 192.168.106.1。
2024-11-11 00:32:58
277
原创 ip addr show
在 Linux 系统的网络配置中,“scope global” 这个术语用来指明一个 IP 地址是全局可路由的,也就是说,这个地址可以被网络中的任何其他设备访问,不仅仅限于本地网络。因此,当你看到像 “ens” 这样的名称时,它通常指的是一个以太网接口,而 “ens” 后面的数字(例如 “ens3”)则指定了具体的接口编号。例如,一个名为 “ens3” 的接口表示它是系统上的第三个标准以太网接口。(最大传输单元)设置为 65536 字节,这是环回接口的默认值,实际上它可以处理任意大小的数据包。
2024-11-11 00:14:38
597
原创 int socket(int domain,int type,int protocol);
根据你的应用程序需要连接的网络类型,你会选择合适的协议族。例如,如果你正在编写一个需要与互联网上的其他主机通信的应用程序,你会使用。它是在C语言中使用的一个系统调用函数,用于创建一个新的套接字。套接字是支持TCP/IP协议的网络通信的端点,可以看作是不同计算机进程间或同一计算机上不同进程间通信的一个虚拟端点。:不指定协议族,通常用于地址信息的初始化,允许套接字与任何协议族兼容。:指定套接字的类型,决定了数据传输的格式和方式。:指定协议族,它决定了套接字的地址类型。:用于用户空间和内核空间之间的通信。
2024-11-10 22:56:43
283
原创 字符集与编码格式
本文内容产生自的回答。---------字符集(Character Set)和编码方式(Encoding Scheme)是文本处理中的两个核心概念,它们密切相关但又有所区别。
2024-11-10 20:13:19
681
原创 QtCreator调试时Change Value Display Format
转义序列(Escape Sequence)是在许多编程语言和通信协议中用来表示某些不能直接表示的字符的一种方法。转义序列通常由一个或多个特定的字符组成,这些字符告诉解释器或处理器改变随后字符的解释方式。开头,后跟一个或多个字符来表示特定的控制字符、特殊字符或者无法在键盘上直接输入的字符。了解和使用转义序列对于编写和理解代码、处理文本数据以及在编程中处理特殊字符都是非常重要的。无意识的,不假思索的。改变类型"QString"的显示。将不可打印字符显示为转义序列。将所有字符视为可打印的。
2024-11-10 13:38:06
734
原创 学习异步编程
首先,定义一个函数指针类型,它将作为回调函数的类型。// 定义回调函数类型// 异步操作的函数// 模拟耗时操作// 调用回调函数。
2024-11-10 12:38:28
658
原创 Qt中的事件队列
本文内容由产生。------Qt中的事件队列在Qt框架中,事件队列是由QEventLoop类管理的,它是事件驱动编程模型的关键组成部分。Qt中的事件队列用于存储和管理所有的事件,这些事件包括用户输入(如鼠标点击、键盘按键)、窗口系统事件、定时器事件等。
2024-11-10 02:33:33
977
原创 学习事件循环
本文内容由智谱清言产生。什么是事件循环? 事件循环(Event Loop)是一个编程概念,特别是在异步编程和GUI(图形用户界面)应用程序中非常常见。它是用来处理和管理事件(如用户输入、计时器事件、I/O操作完成等)的程序结构。以下是事件循环的基本组成和工作原理:事件队列:事件循环维护一个事件队列(有时也称为消息队列),这是一个先进先出(FIFO)的数据结构,用于存储待处理的事件。事件处理器:事件处理器是用来处理事件队列中事件的函数或方法。主循环:主循环是事件循环的核心部分,它不断地从事件队列中取出事件,并
2024-11-10 01:57:18
394
原创 I/O操作完成事件
本文内容由产生。在计算机编程中,I/O(输入/输出)操作完成事件是指一个I/O操作(如读取文件、写入数据库、网络通信等)已经完成的通知。这种事件通常由操作系统或框架生成,以通知应用程序或程序中的某个部分,之前发起的I/O请求已经处理完毕,可以继续执行后续的操作。
2024-11-10 01:47:38
244
原创 用户输入事件
用户输入事件是软件编程中的一个重要概念,尤其是在开发图形用户界面(GUI)应用程序时。:当用户移动鼠标、点击鼠标按钮或滚动鼠标滚轮时,会产生鼠标事件。例如,左键单击、右键单击、鼠标移动等。:在网页中,用户与表单元素交互时会产生表单事件,如输入框内容改变、提交按钮被点击等。:用户通过一系列的触摸动作来执行特定的手势,如双指捏合(放大或缩小)、双击等。用户输入事件指的是用户与计算机系统交互时产生的一系列操作,这些操作通常是通过。:当用户与音频或视频内容交互时,如播放、暂停、跳过等,会产生媒体事件。
2024-11-10 01:42:42
301
原创 计时器事件
计时器事件是许多应用程序和服务的重要组成部分,它们使得程序能够在不需要持续监控的情况下,按计划执行任务。:计时器事件触发时,可以执行一个或多个预定义的动作,比如调用一个函数、执行一段代码、发送通知等。一些系统可能提供高精度的计时器,而其他系统则可能只有较低的精度。在计算机编程和系统设计中,计时器事件通常用于。,例如每秒、每分钟或每小时触发一次事件。,当系统时间达到这个时间点时,计时器事件就会被触发。计时器事件(Timer Event)是一种在。:计时器的精度取决于。
2024-11-10 01:37:59
220
原创 I/O操作
I/O操作,即输入/输出操作(Input/Output Operation),是指与进行的过程。这些操作涉及到各种类型的或通过进行通信。
2024-11-10 00:32:58
937
原创 插入迭代器
操作符实际上并不改变迭代器的位置,它的存在仅仅是为了满足迭代器的要求,使得。方法来实现,可以在迭代器指定的位置之前插入新元素。这行代码实际上没有做任何事情,它不会改变。这个函数接受一个容器的引用,并返回一个。其中++back_it;可以在需要递增迭代器的算法中使用。)是 C++ 标准库中提供的一种。它常用于算法中,尤其是当你想要将。允许在容器的末尾插入元素。的末尾,并且接下来的。使得在迭代器上赋值时,
2024-11-08 02:35:12
145
原创 std::back_inserter
是 C++ 标准库中的一个函数模板,它用于创建一个插入迭代器(insert iterator),这个迭代器可以在容器末尾插入新元素。它定义在头文件中。
2024-11-08 02:27:47
257
原创 Qt中时间戳转化为时间
GMT(格林威治标准时间,Greenwich Mean Time)是一个时间标准,它以通过英国伦敦格林威治的子午线上的平均太阳时作为参考。GMT是以前国际上广泛使用的时间标准,现在已被协调世界时(UTC,Coordinated Universal Time)所取代,但在日常交流中GMT仍然被广泛使用。在日期和时间表示法中,"T"是一个分隔符,用于将日期部分和时间部分明确区分开来。GMT最早由英国铁路使用,后来在1884年的国际经度会议上被采纳为国际时间标准。
2024-11-06 04:31:47
440
原创 [signal] void QComboBox::currentTextChanged(const QString &text)
我不希望此情景下触发该槽函数,所以我选择在addItems后再使用connect连接信号槽。思考:槽函数on_comboBox_currentTextChanged是否会被调用呢?后 ,currentText变为"1",触发currentTextChanged信号。原本comboBox的currentText是"",执行完。
2024-11-06 04:06:01
325
原创 线程同步---条件变量
学习自《深入应用C++11 代码优化与工程级应用》过程中许多不懂的点问了条件变量是C++11提供的另外一个用于等待的同步机制,它能阻塞一个或多个线程,直到收到另一个线程发出的通知或超时,才会唤起当前阻塞的线程。条件变量需要和互斥量配合起来用。
2024-11-03 04:44:30
613
原创 C++右值引用
-----在没有返回值优化的情况下,拷贝构造函数调用了两次,一次是GetA() 函数内部创建的对象返回后构造一个临时对象产生的。在C++中,当函数返回一个对象时,如果这个对象是通过值传递的,则会经历复制构造过程即:copy construct当GetA()调用时,它创建了一个局部对象A,调用构造函数,输出construct:1当GetA()返回时,这个局部对象的生命周期即将结束,因此需要创建一个临时对象来保存返回值,此时调用复制构造函数,输出copy construct:1。
2024-11-02 23:23:22
852
原创 学习GCC
用gcc在Windows上编译*.c文件并非直接生成*.exe文件(Linux上为*.out),中间还经历了预处理,编译和汇编几个过程,好在gcc提供了生成中间文件的指令,虽然平时开发的时候很少关注编译过程中生成的这些*.i和*.s文件,但可以对其有一定的了解。GCC的初衷是为GNU操作系统专门编写的一款编译器,原本的GNU专用于编译C代码,现今已扩展为可以编译C,C++,Java,Objective-C等多种编程语言的编译器集合了。*.o链接得到*.exe(*.out)*.c预处理得到*.i。
2024-11-02 17:23:44
294
原创 Linux---cp命令
符合链接是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。使用ln -s命令可以创建符号链接。例如,创建一个名为test.txt的文件的符号链接test,命令为ln -s test.txt test。符号链接的文件大小与源文件的大小是不同的,因为符号链接实际上是一个指向源文件的快捷方式。source:要复制的文件或目录的名称。dest:复制后的文件或目录的名称。cp [选项] 源文件 目标文件。
2024-11-01 03:44:26
490
原创 Qt example---40000 Chips
collision detection:碰撞检测。Antialiasing:抗锯齿。optimization:最优化。a side effect:副作用。side by side:并排的。common case:常见情况。manipulation:使用。arbitrary:随心所欲的。Reimplement:重定义。viewport:视口,视窗。imminent:即将发生的。antialias:抗锯齿。primitives:图元。kicks in:开始运作。compensate:补偿。
2024-10-28 02:14:17
1112
原创 学习qmake
development projects:开发项目。sophisticated:复杂巧妙的。Reference:参考书目,查阅。typically:典型地,通常。Manual:使用手册,说明书。automates:使自动化。declaration:声明。description:描述。internally:在内部。compilation:编译。concisely:简洁的。suit:满足(某人)需要。simplify:使简易。templates:模板。specify:明确指出。recognize:认识。
2024-10-27 14:02:06
795
原创 Qt指定程序编译生成文件的位置
生成编译中间产物的过程是为了将源代码转化为可执行文件或库文件。因为资源文件并不能被C++编译器所识别,rcc.exe是Qt工具链中的一个工具,用于将资源文件编译为用于访问这些资源的C++代码,它会将资源文件转换为一个.cpp文件,其中包含了资源数据的定义和访问函数。在项目构建过程中,如果包含的QObject派生类,Q_OBJECT宏等元对象相关的代码,moc.exe会对这些文件进行处理,输出一个新的C++源代码文件,其中包含清单QObject类和元对象的所有信息,生成的文件一般以moc为后缀。
2024-10-27 02:33:40
605
原创 Linux scp命令
第1,2个指定了用户名,命令执行之后需要再输入密码,第一个仅指定了远程的目录,文件名称不变,第2个指定了文件名。scp:secure copy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。-B: 使用批处理模式(传输过程中不询问传输口令或短语)-p:保留原文件的修改时间,访问时间和访问权限。-1 :强制scp命令使用协议ssh1。-2:强制scp命令使用协议ssh2。-4:强制scp命令只使用IPv4寻址。-6:强制scp命令使用协议ssh2。scp是加密的,rcp是不加密的。
2024-10-27 01:16:14
415
原创 C++ 运算符重载
运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。可以重载为类的非静态成员函数和非成员函数。其本质就是函数重载。
2024-10-27 00:14:09
117
原创 C++ 智能指针
shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保在离开指针所在作用域时,自动正确地销毁动态分配的对象,防止内存泄漏。它的一种通用实现技术是使用引用计数,每使用它一次,内部的引用计数加1,每析构1次,内部引用计数减1,减为0时,删除所指向的堆内存。当你有一个指向某个类型的指针时,你可以使用解引用操作符来获取或修改该指针所指向的变量的值。这会导致所管理对象的引用计数减少,如果引用计数变为零,对象将被销毁。
2024-10-23 23:34:01
554
原创 std::function和bind绑定器
C++中的可调用对象虽然有比较统一的操作形式(除了类成员指针之外,都是后面加括号进行调用),但定义方法五花八门。当我们给std::function填入合适的函数签名(即一个函数类型,只需要包括返回值和参数表)之后,它就变成了一个可以容纳所有这一类调用方式的“函数包装器”。func_ptr,foo,mem_func_ptr,mem_obj_ptr都被称为可调用对象,这些对象的类型被称为“可调用类型”。从上面4个例子可以看到,除了类成员函数之外,上面定义涉及的对象均可以像一个函数那样做调用操作。
2024-10-22 05:17:57
777
原创 带有operator()的类
当我们在一个对象后面使用一对圆括号时,编译器会自动调用该对象的括号运算符operator(),并将括号内的参数传递给它。该运算符的返回值可以是任意类型,包括指针,引用,值或类类型等。在C++中,括号运算符operator()是一种重载运算符,它可以使得一个类的对象像函数一样被调用。上面的类重载了括号运算符operator(),使得它可以接收两个int类型的参数,并返回它们的和。
2024-10-20 17:49:55
217
原创 C++临时变量的常量性
编译器根据字符串"hello world"构造一个string类型的临时对象,这个临时对象具有const属性,当这个临时变量传递给非const的string&引用类型时,无法隐式完成类型转换。IntClass(6)生成了一个无名临时变量并作为左值被修改,说明临时变量不是常量,只是编译器从语义层面限制了临时变量传递给非const引用。临时变量所在的表达式执行结束后,它就会释放,所以修改一个临时变量是毫无意义的。临时变量作为引用参数传递时,形参必须是常量引用?实际上临时变量是可以作为左值并被赋值的。
2024-10-19 11:55:34
238
原创 explicit关键字
类型转换:不是把值直接赋给左边的对象,而是在中间产生一个临时变量,右边的这个i会先去构造一个临时变量,类型为double,然后通过这个临时变量进行拷贝构造给d,这是编译器会做的一件事。产生的临时变量具有常性。它是通过类的构造函数构造出来的,同类型之间可以做引用。此种情况下,构造函数加上explicit关键字依然可以阻止隐式类型转换。这样写可以,这是在调用多参构造函数。下面是看上面的文章写下的听课笔记!上面的代码会产生一个隐式类型转换。这种写法我之前没怎么见过。这样写是无法初始化d2的。
2024-10-19 11:19:32
290
QtWebApp的示例
2024-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅