自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

转载 一个fork的面试题

前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234567891011121314

2015-09-20 17:05:48 481

原创 重载,覆盖,隐藏的区别

成员函数的重载,覆盖,隐藏(1)成员函数被重载的特征:相同的类范围,函数名字相同,参数不同,virtual 关键字可有可无。(2)覆盖指派生类的函数覆盖基类函数,特征是分别位于基类和派生类,函数名字相同,参数相同,基类函数必须有virtual关键字(3)隐藏是指派生类的函数屏蔽了与其同名的基类函数。1,派生类的函数与基类的函数同名,但是参数不同,不论有无

2015-09-19 16:17:21 669

原创 虚函数表指针、虚基类表指针

虚函数表指针、虚基类表指针对于虚函数表指针和虚基类表指针:当单继承且非虚继承时:每个含有虚函数的表只有一个虚函数表,所以只需要一个虚表指针即可;当多继承且非虚继承时:一个子类有几个父类则会有几个虚函数表,所以就有和父类个数相同的虚表指针来标识;总之,当时非虚继承时,不需要额外增加虚函数表指针。 当虚继承时:无论是单虚继承还是多虚继承,需要有一个虚基类

2015-09-16 20:30:07 1163

原创 类的一般继承与虚继承

对于一般的继承,有三种继承方式,他们之间的区别如下:(1)公有继承方式:     基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员可见,其他成员不可见。这里保护成员与私有成员相同。     基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员可见,基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态;基类的私有成员不可见,基类的私有成

2015-09-16 20:25:53 708

转载 多重继承与虚继承

参考书籍:《C++ Primer》、《Effective C++》 多重继承与虚继承一、     多重继承1.定义多个类:图1 多重继承的Panda层次 定义一个抽象 ZooAnimal 类保存所有动物园动物公共信息并提供公用接口,Bear 类将包含 Bear 科的独特信息,以此类推。除了实际的动物园动物类的之外,还有一些辅助

2015-09-16 19:44:22 409

转载 C++中有了malloc/free 为什么还要new/delete

malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型(内部数据类型是编译器本来就认识的,不需要用户自己定义。非内部数据类型不是编译器本来就认识的,需要用户自己定义才能让编译器识别。)的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对

2015-09-16 17:05:06 1067

转载 sizeof() 类大小,空类大小

一个类的实例化对象所占空间的大小? 注意不要说类的大小,是类的对象的大小.首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。 用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。 如果 Class A; A obj; 那么sizeof(A)==sizeof(obj) 那么sizeof(A)的大小和成员的大小总和是什么关系呢,很简单,一个对象的大

2015-09-16 16:59:51 421

转载 Qt中字符编码问题-1

一、一个简单的 Qt程序下面这个小程序,估计大家会感到比较亲切。似乎有相当多的中文用户尝试写过这样的代码:#include #include int main(int argc, char **argv){QApplication app(argc, argv);QString a= "我是汉字";QL

2015-09-15 15:01:42 492

转载 C语言scanf函数详细解释

C语言scanf函数详细解释函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为:      scanf("",);scanf()函数

2015-09-11 17:08:33 485

转载 Qt实现多线程下的信号与槽通讯

Qt实现多线程下的信号与槽通讯初学QT,前期因为信号与槽只能在QT界面上面方便的使用,没有想到只要继承QObject便能使用且支持多线程操作。为了能够让后台自定义类能够使用信号与槽,首先在自定义类继承QObject1.DayouTraderSpi.h#include "qobject.h"class DayouTraderSpi : public QObj

2015-09-02 22:17:32 3400

转载 Qt多线程

Qt 多线程Qt线程类Qt 包含下面一些线程相关的类:QThread 提供了开始一个新线程的方法QThreadStorage 提供逐线程数据存储QMutex  提供相互排斥的锁,或互斥量QMutexLocker 是一个便利类,它可以自动对QMutex加锁与解锁QReadWriterLock 提供了一个可以同时读操作的锁QReadLocker与QWriteLo

