自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (9)
  • 收藏
  • 关注

转载 ListCtrl 选中某项

void CWndSendDataCProView::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult) {NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;CListCtrl &listCtrl = GetListCtrl();  CString strName = "";CStr

2012-10-25 16:09:20 3378

转载 OnCreate VS OnInitialUpDate ^~^ OnPaint VS OnDraw

OnCreate VS OnInitialUpDate ^~^ OnPaint VS OnDraw大家通常会将接收命令行的语句放在哪个事件里呢?ONCREATE还是ONSHOW还是ONACTIVE还是ONPAINT ?视需要而定,ONCREATE只发生一次,ONSHOW/ONACTIVE/ONPAINT 是多次发生的,ONSHOW是ONCREATE之后显示窗体时发生

2012-10-24 11:46:34 1038

转载 线程函数有关的问题

创建线程时,线程函数如果要设置成类的成员函数,则必须是静态成员函数,在此函数中不能使用非静态成员变量,如果要使用非静态成员变量,则一种比较适合线程的方法是:建立线程的时候把this作为CreateThread的一个参数(即第4个参数,就是那个LPVOID型的),然后线程里就对应pParam,例如:  static UINT ThreadProc(LPVOID pParam)     {

2012-05-13 15:24:59 605

转载 RUNTIME_CLASS(class_name) a CRuntimeClass structure

RUNTIME_CLASS()是一个宏定义,定义如下: #define RUNTIME_CLASS(class_name) ((CRuntimeClass*)(&class_name::class##class_name))是得到类名为class_name中的CRuntimeClass静态成员的指针。例如: class MyClass : CObject { pub

2012-05-03 10:47:37 1960

转载 C/C++编译过程

C/C++语言很多人都比较熟悉,这基本上是每位大学生必学的一门编程语言,通常还都是作为程序设计入门语言学的,并且课程大多安排在大一。刚上大学,孩子们还都很乖,学习也比较认真,用心。所以,C/C++语言掌握地也都不错,不用说编译程序,就是写个上几百行的程序都不在话下,但是他们真的知道C/C++程序编译的步骤么?我想很多人都不甚清楚,如果他接下来学过“编译原理”,也许能说个大概。VC的“舒适”

2012-01-30 16:39:35 1378 1

转载 左值 右值 初始化与赋值 声明与定义

左值既能在赋值的左边,又能在右边。 右值只能在右边。  (++a  是左值  a++是右值);a+1:取变量a的内存中的值,然后相加b = a;把a内存中的值拷贝到b的内存中 初始化:创建变量并给它赋初始值。赋值:擦出对象的当前值并用新值替代。 int a(1024);//直接初始化int a = 1024;//复制初始化   对于内置类型,二者没有区别。对类对象初

2011-10-21 15:14:08 1039

转载 内存对齐2(比较清楚的讲解)——重要

也谈内存对齐 - [技术前沿]Tag:语言探索 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/1347304.html在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个

2011-10-21 09:56:44 738

转载 内存对齐的问题1

typedef union u{   int a;   char c[5];}un;typedef struct data{   int b;//0-3   un m;//4-11   double d;//12-19}sData;int main(void){ printf("%d\t%d\n",sizeof(un),sizeof(sData)

2011-10-20 16:33:12 578

转载 怎样确定职业发展方向

IT行业走好职业发展之路【编者按】陈安之说过,有什么样的目标,就有什么样的人生。特别是在IT这样一个充满活力又极端残酷的特殊行业中,每天都在创造着新的传奇,创造与颠覆、裂变与整合、竞争与合作,IT人很难过着平淡而惬意的生活。然而更多非常优秀的IT人士并没有

2011-10-19 10:57:00 1945 1

转载 多线程

Linux下面的线程锁,条件变量以及信号量的使用一) 线程锁1) 只能用于"锁"住临界代码区域2) 一个线程加的锁必须由该线程解锁.锁几乎是我们学习同步时最开始接触到的一个策略,也是最简单, 最直白的策略.二) 条件变量,与锁不同, 条件变量用于等

2011-10-17 10:47:01 559

转载 linux多线程高效开发

背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善

2011-10-17 10:34:12 704

