C++ 11中的多线程

C++11的标准库中提供了多线程库,使用时需要#include <thread>头文件,该头文件主要包含了对线程的管理类std::thread以及其他管理线程相关的类。下面是使用C++多线程库的一个简单示例: #include &lt...

2019-01-31 00:34:27

阅读数 50

评论数 0

C++11多线程之join与detach

在c++ 中,程序默认是只有一个MainThread运行的,其入口函数是主函数main(),其中若开辟了其他的新的子线程,对这些子线程的处理方式有两种: 一种是join(),即MainThread在join的子线程没执行完的这段时间里,什么也不做,直到子线程执行完毕,才会继续向下执行。 另一种...

2019-01-31 00:33:48

阅读数 50

评论数 0

C++11中的异步操作

主要有std::future、std::promise和std::package_task。   std::future作为异步结果的传输通道,可以很方便的获取线程函数的返回值。   std::promise用来包装一个值,将数据和future绑定起来,方便线程赋值。   std...

2019-01-31 00:26:53

阅读数 33

评论数 0

C++11中的多线程与异步

一、进程与线程 进程是应用程序的基本执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它系统资源组成,进程在运行时创建的资源随着进程的终止而死亡。 线程是一个独立的执行流,是进程内部的一个独立的执行单元,一个或多个线程构成一个进程,一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进...

2019-01-31 00:26:13

阅读数 32

评论数 0

Qt5笔记之Qt5插件的生成与加载及json文件的读取