2015-09-02 22:07:16 412

转载 QT 多线程程序设计

QT 多线程程序设计QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效

2015-09-02 22:03:51 323

转载 QDialog

QDialog 类代表对话框。对话框一般用来实现那些只是暂时存在的用户界面。对话框是独立的窗口,但通常它也有父窗口,当对话框显示时,默认的位置在父窗口的中央。从外观上来看,对话框一般没有最大化、最小化按钮。        对话框有模态和非模态两种形式。非模态对话框的的行为和使用方法都类似于普通的窗口。模态对话框则有所不同,当模态对话框显示时,其他窗口将全部进入非激活状态,不能接受键盘和鼠标

2015-09-02 16:03:58 957

转载 关于QT 中 QDialog的几点疑问的解答

1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。2.当删除一个dialog对象时,exec()返回QDialog::Rejected,因此在删除dialog时要特别小心。举例说明一下:A 是一个QWidget 。B是一个QDialog,B = new QDialog(A)。    int rec = B->exec();

2015-09-02 16:00:06 1070

转载 QT显示图片

QT显示图片的方法有很多大致为label上显示直接画出来容器显示1---------------显示gif图片(label上显示)http://archive.cnblogs.com/a/2053701/在QT中要显示GIF图片,不能通过单单的添加部件来完成.还需要手动的编写程序.工具:QT Creat

2015-09-01 22:05:46 446

转载 Qt之QTextCodec乱谈

何处开始呢?一旦在Qt程序中出现latin1字符集以外的字符,几乎大家无一例外的会用到 QTextCodec。而不少网友不分青红皂白,一旦用到中文,就同时使用下面3条指令(其中textc 取为 gb18030 或 utf8,还有的会选用system)。QTextCodec::setCodecForCStrings(textc);QTextCodec::setCodecFo

2015-09-01 21:38:28 445

转载 QTextCodec Class 参考手册

QTextCodec Class 参考手册 [QtCore module]QTextCodec类提供了文字编码转换. More... #include Note: 此类所有函数可 重载, 除了 setCodecForTr(), setCodecForCStrings(), QTextCodec(), 和 ~QTextCodec().List of all mem

2015-09-01 21:28:11 496

转载 QSetting Qt配置文件使用说明

在Windows操作系统中,大多把配置文件信息写在注册表当中,或写在*.ini文件中,对于这两种操作都有相应的Windows API函数,在以前的文章中都提及过,这里就不多说了~在Qt中,提供了一个相应的配置文件的类QSetting,使用QSetting类,可以将用户设置以及应用程序的设置轻松存储在磁盘中。QSettings::Format(配置存储格式)分为Nativ

2015-09-01 21:18:11 1072

转载 Qt + ffmpeg+SDl

Qt + ffmpeg+SDl (转)(1)先转QT中.pro原文档的写法1.  注释从“ #” 开始,到这一行结束。2.  指定源文件SOURCES = *.cpp对于多源文件,可用空格分开,如: SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像这样 :SOURC

2015-08-31 17:11:55 802

转载 socket通信---并发服务器图解

当服务器处理一个客户请求可能需要相当长一段时间的时候,使用迭代服务器模式(即整个服务器可能被耽搁客户长期占用)是会影响系统性能的。而处理并发连接的服务器可以称为并发服务器。   并发服务器的一个简单操作是fork一个子进程来服务多个客户。当一个连接建立时,用于阻塞进程的aceept返回,服务器接着调用fork来创建一个子进程,该子进程通过已连接套接口connfd服务客户;而父进程就可以通过

2015-08-29 11:04:53 500

转载 常见多线程与并发服务器设计方案举例

