- 博客(32)
- 资源 (1)
- 收藏
- 关注
转载 Qt 内存管理与布局管理器
转自:http://blog.csdn.net/qq575787460/article/details/7824633一、new与delete在C++学习中,new与delete必须成对使用,防止内存泄漏,可是在学习Qt时,我发现很多new,而却几乎找不到delete。在网上搜索得知:Qt完善了C++的内存管理机制,“如果指针对象有父对象,那么父对象在被释放时,会自动释
2014-06-22 16:15:05
757
转载 进程间同步---system v ipc 对象信号灯集
转自:http://blog.chinaunix.net/uid-26833883-id-3230813.html一、信号灯简介Linux支持System V的信号灯(semaphore),是一种进程间通信的方式,只不过它和管道、FIFO或者共享内存不一样,信号灯主要用于同步或者互斥对共享资源的访问,它的发明来源于火车运行系统中的"信号灯",利用信号灯可以实
2014-05-11 21:42:47
818
1
转载 进程间通信--信号(进程间通信唯一的异步方式)
一、信号的介绍信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了那些系统事件。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递个它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞取消时才被
2014-05-11 21:41:16
654
转载 进程间通信---共享内存
一、IPC(Inter-Process Communication,进程间通信)对象的介绍System V 的IPC对象有共享内存、消息队列、信号灯。注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都有唯一的名字,称为"键"(key)。通过"键",进程能够识别所用的对象。"键"与IPC对象的关系就如同文件名称于文件,通过
2014-05-11 14:06:49
595
转载 进程间通信--管道
转自:http://blog.chinaunix.net/uid-26833883-id-3227144.html前面我们学习了一下进程,我们知道多,进程间的地址空间相对独立。进程与进程间不能像线程间通过全局变量通信。 如果想进程间通信,就需要其他机制。 常用的进程间通信方式有这几种A.传统的进程间通信方式无名管道(pipe
2014-05-11 14:04:27
591
转载 C\C++编译器关于变量的内存分配顺序总结
文章出处:http://blog.csdn.net/liuhuiyi/article/details/7526889关于《纠结的N皇后问题》中数组越界导致的sum出现非正常的变化这个问题,继而引发出关于内存到底是如何被分配的疑问,今天早上便着手进行探索,当然其中借鉴了广大网友的总结,其中包括birdzb,NEO等牛人关于这方面的讨论。特别是看到一些讨论,感触颇深啊http://
2014-04-13 21:58:56
715
转载 extern作用详解
文章chucextern 作用1:声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。例1:创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp:int iRI;int main(){//.....}//B
2014-04-13 00:03:38
682
转载 QObject 之 Thread依附性
引自:http://blog.csdn.net/dbzhang800/article/details/6557272非常感谢作者:dbzhang800注意,本文试图通过源码解释下面的问题:子QObject必须在其parent关联的线程内创建调用moveToThread()的对象其parent必须为0事件驱动的对象要在单一线程内使用QTimer、netwo
2014-03-30 16:26:25
849
转载 QThread中的slots在那个线程中执行?
引自:http://hi.baidu.com/dbzhang800/item/1e931317d37d71dcbe904247QThread 似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便用google一搜,就能搜出大量结果出来。无怪乎Qt的开发人员 Bradley T. Hughes 声嘶
2014-03-30 14:34:51
1255
转载 exec()之QWidget,QDialog
很多人觉得QDialog比QWidget高级很多,为什么呢?QDialog(this) 和 QWidget(this) 前者是窗口,后者不是。QDialog 除 show()外,还有 exec() 和 open() 两个成员用来显示窗口。QDialog ....本文内容:如何使用QWidget来实现QDialog的常用功能,通过定义一个名为HDailog的类希望对大家理解QWidg
2014-03-29 23:27:39
9335
1
转载 QDialog 模态对话框与事件循环
起源qtcn中文论坛中有网友问到:假设程序正常运行时,只有一个简单的窗体A,此时只有一个GUI主线程,在这个主线程中有一个事件循环处理窗体上的事件。当此程序运行到某阶段时,弹出一个模态窗体B(书上说模态窗体是有其自己的事件循环的),此时模态窗体B是否会有一个对应的子线程处理其事件循环?这儿其实有两个问题:模态对话框 和 事件循环 没有必然联系事件循环 和 子线程 没有必
2014-03-29 15:50:06
719
转载 线程和事件循环
引自:http://www.devbean.net/2013/11/qt-study-road-2-thread-and-event-loop/事件可以由程序生成,也可以在程序外部生成。例如:QKeyEvent和QMouseEvent对象表示键盘或鼠标的交互,通常由系统的窗口管理器产生;QTimerEvent事件在定时器超时时发送给一个QObject,定时器事件通常由操作系
2014-03-29 14:28:40
1470
转载 lib和dill区别
引自:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静
2014-03-29 13:02:28
1428
转载 Qt show()和exec()
1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。2.当删除一个dialog对象时,exec()返回QDialog::Rejected,因此在删除dialog时要特别小心。举例说明一下:A 是一个QWidget 。B是一个QDialog,B = new QDialog(A)。int rec = B->exec();if (!th
2014-03-26 22:35:00
3041
转载 Qt之线程和QObject
前面两个章节我们从事件循环和线程类库两个角度阐述有关线程的问题。本章我们将深入线程间得交互,探讨线程和QObject之间的关系。在某种程度上,这才是多线程编程真正需要注意的问题。现在我们已经讨论过事件循环。我们说,每一个 Qt 应用程序至少有一个事件循环,就是调用了QCoreApplication::exec()的那个事件循环。不过,QThread也可以开启事件循环。只不过这是一个
2014-03-15 23:33:42
2362
转载 Qt之event()
前面的章节中我们曾经提到event()函数。事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。如上所述,event()函数主要用于事件的分发。所以,如果你希望在事件分发之前做一些操作,就可以重写这个event()函数了。
2014-03-15 21:25:44
874
转载 Qt之ignore()和accept()
首先来看一段代码:1234567891011121314151617181920212223242526272829303132333435//!!! Qt5// ---------- custombutton.h ---------- //class CustomButton : pu
2014-03-15 21:06:35
7620
2
转载 Qt文件读写
今天开始进入 Qt 的另一个部分:文件读写,也就是 IO。文件读写在很多应用程序中都是需要的。Qt 通过 QIODevice 提供了IO的抽象,这种设备(device)具有读写字节块的能力。常用的IO读写的类包括以下几个:QFlie访问本地文件系统或者嵌入资源QTemporaryFile创建和访问本地文件系统的临时文件QBuffer读写 QByt
2014-03-13 23:22:07
2378
转载 Qt内存管理机制
强类型语言在创建对象时总会显式或隐式地包含对象的类型信息。也就是说,强类型语言在分配对象内存空间时,总会关联上对象的类型。相比之下,弱类型 语言则不会这样做。在分配了内存空间之后,有两种方法释放空间:手工释放,或者是使用垃圾收集器。C++ 要求开发者手工释放内存空间。这样做的好处是,开发者对内存有完全的控制能力,知道什么时候释放比较合适。Java 则使用垃圾收集器。它在后台会有一个线程根据一定的算
2014-03-13 22:00:35
848
转载 Qt 事件循环机制 & 事件过滤器
在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 接下来依次谈谈Qt中有谁来产生、分发、接受和处理事件:1、谁来产生事件: 最容易想到的是我们的输入设备,比如键盘、鼠标产生的keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件(他们被封装成QMouseEvent和QKeyEven
2014-03-09 16:55:13
3877
转载 qt事件机制
学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同。Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理。现在,我们从头开始讲解。到底什么是事件呢? 事件起源: 基于事件如何被产生与分发,可以把事件分为以下三类。Spontaneous 事件——自发事件由窗口系统产生,它们被放到系统队列
2014-03-09 13:50:18
752
转载 Socket通信总结(附C++实现)
文章目录[隐藏]一、Socket是什么二、一些基本概念三、java socket建立连接的过程 四、Socket 通信示例五、建立通信链路六、服务端代码:七、客户端代码测试图例: 因为项目需要,服务端需要一个SOCKET来接收客户端的请求,好吧,没办法度娘哇,结果很多都是linux的例子,功夫不负有心人啊
2014-03-04 23:09:19
2014
转载 Socket通信原理和实践
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?
2014-03-02 23:16:58
536
转载 socket网络编程
1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成
2014-03-02 23:11:08
711
原创 数据结构-链表创建,删除,插入,反转,连接
// StructList.cpp : Defines the entry point for the console application.//顺序链表//创建//插入,头,中,末//删除,头,中,末,整个链表//反序//相加#include "stdafx.h"#include using std::cout;using std::cin;
2014-02-20 23:36:20
573
转载 理解回溯算法
回溯法也称试探法,它的基本思想是:从问题的某一种状态(初始状态)出发,搜索从这种状态出发所能达到的所有“状态”,当一条路走到“尽头”的时候(不能再前进),再后退一步或若干步,从另一种可能“状态”出发,继续搜索,直到所有的“路径”(状态)都试探过。这种不断“前进”、不断“回溯”寻找解的方法,就称作“回溯法”。 回溯的设计 1.用栈保存好前进中的某些状态.
2014-02-18 10:41:17
567
原创 猜词游戏
编程实现猜词游戏例:对于单词“hello”,程序提示输出:五个?,等待用户输入。用户输入时,若单词包含该字母,如“l”,则程序显示输出“??ll?”;若单词不含该字母,如“a”,则程序提示用户猜错。继续等待用户输入,直到用户猜出全部字母,或输入错误次数超过最大允许出错次数,游戏结束。注:1) 单词由程序内定,由全小写字母组成2) 提示输出问号数量等于单词长度3) 最大允许出错次
2014-02-16 13:34:38
939
转载 c++读写文件
掌握文本文件读写的方法了解二进制文件的读写方法C++文件流:fstream // 文件流ifstream // 输入文件流ofstream // 输出文件流//创建一个文本文件并写入信息//同向屏幕上输出信息一样将信息输出至文件#include#includevoid main(){ ofstream f1("d://me.txt")
2014-02-16 12:46:09
558
转载 理解Qt多线程类
QThread 应该被看做是操作系统线程的接口或控制点,而不应该包含需要在新线程中运行的代码。需要运行的代码应该放到一个QObject的子类中,然后将该子类的对象moveToThread到新线程中。POINT 1:QThread类的实例与普通类的实例没什么不同,只是运行着的run()函数会不同 例1:class MThread :public QTh
2013-12-29 11:49:38
989
1
转载 qrand()的用法
所谓的“伪随机数”指的并不是假的随机数,这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正点到了事物的特性 —— 规律性;但是每种树的叶子都有近似的形状,这正是事物的共性 —— 规律性。从这个角度讲,
2013-12-23 20:56:08
654
转载 ubuntu的apt-get时常用的一些源
ubuntu的apt-get安装软件时常用的一些源。修改源并升级更新sudo cp /etc/apt/sources.list /etc/apt/sources.list_backupsudo gedit /etc/apt/sources.list * 用以下内容替换文件中的所有内容Archive.ubuntu.com 更新服务器(欧洲,此为官方源,
2013-12-15 14:55:26
557
转载 Linux下which、whereis、locate、find 命令的区别
Linux下which、whereis、locate、find 命令的区别2011-12-06 17:07:34分类: LINUX转自http://312788172.iteye.com/blog/730280我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所
2013-12-15 13:47:18
441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人