转载 没有搞懂的关键字 volatile

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:    1). 并行设

2011-10-15 16:50:31 493

转载 没有搞懂的关键字 4类cast(类型转换)

C++ 引入了 const_cast, reinterpret_cast 之类的新的显式类型转换方式,不仅大多数 C 程序员觉得不是很习惯,就连某些有经验的C++ 程序员都会在一些细节上犯错。诚然,既然我们可以简单的写出:int i = (int)p;// p is a po

2011-10-15 14:59:18 644

转载 linux多线程

首页 > 编程技术 > 其它 > 正文Linux下的多线程编程本文出自:http://www.china-pub.com 作者: 姚继锋 (2001-08-11 09:05:00)1 引言  线程(thread)

2011-10-15 14:40:48 699

转载 linux 动态库

1. 静态库和动态库的基本概念静态库,是在可执行程序连接时就已经加入到执行码中,在物理上成为执行程序的一部分;使用静态库编译的程序运行时无需该库文件支持,哪里都可以用,但是生成的可执行文件较大。动态库,是在可执行程序启动时加载到执行程序中,可以被多个可执行程序共享使用。使用动

2011-10-14 14:51:42 611

转载 如果 C++程序要调用已经被编译后的C 函数,该怎么办?extern "C"

假设某个C 函数的声明如下:void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C 函数

2011-10-14 11:12:36 535

原创 const 的用法

个人图书馆  搜索  C++笔试题  也有类似的讲解CTime  const t1;const CTime t1;//常对象  不能调用其非const成员函数  所有数据成员都为constCTime *const p;//指向CTime类对象的常指针  即指针是不可变

2011-10-12 16:33:56 489

转载 C/C++中预编译#,##,#error作用

C/C++中预编译#,##,#error作用 2008-05-05 18:39:07| 分类: 计算机编程 | 标签: |字号大中小 订阅 .#是生成字符串: #define a(x) #x a(bc) => "bc"##是连接: #define a(x) abc##x a(12

2011-10-12 15:56:00 983

原创 运算符重载

可以是成员函数,也可以是友元函数,还可以是非成员函数和非友元函数(即普通的函数,这种情况用的比较少) 成员函数: 通过this指针访问本类的数据成员     要求运算符左侧的参数必须是类对象,并且与运算符函数的类型相同 重载流插入运算符>必须用友元函数的原因:

2011-10-11 16:21:40 521

转载 C++笔试题汇总

分类: 〖C++技术〗 2007-03-26 19:3038213人阅读 评论(27)收藏举报今天去9City笔试才发现很多基本的东西都忘记了,以后面试前要看看这篇文章了!唉,老了!①链表反转单向链表的反转是一个经常被问

2011-10-11 15:35:38 770

转载 sourceinsight