一、3点基础知识1、一个主机的端口号为所有进程所共享,但普通用户进程绑定bind不了一些特殊端口号如20、80等。     多个进程不能同时监听listen同一个端口,会失败。    关注4元组是否能唯一确定一个连接?2、每个进程都有自己的文件描述符(包括file fd, socket fd, timer fd, event fd, signal fd),一般是10

2015-08-29 11:03:26 480

原创 进程间通信------FIFO

通常所说的管道是指无名管道,管道最大的劣势为:只能用于有亲缘关系的各个进程间的通信,所以使管道有一定的局限性.而FIFO就是来解决管道没有亲缘关系的各个进程间的通信.     每个FIFO都有一个路径与之相关联,从而允许无亲缘关系的进程间通信.     FIFO相关的函数:   #include           #include          int mkfifo(co

2015-08-28 16:34:04 336

转载 多线程还是多进程的选择及区别

原文:http://blog.csdn.net/lishenglong666/article/details/8557215  最原始的博主我没有找到,只能把我从何处转的此篇博文的链接发出来。感觉这篇博文写的很棒,特此转载了鱼还是熊掌:浅谈多进程多线程的选择关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考

2015-08-27 15:23:23 588

转载 gcc编译选项

转载自http://blogold.chinaunix.net/u3/94700/showart.php?id=2340792gcc 提供了大量的警告选项,对代码中可能存在的问题提出警 告,通常可以使用-Wall来开启以下警告:            -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat           

2015-08-26 22:09:52 374

转载 Linux 关于动态链接库以及静态链接库的一些概念

From http://os.rdxx.com/Linux/LinuxRudiment/2008/5/17017197011.shtml库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件

2015-08-26 21:46:35 356

转载 Linux硬连接、软连接的原理 兼述磁盘组成&文件系统类型

硬链接目录(?)[+]引子目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统)、ext3、ext4、ZFS和Reiserfs等等。不论哪一种文件系统,总是需要存储数据。硬盘的最小存储单位是扇区,数据所存储的最小单位则不是扇区,因为用扇区来存储效率就太低了。一个扇区只有512字节,而磁头是一个扇区一个扇区地读取,也就

2015-08-24 11:14:34 594

转载 C语言中sscanf 的详细用法

