c++
wj_1986
这个作者很懒,什么都没留下…
展开
-
c++实现多线程之小试牛刀
<br />#include <cstdlib><br />#include <iostream><br />#include <windows.h><br />using namespace std;<br />CRITICAL_SECTION cs;<br />int a=0;<br />DWORD WINAPI ThreadFuncA(LPVOID lp)<br />{<br /> while(a<100)<br /> {<br /> EnterCriticalSection( & cs);<br原创 2010-08-16 22:01:00 · 561 阅读 · 0 评论 -
50个c/c++源代码网站
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建 议,以进一步加强这方面的清单。 添加:http://www.boost.org/1、http://snippets.dzone.com/tag/c转载 2011-11-15 00:00:10 · 636 阅读 · 0 评论 -
Makefile全解析
什么是 makefile或许很多 Winodws 的程序员都不知道这个东西,因为那些 Windows的 IDE 都为你做了这 个工作,但我觉得要作一个好的和 professional 的程序员,makefile 还是要懂。这就好像现在有这么多的 HTML 的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML 的标识的含义。特别在 Unix 下的软件编译,你就不能不自己写 makefil转载 2011-11-15 00:05:19 · 933 阅读 · 0 评论 -
GDB调试程序(完全手册)
GDB概述 1使用GDB GDB中运行UNIX的shell程序 在GDB中运行程序 2调试已运行的程序 两种方法: 3暂停 / 恢复程序运行 一、设置断点(BreakPoint) 二、设置观察点(WatchPoint) 三、设置捕捉点(CatchPoint) 四、维护停止点 五、停止条件维护 六、为停止点设定运行命令 七转载 2011-11-15 00:03:59 · 1011 阅读 · 0 评论 -
Linux多线程编程
线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。可以把线程看成是操作系统分配CPU时间的基本单元。一个进程可以拥有一个至多个线程。它线程在进程内部共享地址空间、打开的文件描述符等资源。同时线程也有其私有的数据信息,包括:线程号、寄存器(程序计数器和堆栈指针)、堆栈、信号掩码、优先级、线程私有存储空间。为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的转载 2011-11-15 00:18:08 · 710 阅读 · 0 评论 -
滑动窗口机制
(1).窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小转载 2011-08-03 12:07:44 · 566 阅读 · 0 评论 -
C/C++经典面试题
C/C++经典面试题 一、找错题1、strcpy试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );} 试题2:void test2(){ char string[10], str1[10]; i原创 2011-07-01 10:49:00 · 953 阅读 · 0 评论 -
C++编程基础之函数指针
1、函数指针 定义:函数指针是指指向函数的指针。像其他指针一样,函数指针也指向特定的类型。函数类型由其返回值以及形参表确定,而与函数名无关。e.g void (*pf) ( char,int );这个语句将pf声明指向函数的指针,它所指向的函数带有一个char类型,一个int类型,返回类型为void。我们可以这样理解:我们怎么定义普通的指针呢,如我们定义一个int型的指针,i原创 2011-06-25 16:47:00 · 1978 阅读 · 0 评论 -
C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。转载 2011-06-24 14:31:00 · 522 阅读 · 0 评论 -
C/C++内存问题检查利器—Purify (五)
本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/16/2904.aspx十、 设置WatchPoint你可以在你的程序中,对你所想监控的程序设置一些WatchPoint,以方便于你对程序进行调试,或更容易找出问题的原因。就像我前面说,Purify可以找到你的内存泄露,但其不能找到内存泄露的原因,你可以通过设置WatchP转载 2011-06-24 00:47:00 · 892 阅读 · 0 评论 -
C/C++内存问题检查利器—Purify (一)
C/C++内存问题检查利器——Purify 本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/11/2900.aspx一、 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA—Quality Assessment)占了整个软件工程的30% -50%,但有这么一种说法,即使是最优秀测试专家设计出来的测试转载 2011-06-23 15:40:00 · 744 阅读 · 0 评论 -
C/C++函数变长参数列表实现
在C编译器通常提供了一系列处理可变参数的宏,实现就像printf()那样的变长参数列表,这样可以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、 va_arg和va_end等,这些宏都是在头文件<stdarg.h>里定义的。 <br />采用ANSI标准形式时,参数个数可变的函数的原型声明是:<br />type funcname(type para1, type para2, ...)<br />这种形式至少需要一个普通的形式参数,后面的省略号不表示省略,而是函数原型的一部分转载 2010-11-03 17:17:00 · 716 阅读 · 0 评论 -
几种同步手段(互斥量,信号量,事件,临界区)
<br />环境:<br /><br />VISTA+VC6<br />双核<br /><br />这个环境对于下面的有些效果来说,十分关键。<br />在我下面的练习中,如果是单核,那么两个线程无法真正的同时执行,<br />而单个操作的耗时也并不长,可能看不到互斥访问中的一些问题。<br />在VISTA之前的一些系统,时间片比较大,也不容易看到。。<br /><br />设计目标:<br /><br />模拟一个售票系统,有两个线程可以出售,总共100张票。<br />中间打印出出售的信息。<br /转载 2010-11-03 17:23:00 · 1157 阅读 · 0 评论 -
Windows Sockets错误码
Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确保原有软件的可移植性。A.1 Windows Sockets错误码列表 表A.1列出了WSAGetLastError()函数返回的可能错误码和它们的解释,它们可分为四个部分。 错误码的第一部分是用来解决在不同的C编译中对标准C错误码的转载 2010-11-03 16:00:00 · 587 阅读 · 0 评论 -
C语言字节对齐详解
一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些转载 2012-03-12 23:19:05 · 545 阅读 · 0 评论