btiger2000的笔记他们彼此深信,是瞬间迸发的热情让他们相遇。这样的确定是美丽的,但变幻无常更为美丽 首页 相册 标签流水账(2)arm(6)单片机(4)USB接口开发(9)DSP(3)相关资料(9)嵌入式linux(

2011-10-11 15:23:38 1562

原创 构造函数和析构函数

构造函数没有返回值,不能被显示的调用。它是在定义对象时由系统自动执行的,而且只执行一次。如果没有定义构造函数,系统会自动生成一个构造函数,只是这个构造函数的函数体是空,没有参数,也不执行任何初始化的操作。 带参数的构造函数:    有一种简练,方便的写法——构造函

2011-10-10 10:01:41 690

转载 虚函数表

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2011-10-09 15:18:44 468

转载 编程技术面试的五大要点

文 / 何海涛扎实的基础知识、高质量的代码、清晰的思路、优化代码的能力、优秀的综合能力是编程技术面试的五大要点。找工作一直是一个热门话题。要想找到心仪的工作,难免需要经过多轮面试。编程面试是程序员面试过程中最为重要的一个环节。如果能在编程面试的环节充分展示自己的能力,那么

2011-10-09 12:17:43 608

转载 析构函数声明为虚函数

Base *pb;inherit c;//inherit 是继承 Base的pb=&c;delete   pb;时需要调用对象的析构函数,如果基类析构不是virtual型,会根据pb的定义类型调用相应类的析构函数,即调用即类析构,但如果你在派生类析构里有内存释放操作,

2011-10-08 16:21:48 1893

转载 static的作用

C/C++语言中Static的作用详述[ 2009-4-15 15:50:00 | By: qqcandy ] C/C++中Static的作用详述在C语言中,static的字面意思很容易把我们

2011-10-08 10:36:28 650

原创 C++中的this指针

http://bluefish.blog.51cto.com 有下面的一个简单的类:class CNullPointCall{public:    static void Test1();    void Test2();    void Te

2011-10-08 09:33:28 390

原创 shell中的expr

shell中expr必须空格以及四则运算优先级(2008-11-20 16:26:10)转载标签:杂谈 <br />bradenwu@darkstar:~$ expr 6/3<br />6/3<br />bradenwu@darkstar:~$ expr 6 / 3<br />2<br />*********************************<br />expr 1 + 2 /* 2<br />5<br />说明expr是有优先级的概念的<br />**********************

2010-12-07 09:35:00 636

原创 c++基本概念

1. 类的声明与对象的定义    常用的方法是类的声明与对象的定义分开2.成员访问限定符private,public,protected的含义   private:只能被类的成员函数访问,类外不能被访问(友元除外)   public:可以被类的成员函数访问,也可以

2010-11-20 11:17:00 631

原创 鸟哥的linux私房菜学习

1.命令:command [-options] parameter1,parameter2.......   command区分大小写,参数设置为-或--2.输入命令时有用的热键  tab  具有命令补全 和文件补全的功能。如记得一个命令的一个字母,输入到Terminate,然后按两下tab键就可以显示所有的命令。  ctrl + c:输入了错误的命令或参数,有时程序会不停的在系统下运行,按下组合键ctrl + c就可中断当前程序 ctrl + d:表示键盘输入结束或输入结束,也可以用来取代exit的输入。

2010-11-15 11:37:00 473

原创 server,workstation,terminal

<br />《鸟哥的linux的私房菜——基础学习》<br />server:(百度上查的)<br />有软硬之分。从“硬”的角度而言,Server 是物理上存在的服务器;而从“软”的角度上说,Server 是指的具备服务器端功能的软件,以及正在运行的服务器端软件。整个网络,是由无数的节点和连接通道共同构建而成。而从“硬”的方面说,是由无数的硬件服务器和其他数字化计算设备终端(比如个人电脑、手机等)以及中间连接设备(比如网线、路由器等等)构建而成的。从“软”的方面说,是由无数运行着的服务器端软件和客户端软件

2010-11-13 17:08:00 693

原创 关于野指针

<br />野指针: <br />“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。 “野指针”的成因主要有两种: <br />1).指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的<br />2).指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。 <br />3).指针操作超越了变量的作用域范围

2010-11-13 10:48:00 671

原创 变量的内存分配

1.内存的分配方式  (1)从静态存储区域分配,内存在程序编译的时候已经分配好,这块内存在程序的整个运行期间都存在。如全局变量,static变量(2) 从栈上创建。函数局部变量的存储单元可以在栈上创建。函数调用时自动分配,调用结束时这些内存单元被自动释放。栈内存分配运算内置于处理器的指令集中,效率高,但内存容量有限。(3)从堆上分配,亦称为动态存储区,molloc和new申请任意多少的内存,free和delete释放内存。2.常见内存错误(1)内存尚未分配成功。       解决办法:在使用之前检查指针是否

2010-11-12 16:46:00 890

原创 变量的内存分配:内存对齐

数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。#include  2 using namespace std; 3  4 struct X1 5 { 6   int i;//4个字节 7   char c1;//1个字节 8   char c2;//1个字节 9 };10 11 struct X212 {13   char c1;//1个字节14   int i;//4个字节15   char c2;//1个字节16 };17 18 

2010-11-08 11:19:00 3814

原创 QT中自定义事件

<br />qt允许创建自定义的事件,这在多线程中尤其有用。<br /> <br />为什么使用事件而不是信号槽?主要原因是,事件分发既可以同步,也可以异步,且事件可以使用事件过滤器而函数的调用或者说槽的回调只能是同步的<br /> <br />qt中自定义事件就是继承一个类进行扩展。这里要继承的类是QEvent,继承QEvent时要提供一个QEvent::type类型的参数,作为自定义事件的类型值。这里的QEvent::type是QEvent里的enum值。可以传递一个int值。重要的是你的事件类型不能和

2010-11-04 14:35:00 2780

原创 qt事件学习

QT中事件的概念:           事件是系统或qt本身在不同时刻发出的。如点击鼠标,按下键盘,窗口重绘。一些事件是在对用户操作做出响应时发出,如键盘事件。另一些事件是系统自动发出,如计时器事件QT中事件和信号槽的区别:     signal是由具体对象发出,然后会马上交给connect连接的slot进行处理,而对于事件,qt使用一个事件队列对所发生的事件进行维护,新事件会加到队列的尾部。但是必要的时候,事件也可以不进入队列而直接处理,并且事件还可以使用事件过滤器来进行过滤。总的来说,我们使用组件,关注

2010-11-03 10:40:00 2340

原创 QT中用中文

1、想在源代码中直接使用中文,而不使用tr()函数进行转换,怎么办?答:在main函数中加入下面三条语句,但并不提倡QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));或者QTe

2010-10-27 14:32:00 1768

原创 qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon

    file--new-QT resource file,就会在工程中添加一个资源文件,然后单击Add下拉框,选择Add prefix,可以将生成的/new/prefix的后缀改为其他的名字,如file。然后在单击Add下拉框,选择Add files,将需要的图标文件添加过来,然后保存即可。

2010-10-27 14:23:00 9821 1

原创 C++中关于text file和binary file

    ASCII文件包含text文件和binary文件,只要这些文件的编码是ASCII字符集的。与binary文件相对的概念叫做“text文件”!关于下面这个问题:   在unix,linux等类unix下无TEXT BINARY之分。因为含义可见文件的行结束是一个0x0a.其他系统下必须区分。fopen时要指定是ascii或binary.以便文件读入,输出是进行必要的格式转换fopen的时候不指定ascii,Windows下的"rb","rt"恰恰对应的是birany和text。如果你说不知道什么是"r

2010-10-21 09:22:00 6764

原创 QT中文件的操作

QT学习之路56:     QIODevice:查看Qt Assistant,它是QT中所有IO设备的基类接口类,它提供一般实现和支持读写数据块设备的抽象接口,如QFile,QBuffer,QTcpSocket。它是抽象的,不能被实例化,但使用它定义的接口来提供独立设备的IO特征。在访问设备之前,open()必须设置正确的OpenMode,如ReadOnly,ReadWrite,也能通过write(),putChar()来写。read(),readLine(),readAll()类读。     QIODev

2010-10-20 15:38:00 2756

数据结构(表,链表,栈,队列)的源代码

这是我学习 严蔚敏版 《数据结构》(c语言版)时自己写的源代码,都是经过调试的。 通过自己实现这些和调试程序,你会学到很多

2011-07-08

C++标准程序库(简体中文版)——侯捷

C++标准程序库——侯捷版,简体中文 STL入门的经典书籍

2011-04-06

pl/sql 从入门到精通

学习oracle的经典书籍 记录,表类型 oracle基本命令和内置函数 存储过程、函数、包、触发器、游标、异常处理 事物管理和锁定,集合,动态SQL pl/sql性能问题

2011-04-06

linux与unix shell编程指南

非常适合初学shell脚本编程的人,这是一本非常经典的shell编程数据,从文件权限开始讲解,到各种linux命令的运用,。。。。非常适合入门到深入

2010-12-10

嵌入式linux应用程序开发详解

非常著名的嵌入式linux应用开发入门书, 内容非常丰富 适合新手

2010-11-26

英文版的数据结构(c描述和C++描述),高质量c/c++

超清晰的英文原版数据结构C,C++描述 高质量C/C++ 林锐 一个压缩包包含3个经典的专业电子书

2010-11-05

用QT实现打开TXT文档并在textEdit中显示的源代码

初学者自己如能把这个程序写出来,则QT基本入门。 这个程序是我初学QT时自己写的,应该对初学者有很大的帮助

2010-10-21

空空如也

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

TA关注的人

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