sscanf() - 从一个字符串中读进与指定格式相符的数据.[cpp] view plaincopyprint?函数原型:    Int  sscanf( string str, string fmt, mixed var1, mixed var2 ... );    int scanf( const char *format [,

2015-08-21 11:23:11 476

转载 自动生成Makefile的全过程详解!automake/autoconf入门

文章出处:http://hi.baidu.com/%C7%B6%C8%EB%CA%BD%C7%FD%B6%AF/blog/item/16fb0b1eae1e3e8687d6b63b.html automake/autoconf 入门作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单M

2015-08-21 10:36:53 339

转载 su与sudo的区别与使用技巧

文章出处:http://www.examda.com/linux/rhce/fudao/20070925/111029738.html一. 使用 su 命令临时切换用户身份  1、su 的适用条件和威力  su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰

2015-08-21 10:34:44 383

转载 常见排序算法小结

转自:http://blog.chinaunix.net/uid-25906157-id-3318529.html排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。     我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张

2015-06-24 09:40:19 307

转载 AVL树旋转操作图解

http://blog.csdn.net/collonn/article/details/20128205AVL树的旋转操作 图解 最详细各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。我们称呼左旋为:逆进针旋转。我们称呼右旋为:顺进针旋转。老规矩,直接上图。如果再看不懂AVL树的旋转,我就无能为力了。。。

2015-06-05 21:25:16 697

转载 C语言字节对齐

文章来源于:点击打开链接文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。  一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。     二、为什么要字节对齐     

2015-06-03 15:21:54 1512

转载 Java反射和动态代理详解和实例

转载自:http://blog.csdn.net/he90227/article/details/39155613一、反射JAVA反射机制定义: JAVA反射机制是java程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 

2015-05-08 14:02:59 701

转载 C++和java多态的区别

C++和java多态的区别C++中,如果父类中的函数前边标有virtual,才显现出多态。如果父类func是virtual的,则Super *p =new Sub();p->func(); // 调用子类的func如果不是virtual的,p->func将调用父类原来的函数。 Java中,不管写不写virtual都是多态的,子类的同名函数会overrid

2015-04-29 14:41:51 319

原创 数组与指针的理解

最近被数组,指针搞晕了,查了一些资料,也看了《C专家编程》这本书,对这些有了些了解。下面写的这些东西时我个人的理解,如有不正确的地方,还望各位大神指正!数组与指针的异同点1、数组与指针的的不同点 很多时候数组和指针是一样的,但在C语言中两者确实有区别。数组名就代表的该数组的第一个元素的地址,而指针存储的值才代表地址。一下时节选自《C专家编程》中的一段话:char a[9]="abcdefgh"

2015-04-27 14:35:03 371

转载 二维数组和指向指针的指针

一道面试题引发的问题,首先要知道[]的优先级高于*,题目:char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?为什么?直接用程序说明:#includevoid main(){ char **p,a[6][8]; p = a; printf("\n");}编译,然后就会发现通不过,报错:错误 1 err

2015-04-22 15:39:59 372

转载 多维数组和指针

声明:1. 文章如有不妥的地方,请您指正,谢谢.          2.另外文中有些细节可能引用您的内容却未给出参考,请原谅我的疏忽,你的共享我不会忘记.          3. Email:[email protected]  李枝果/lizgo          4. 转载请保留该部分信息  二维数组在多维数组中算是简单的了,但是如果二维数组不清楚,就

2015-04-22 14:08:44 380

转载 宏Q_OBJECT

所有QObject的派生类在官方文档中都推荐在头文件中放置宏Q_OBJECT,那么该宏到底为我们做了哪些工作?在qobjectdef.h中有下面的代码:view plain#define Q_OBJECT \  public: \    Q_OBJECT_CHECK \    static const QMetaObjec

2015-04-21 13:25:14 2712

转载 Qt的元对象(Meta-Object)系统简介

Qt的元对象系统基于如下三件事情: 1.类:QObject,为所有需要利用原对象系统的对象提供了一个基类。2.宏:Q_OBJECT,通常可以声明在类的私有段中,让该类可以使用元对象的特性,比如动态属性,信号和槽。3.编译器:元对象编译器(moc)为每个QObject子对象自动生成必要的代码来实现元对象特性。moc工具会读入C++的源文件,如果它发现了一个或者多个声明了Q_OBJ

2015-04-21 13:22:01 493

转载 DirectSound播放音频应用程序开发快速入门

转载自:http://www.cnblogs.com/huaping-audio/archive/2008/09/01/1281578.html

2014-11-10 13:32:57 532

vim配置文件,已配置好

解压后,将里面的vimrc文件改名为.vimrc(隐藏文件)后移动到你的主目录,将文件夹改名为.vim(隐藏文件夹)后再移动到你的主目录,完成后就可以使用了。里面还包含一个文件夹,为vim的常用插件

2015-08-21

局域网内的两台Linux实现一端录音,一端播放。实现单工模式的对讲功能

想要实现局域网内的两台Linux主机实现对讲功能。于是就写了此代码,但只能实现一端采集语音,一端播放语音,要实现实时对讲还需要多个线程,多个套接字。此段代码能实现基本的一端录音,一端播放。但是可能还有点问题,就是时间长了,可能延时较大。由于是基于OSS的,所以执行时应加padsp,如下所示: gcc -o udp-client udp-client.c padsp ./udp-client IP gcc -o udp-server udp-server.c padsp ./udp-server

2014-10-27

DevExpress v11.2

控件,里面有很多精美的控件,做图形界面很好

2014-03-20

空空如也

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

TA关注的人

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