
C和C++
文章平均质量分 57
zengwh
欲从事浏览器开发的请不吝留言,待遇优厚!
展开
-
[转帖]学习C++必看书
转一帖学习C++必看书 C++/OPP/OOD系列: 层级一:语法/语意(C++) 1.[Lippman2000] Essential C++ Essential C++,by Stanley B. Lippman Addison Wesley原创 2005-10-30 14:25:00 · 2019 阅读 · 0 评论 -
拷贝构造函数解析
拷贝构造函数的形式 T::T(const T&)或者 T::T(T&) 默认的拷贝构造函数是T::T(const T&) 拷贝构造函数是所有类的隐式定义函数。class CTest {public: CTest(int i); virtual ~CTest(); CTest(const CTest&);private:原创 2009-06-13 15:22:00 · 811 阅读 · 2 评论 -
VS2005编译器选项
http://blog.chinaunix.net/u3/94369/showart_1915928.html转载 2009-08-26 16:33:00 · 2490 阅读 · 0 评论 -
一种在接口中跨dll分配释放内存的方法
一种在接口中跨dll分配释放内存的方法 本帖最后由 zengweihong 于 2009-9-10 10:22 编辑 多个模块需要配合进行内存的分配和释放,下面接口class IMalloc {public: virtual void* Alloc(unsigned size) = 0; virtual void Free(void*原创 2009-09-10 12:09:00 · 2700 阅读 · 0 评论 -
代码风格和编程习惯
whzeng@126.com1. 合理适当的注释 合理的恰当的注释是增加代码可读性一种好的方法,但是为了注释而注释实在是在浪费时间。2. 简洁高效的命名 命名规范一般有3类风格:匈牙利命名法、骆驼命名法和帕斯卡命名法2.1 匈牙利命名法 广泛应用于象Microsoft Windows这样的环境中。Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术原创 2009-12-12 14:27:00 · 2584 阅读 · 0 评论 -
如何设计接口?
如何设计接口? 众所周知,接口是提供给其他模块或者系统使用的一种约定或者规范。因此接口必须要保证足够的稳定性和易用性。这是设计接口的基本要求。1.稳定性 接口必须相对稳定,否则将导致接口的使用者和提供者为了适应新接口而不断修改接口的实现,可能重复进行无用功,严重时影响整个软件开发进度。那么如何保证设计的接口相对稳定呢? 首先,接口的语义必须明确。包括接口调用方法、接口原创 2009-04-10 11:00:00 · 24527 阅读 · 6 评论 -
介绍V8
译:whzeng@126.comV8是google的开源、高性能javascript引擎。用C++开发用在Google Chrome产品。本文档的目标读者是想在产品中使用V8的C++开发者或者对V8的设计和性能感兴趣的任何人。本文档将介绍V8,下面的文档将介绍如何在您的代码中使用V8和描述一些设计细节,同时提供了一组JavaScript benchmarks以度量V8的性能翻译 2009-06-14 22:31:00 · 2127 阅读 · 1 评论 -
开始使用V8
本文档介绍了V8的一些关键概念,提供了helloworld例子用于开始使用V8的代码。 内容 读者 Hello World 运行例子程序 读者 本文档用于想嵌入V8引擎到自己C++应用的C++开发者。 Hello World 让我们一起看看Hello World例子,这个例子采用字符串作为参数的表达式翻译 2009-06-14 22:33:00 · 2116 阅读 · 0 评论 -
webkit代码规范
webkit代码规范 Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!原创 2009-03-23 14:32:00 · 1591 阅读 · 0 评论 -
同步移动多个子窗口
同步移动多个子窗口移动子窗口,一般会引起父窗口重绘,如果多个子窗口单个移动就会导致父窗口多次重绘效率较低,Win32中提供了一种一次移动多个窗口的一组API:HDWP BeginDeferWindowPos(int nNumWindows /* 指定带移动的窗口数 */); HDWP DeferWindowPos( HDWP hWinPosInfo, HWND hWnd, /*原创 2009-03-03 14:58:00 · 2624 阅读 · 0 评论 -
线程局部存储-TLS
线程局部存储-TLS1.什么是线程局部存储众所周知,线程是执行的单元,同一个进程内的多个线程共享了进程的地址空间,线程一般有自己的栈,但是如果想要实现某个全局变量在不同的线程之间取不同的值,而且不受影响。一种办法是采用线程的同步机制,如对这个变量的读写之处加临界区或者互斥量,但是这是以牺牲效率为代价的,能不能不加锁呢?线程局部存储就是干这个的。 2.Win32实现Wind原创 2009-02-27 15:44:00 · 2941 阅读 · 0 评论 -
sizeof运算符
sizeof是一元运算符,用于计算类型或者变量在内存中所占字节数。通常用于内存分配时求对象大小或者数组元素个数。例1:#define ARRAY_SIZE(a) / ((sizeof(a) / sizeof(*(a))) / / static_cast(!(sizeof(a) %原创 2007-11-06 21:36:00 · 892 阅读 · 0 评论 -
MoveWindow与SetWindowPos的异同
MoveWindow和SetWindosPos的异同 1.原型BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint ); BOOL SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X,原创 2009-02-26 13:16:00 · 4024 阅读 · 0 评论 -
XPCOM--LINUX下的组件开发技术
http://it.icxo.com/htmlnews/2004/07/14/264023.htm转载 2009-06-01 12:50:00 · 627 阅读 · 0 评论 -
和SIP有关的RFC
http://blog.youkuaiyun.com/kyle_blog/archive/2007/04/25/1584448.aspx转载 2009-04-21 15:44:00 · 532 阅读 · 1 评论 -
游戏引擎原理
http://developer.51cto.com/art/200602/20579.htm转载 2009-04-20 12:32:00 · 693 阅读 · 0 评论 -
C语言小问题-不可小看
C语言小问题-不可小看 以下四段小程序,您可以试一试写出程序运行的结果,看能对几道题.,硬件条件:X86 32CPU/*//No.1#include#includevoid main(void){ int i =0; char cb[20] ; for( i=0; i { cb[i] = 0; } printf("原创 2005-12-15 23:31:00 · 1289 阅读 · 1 评论 -
经典C语言面试题1
1.从文件中读取数值(大约有10000个数据)计算他们的平均值。要求程序执行速度最快;2.计算打印一个二叉树所用的时间复杂度。3.从文件中随即提取一个字符串,只能扫描文件一次,且不能用表格存储所有字符串在文件中的偏移。4.如何检测链表是否带有循环。5.编写代码确定一个变量是有符号数还是无符号数。6.文件描述符和文件指针有何区别。7.库函数和系统调用有何区别。8.数组和指原创 2007-01-13 23:12:00 · 1864 阅读 · 0 评论 -
经典C语言面试题2
1.指出下段程序有哪些问题 ? char * s = "Hello World!"; int * p = (int *)s; p = 0x1234;2.对于socket编程,采用read/write系统调用和采用recv/send有何区别?3.如果用read读socket,而对方关闭了socket,则read函数返回值是几?4.自旋锁和信号量用于同步,两者原创 2007-03-26 13:52:00 · 1368 阅读 · 0 评论 -
经典C语言面试题3
1.请指出下面代码出现的错误或者问题#define MAX 255void main(void){ char buf[MAX],i; for (i=0; i { buf[i] = i; }}2.求一个字节中每个bit中1的个数(至少用两种方法)3.有一些图形Shape需要绘制和计算面积,比如:矩形Retangle原创 2007-03-27 21:37:00 · 1156 阅读 · 0 评论 -
C++中的基本概念(draft1)
1.模版类(class template与类模版 (template class)2.原创 2007-05-01 12:58:00 · 909 阅读 · 0 评论 -
Object C语法
1.#import与#include类似,但是在编译相同的单元时不会被多次包括进行.2.编辑对象/* Speak.h */ #import @interface Speak: Object { char* string; } - setString: (char*) str; - say; - free; @end Objec原创 2008-06-26 14:27:00 · 2803 阅读 · 0 评论 -
GCC的扩展语法
1.对齐 __alignof__操作符返回数据类型或指定数据项的分界对齐(boundary alignment). 如: __alignof__(long long); 2.匿名联合 在结构中,可以声明某个联合而不是指出名字,这样可以直接使用联合的成员,就好像它们 是结构中的成员一样。 例如: struct { char code; union { chid[4]原创 2008-09-16 09:12:00 · 1628 阅读 · 0 评论 -
C/C++和Java混合语言编程
一.C++和C的混合1.C++中调用C只要在C++程序中,将C函数声明为extern "C"/* cpp2c.cpp */extern "C" void csayhello(char* str); int main(int argc, char* argv[]){ csayhello("Hello world!/n"); return 0;} /原创 2008-09-23 15:18:00 · 4305 阅读 · 0 评论 -
SetWindowRgn函数
SetWindowRgn函数SetWindowRgn函数可以设定窗口的多种边界剪切域,而不是像SetWindowRect只能设置矩形的外包边界。因此利用SetWindowRgn能够实现任意不规则的窗口边界。实现非常个性化的窗口,但是如果通过SetWindowRgn将窗口的中部的区域剪切掉,使得绘制窗口时不绘制,从而形成一个完全透明的”洞“,从这个洞可以看到当前窗口下面的窗口。鼠标单击原创 2009-02-27 18:23:00 · 8432 阅读 · 4 评论 -
AGG概述
一、AGG是什么AGG,全名:Anti-Grain Geometry,是一个开源的、高效的2D图形库,它的网站:http://www.antigrain.com/。二、?GG的特点?AGG的功能与GDI+的功能非常类似,但提供了比GDI+更灵活的编程接口,其产生的图形的质量也非常高,而且它是跨平台的,其宣传可以在非常多的操作系统上运行,我至少在Windows、Wince、Linux三个台平上转载 2009-04-19 12:44:00 · 6016 阅读 · 0 评论 -
C函数调用过程分析
一.环境: x86/WinXP/VC 6.0二.用例:int swap(int a, int b){ int v; v = a; a = b; b = v; return v;}void main(void){ int a = 7; int b = 10; int c = 0; c = swap(a,b); return;}三.分析:1: int swap(int a,原创 2007-03-24 10:05:00 · 6904 阅读 · 1 评论