一、前言 1. Qt Plugin按照应用场景分两种类型: (1)The High-Level API:用于扩展Qt本身的功能,需放在Qt安装目录下的指定目录里; (2)The Lower-Level API:用于扩展Qt应用程序的功能; Qt Plugin按照类型又可分为两种:动态插件(...

2017-09-29 09:30:41

阅读数 2513

评论数 0

C++笔记之抽象类与接口类

1.虚函数与纯虚函数: virtual void func1();//虚函数 Virtual int func2(){return 0;}//虚函数 virtual void func3() = 0;//纯虚函数 (1)虚函数可以在基类中实现,也可在派生类中实现,与普通函数的区别在于,虚函数是...

2017-09-29 09:29:39

阅读数 187

评论数 0

Qt5笔记之QGraphicsScene QGraphicsView QGraphicsItem

1. 三者之间的关系: (1) QGraphicsScene是QGraphicsView中的场景: 使用QGraphicsView::setScene()将scene加入到view中; (2) QGraphicsScene又是QGraphicsItem的容器: 使用QgraphicsScene::...

2017-09-29 09:25:25

阅读数 1307

评论数 0

C++笔记之前向声明

前向声明即在定义之前先声明,其主要作用在于,避免了当两个类相互调用时include出现循环导致的编译错误,在类很多时,我们并不能确保某两个类一定不会互相调用,为了避免这种潜在的错误,最好使用前向声明,写法如下: //Test.h Class ClassA;//向前声明类ClassA ClassA...

2017-09-29 09:23:28

阅读数 192

评论数 0

C++笔记之CopyFile、MoveFile的用法

1.含义 CopyFile(A, B, FALSE);表示将文件A拷贝到B,如果B已经存在则覆盖(第三参数为TRUE时表示不覆盖) MoveFile(A, B);表示将文件A移动到B   2.函数原型 CopyFile: MoveFile:     由函数原型可以看出,这两个函数的前两个输...

2017-08-29 09:25:27

阅读数 13171

评论数 3

Qt翻译文件结合VS实现语言切换(多语言国际化)

Qt多语言国际化主要体现在界面的语言切换,语言切换的主体,即界面中需要翻译的元素,要放在“QApplication::translate()”函数内,或更方便一些的“QObject::tr()”、“QObject::trUtf8()”函数;确定了翻译的主体后,就要对这些待翻译元素进行翻译,完成翻译...

2017-08-04 14:50:37

阅读数 4774

评论数 1

Qt样式表qss的两种用法

Qt的qss(样式表)使我们能够自定义控件的显示效果,令界面看起来不再单调,更具个人风格,而在VS+Qt的开发环境下,实现样式表主要有两种方式,下面以QPushButton为例介绍这两种实现方式: 1.通过Qt Designer修改样式表   在VS下新建Qt工程,会自动生成一个.ui文件,用...

2017-08-04 09:56:34

阅读数 689

评论数 0

C++ 由Log日志输出理解回调函数

关于回调函数的概念,之前有写过(传送点),这里不再赘述。   本文结合Log日志输出,进一步理解回调函数的执行过程。   首先附上demo的可运行程序代码(下载传送点),运行环境为VS2015+Qt5.8.0,不一样的自行修改即可,旨在帮助初学者走通程序,理解过程,也不用在后文中粘大段的代码......

2017-08-01 10:54:48

阅读数 875

评论数 0

QT+VS点击按钮弹出新窗口的实现

1.建立主工程: 新建一个Qt工程作为主工程,取名为newWidgetDemo;   2.建立新窗口: project->右键->添加->类->Qt5 Classes->Qt5GuiClass->添加->给新窗口起名为myWidget->finish...

2017-07-28 09:56:35

阅读数 5120

评论数 4

operator+单参数和双参数的两种写法

C++运算符重载在自定义类中经常会用到,比如当我们自定义一个点类Point,想对Point类对象进行加减比较判断等操作时,就需要对相应运算符进行重载。   以operator+为例,通常直观的感觉操作数就是应该有两个,写法如下: Point operator+(const Point &p...

2017-07-27 09:05:54

阅读数 4036

评论数 1

error MSB6006: “cmd.exe”已退出,代码为3

“cmd.exe”已退出,代码为9009,多为路径问题,解决方法可参考这里(链接) “cmd.exe”已退出,代码为1,多为moc_文件冲突,解决方法可参考这里(链接) “cmd.exe”已退出,代码为1,如果发生在QT+VS开发环境下的工程编译,解决方法:项目右键->Convert...

2017-07-21 11:42:36

阅读数 5284

评论数 0

error MSB6006: “cmd.exe”已退出,代码为1

“cmd.exe”已退出,代码为9009多为路径问题,解决方法可参考这里(链接) 如果是“cmd.exe”已退出,代码为1,解决方法如下: 点开项目目录Generated Files,可以看到moc_文件,将moc文件对应的.h头文件移除(注意是移除不是删除),再添加进来,会重新自动生成对应m...

2017-07-10 11:44:28

阅读数 29496

评论数 0

多Qt版本冲突导致编译异常的解决方法

在VS2015+Qt5.8.0(或VS2013+Qt5.6.2等等)中新建Qt Application项目,没有任何改动,编译依然报错如下: error MSB6006: “cmd.exe”已退出,代码为 9009 解决方法如下: 1.检查Qt安装目录是否添加到环境变量: VS2013+Qt...

2017-06-22 13:51:34

阅读数 6959

评论数 0

VS2015下添加Qt插件及路径配置

如何在VS2015下创建Qt5工程,必须在创建工程前将Qt5插件配置到VS2015中,本文介绍如何添加Qt5插件,以及使用插件创建Qt新项目中的路径问题。 前提: 1.下载安装VS2015; 2.下载安装Qt5,VS2015推荐使用Qt5.8.0(下载地址:32位[Qt5.8.0]); 3.下...

2017-06-22 11:48:51

阅读数 6344

评论数 0

VS2015更改项目名称步骤

在项目开发过程中,一个比较蛋疼的事就是改名,刚开始建项目的时候没想好叫什么,随便取了个名字,开发了一大部分以后突然统一规定项目名,相信这种情况大多数人都不陌生...     本文以VS2015+Qtplugin项目为例,总结一下项目改名字的步骤(假设项目初始名为wrong,要改为right) ...

2017-06-17 15:17:45

阅读数 9726

评论数 0

halcon12_32位破解方法及halcon代码转C++代码步骤

一、安装及破解 1.安装正版halcon12(安装时选择32位),网上随便找有很多,太大就不上传了... 2.下载破解包(下载链接),用halcon12_32bit破解库中的两个dll,替换安装目录\bin\x86sse2-win32下的对应两个dll 3.运行安装包中的hdevelopxl.e...

2017-06-05 17:00:32

阅读数 12338

评论数 3

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