自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 C++ 多线程(三) Win32多线程2

C++ 多线程(三) Win32多线程2同步/资源共享线程之间的同步在下面的例子中,两个线程用于计算给定范围内的所有质数。它演示了一个数字是否为质数的测试:#include <Windows.h>#include <process.h>#include <stdio.h>#include <math.h>volatile int counter = 0;int isPrime(int n){ for(int i = 2; i

2021-05-18 09:56:53 409

原创 C++ 多线程(二)Win32多线程1

C++ 多线程(二)Win32线程1概述Microsoft Windows 操作系统对多线程编程的支持几乎类似于 POSIX 线程提供的支持。区别不在于实际的功能,而在于 API 函数中的名称。每个 Win32 进程至少有一个线程,我们将其称为主线程。我们将假设操作系统将以循环方式为每个程序线程提供一个时间片。事实上,Win32 程序中的线程将与其他程序中的线程和系统线程竞争 CPU,而这些其他线程可能有更高的优先级。让我们看一下这个简单的例子。主线程会生成一个新线程来增加 myThread 函

2021-05-17 15:47:16 566

原创 C++ 多线程(一)入门

C++ 多线程(一)Multi-Threaded多线程编程术语线程更确切地说,是执行线程,它是最小的处理单元。由操作系统调度。通常它包含在进程中。因此,同一个进程中可以存在多个线程。它与进程共享资源:内存、代码(指令)和全局变量(上下文——它的变量在任何给定时刻引用的值)。在单个处理器上,每个线程根据时间进行多路复用;在多处理器上,每个线程同时运行,每个处理器/核心运行一个特定的线程。为什么用多线程在应用程序本身中有多个执行线程的应用程序称为多线程应用程序。例如,如果我们想创

2021-05-17 14:27:08 1218

原创 C++ 多态(四)动态转换

C++ 多态(四)动态转换Dynamic casting概述在处理多态性时,您经常会遇到这样的情况:您有一个指向基类的指针,但您希望访问只存在于派生类中的一些信息。考虑以下程序:#include <iostream>#include <string> class Base{protected: int m_value;public: Base(int value): m_value(value) {} vir

2021-05-14 15:26:10 757

原创 C++ 多态(三)拓展

C++ 多态(三)拓展案例分析分析下面程序执行输出的结果:#include <iostream>using namespace std;class A{public: virtual void fun1() { cout << "A fun1" << endl; } virtual void fun2() { cout << "A fun2" << endl;

2021-05-14 14:13:35 76

原创 C++ 多态(二)虚函数表

C++ 多态(二)虚函数表The virtual table概述为了实现虚函数,C++ 使用一种特殊的后期绑定形式,称为虚表。虚表是函数的查找表,用于以动态/后期绑定的方式解析函数调用。虚表有时有其他名称,如“虚表”、“虚函数表”、“虚方法表”或“调度表”。因为使用虚函数并不需要了解虚表的工作方式,所以可以将此部分视为可选阅读。虚表实际上非常简单,尽管用文字来描述有点复杂。首先,每个使用虚函数的类(或派生自使用虚函数的类)都有自己的虚表。这个表是编译器在编译时设置的一个静态数组。虚表包含一个条目

2021-05-14 10:41:41 182

原创 C++ 多态(一)入门

C++ 多态(一)Polymorphism in C++概述多态这个词的意思是有多种形式。通常,多态发生在类的层次结构中,它们通过继承相互关联。C++ 多态意味着对成员函数的调用将导致执行不同的函数,这取决于调用该函数的对象类型。考虑下面的例子,其中一个基类 Shape,由其派生出两个派生类:Rectangle 和 Triangle。#include <iostream> using namespace std; class Shape {public: Shap

2021-05-14 09:29:21 140

原创 Qt 模型/视图编程

Qt 模型/视图编程Model/View Programming导论Qt4 引入了一组新的项视图类,它们使用模型/视图体系结构来管理数据之间的关系以及数据呈现给用户的方式。该体系结构引入的功能分离,为开发人员提供了更大的灵活性来定制项的表示,并提供了一个标准模型接口,允许将大量数据源与现有项视图一起使用。在本文档中,我们简要介绍了模型/视图范例,概述了所涉及的概念,并描述了项视图系统的架构。本文解释了体系结构中的每个组件,并给出了如何使用提供的类的示例。模型/视图的体系结构模型-视图-控制器(M

2021-05-13 18:15:17 523

原创 Qt 元对象系统

Qt 元对象系统The Meta-Object SystemQt 的元对象系统提供了用于对象间通信、运行时类型信息和动态属性系统的信号和槽机制。元对象系统基于三件事:QObject 类为可以利用元对象系统的对象提供了一个基类;类声明私有部分中的 Q_OBJECT 宏用于启用元对象特性,如动态属性、信号和槽;元对象编译器(moc)为每个 QObject 子类提供了实现元对象特性所需的代码。moc 工具读取一个 C++ 源文件。如果它找到一个或多个包含 Q_OBJECT 宏的类声明,它会生成

2021-05-08 12:01:38 77

原创 Qt 信号槽系统

Qt 信号槽系统综述信号和槽用于对象之间的通信。信号和槽机制是 Qt 的核心功能,可能也是与其他框架所提供的功能最不同的部分。简介在 GUI 编程中,当我们更改一个小部件时,我们通常希望通知另一个小部件。更一般地说,我们希望任何类型的对象都能够彼此通信。例如,如果用户单击 Close 按钮,我们可能希望调用窗口的 Close() 函数。旧的工具包使用回调实现这种通信。回调是一个指向函数的指针,所以如果你想让一个处理函数通知你一些事件,你可以向处理函数传递一个指向另一个函数(回调)的指针。然后,处理

2021-05-08 11:26:01 180

原创 Qt 属性系统

Qt 属性系统The Property System一、简介Qt 提供了一个复杂的属性系统,类似于一些编译器供应商提供的属性系统。然而,作为一个独立于编译器和平台的库,Qt 不依赖于非标准编译器特性,如 __property 或 [property]。Qt 解决方案可以在 Qt 支持的每个平台上使用任何标准 C++ 编译器。它基于元对象系统,通过信号和插槽提供对象间的通信。Qt 设计师软件中的属性编辑器就利用到了 Qt 属性系统。二、属性的声明要声明属性,请在继承了 QObject 的类

2021-05-07 17:36:37 585

原创 Qt 源码分析之元对象系统(一)

Qt 元对象系统(一)一、元对象系统简单来说 Qt 元对象系统是对标准 C++ 的扩展。相比较其他高级语言java、python、php等,标准 C++ 为你做的工作实在是太少了,这样就使得开发人员写 C++ 很累,累的像 XXX 一样。特别是用 C++ 开发界面程序,那叫一个痛苦(这是针对大型软件)。怎么办呢?既然标准不去做,那就让 Qt 来做吧,于是乎就诞生了 Qt 元对象系统。一句话总结:Qt 元对象系统是为了方便程序开发,而对标准 C++ 做的扩展。二、举例比如我们用 C++ 写了一个类

2021-05-07 10:13:55 141

Embarcadero_Dev-Cpp_6.3_TDM-GCC_9.2_Setup.rar

Dev-Cpp_6.3 最新版

2021-06-22

glHelloWindow.zip

VS2015配置的opengl 3.3工程 VS2015直接打开就可以运行

2021-05-08

glfw-3.3.4-vs2015.zip

GLFW glfw-3.3.4-vs2015

2021-05-08

glview412.zip

Windows OpenGL 版本查看器 OpenGL Extension Viewer

2021-05-08

空空如也

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

TA关注的人

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