内容列表
- 改进的C++ Builder assert()
- http://bdn.borland.com/article/0,1410,28432,00.html
摘要:assert()调用允许你测试代码中的问题,但它有些局限。本文详述了一个改进的assert调用。
改进的C++ Builder assert()
做为良好编程的一部分
- 分类:编程语言 查阅全文
- 使用Glade和libGlade设计Gtk+图形界面
- 张威、曹剑 Gnome下已开发出了Glade这一应用软件,它是传统界面设计工具Gtk/Gdk的扩展,能满足基于Gtk+库的图形用户界面可视化开发的基本需求。 一、Glade简介 如果有一种软件能将图形界面的设计及时地展现于开发人员的面前,而且在设计完后能直接看到界面的外观效果,这样就使程序员的主要精力集中于应用程序核心功能的开发上,这就是所谓的可视化编程思想。 在Windows环境下,这
- 分类:编程语言 查阅全文
- zlib 与 libpng 的配置与使用 part1
- zlib 与 libpng 的配置与使用
Solstice 2003/04/3
说明:本文节选自我主页上的一篇文章,原文介绍了1) Wave 文件的格式、2)读取 Wave 文件内容,并显示文件的基本信息、3)压缩库 zlib 的安装与简单应用、4)PNG 库 libpng 的安装、5)使用 libpng 生成 PNG 文件、6)绘制 Wave 文件的波形,这里只截取3、4、5这三
- 分类:编程语言 查阅全文
- C++ Gotchas 第6章 内存及资源管理
- 6 . Memory and Resource Management
6 内存及资源管理
C++在内存管理方面提供了极大的弹性,但几乎没有多少C++程序员完全通透其理。C++在这一方面,经由重载(overloading)、名称隐藏(name hiding)、构造(constructors)与析构(destructors)、异常(exceptions)、静态函数(st
- 分类:编程语言 查阅全文
- OCL 简介
-
OCL使用指南(一)简介
翻译:[email protected]
Oracle 类库 (OCL) 提供了连接 Oracle 数据库服务器的能。OCL 直接使用 Oracle 调用接口(OCI) . OCI 是一个用来存取 Oracle 数据库的低级应用程序接口。使用 Oracle 类库 OCL 允许创建基于 Oracle 的小型、高速的应
- 分类:编程语言 查阅全文
- 在无网络的环境下使用模拟器
- 在无网络的环境下使用模拟器
如果在没有网络连接的计算机上使用模拟器调试Windows CE的程序,调试环境在连接很久后会给出一个“连接超时”的错误提示。其实这是因为调试环境和模拟器之间的通讯采用的是网络连接方式,必须有可用的网络连接才可以。
在网络
- 分类:编程语言 查阅全文
- 利用socket编写windows和linux通讯程序
- socket编程大家都很熟悉,我在这里就不再罗嗦了。直接切入正题。该程序分两部分,server端和client端(谁都知道)。其中server端采用windows平台,那linux平台当然是client端了。这里是server端程序:/**********************************//* it worked as server
- 分类:编程语言 查阅全文
- C++ Gotchas 条款60:没能区分单体内存分配与数组内存分配
- Gotcha #60: Failure to Distinguish Scalar and Array Allocation
Gotcha条款60:没能区分单体内存分配与数组内存分配
单一个Widget与一个Widget数组是等同的吗?当然不是。那为何这么多C++程序员在发现“数组(arrays)与单个量(scalars)采用不同的运算符进行空间的分配和释放”时会感到吃惊?
- 分类:编程语言 查阅全文
- 字符串: 怎样在ANSI 和 UNICODE间做转换
- 字符串: 怎样在ANSI 和 UNICODE间做转换
问题: 怎样在ANSI 和 UNICODE间做转换?
答案:
这个答案启发自 Yves M贴出的一张回复(reply)
ANSI 到 UNICODE:
这个转换用函数MultiByteToWideChar()完成
代码:---------------------------------------------------------
- 分类:编程语言 查阅全文
- C++ Gotchas 条款64:抛出String Literals
- Gotcha #64: Throwing String Literals
Gotcha条款64:抛出String Literals
许多C++编程教本的作者在展示异常机制时都抛出字符文字串(character string literals)信息:
throw "Stack underflow!";
他们知道这种实作手法本应回避,但是他们还是
- 分类:编程语言 查阅全文
- C++ Gotchas 条款63:Member New和Member Delete之生存期与活动空间的迷惑
- Gotcha #63: Confusing Scope and Activation of Member new and delete
Gotcha条款63:Member New和Member Delete之生存期与活动空间的迷惑
当一个类别的对象被创建和销毁时,其所声明的member operator new和member operator delete会被唤起。施行分配的表
- 分类:编程语言 查阅全文
- C++模板元编程[metaprogram]
- C++模板元编程[metaprogram]by Micolai Josuttis, David Vandevoorde摘自C++ Templates: The Complete Guide一书[译者注:翻译本文,全为引介一种(相对于译者的孤陋而言)全新的编程方法。版权所有于原著者,笔者不敢稍假借之。 原
- 分类:编程语言 查阅全文
- C++ Gotchas 条款61:检查内存分配失败的情形
- Gotcha #61: Checking for Allocation Failure
Gotcha条款61:检查内存分配失败的情形
有些问题就是不应该问,“某个内存分配动作是否成功”正属其一。
让我们来看看C++中的内存分配曾经是个什么样子。下面这段代码仔细检查了每次内存分配的成功与否:
bool error = false;
Strin
- 分类:编程语言 查阅全文
- 字符串:怎样将数字类型转换为字符串
- 字符串:怎样将数字类型转换为字符串
老的C方法(不赞成)
代码:-------------------------------------------------------------------------------- char *c[10]; // 完全足够大-不要忘了为'/0'预留额外的字节 int i = 1234;&nb
- 分类:编程语言 查阅全文
- 字符串:怎样转换字符串为数字类型?
- 字符串:怎样转换字符串为数字类型?
当将字符串转换为数值类型时, 有一项东西你不允许忽略:转换可能因为你正在转换的字符串可能不包含有效的数字表示法而失败
例如, 如果你想将"Hello"转换为数字, 转换将失败
老的C方法(不赞成)
许多人用atoi(), atof() 和这个“家族”中的其它函数. 它们方便应用,但是有一个重要的缺点: 在转换失败和转换字符串"0"时都返回0, 这样使得一
- 分类:编程语言 查阅全文
- 如何包装窗口的部分非客户区并控制其大小
- 1.有时候,我们需要包装窗口的标题栏,同时又不想让窗口的非客户区全部由自己来控制刷新,比如边框,菜单。
从WM_NCPAINT中的参数wParam可以得到需要刷新的区域:
hrgn = (HRGN) wParam; // handle of update region
因此,可以重载WndProc函数,对此区域中剔除标题栏所
- 分类:编程语言 查阅全文
- 在C++中实现属性
- 本文由Emad Barsoum投稿。开发测试环境:Visual C++ 7.0, Windows XP sp1, Windows 2000 sp3
摘要本文试着在C++中不使用任何扩展技术模拟C#(或其他语言)中的属性特征。大多数在C++实现属性的库和编译器使用扩展技术,如Managed C++或C++ Builder,或者他们使用如通常函数的set和get方法,但那不是属性。
详述我们首先看
- 分类:编程语言 查阅全文
- Coco学编程(二)--直接选择排序
- Coco:这么长时间不来,我还真想大家,实在是某人太懒了,总也不来上课。
我:这个……还真是对不起啊。主要是因为最近找了份新工作,正在赶一个项目,比较忙一些。经常会有天黑才回来的事情,所以有很长一段时间没有出现。
Coco:据我所知~某人天黑才会回家,是因为在广州总迷路,每次坐在车上的时间还没有找路的时间长,而且,还因为一些很菜的程序问题被卡住了……
我:为什么总要揭我的短呀……-_-#
- 分类:编程语言 查阅全文
- 自建函数移除数字串左边的0(SAP/R3 ABAP)
- 自建函数移除数字串左边的0(SAP/R3 ABAP)
作者:冯强 2003.04.19 http://imfrank.126.com
在R/3系统中,如果一个字段内容是数字串(由0~9的数字组成),
- 分类:编程语言 查阅全文
- C++ Gotchas 条款62:替换Global New和Global Delete
- Gotcha #62: Replacing Global New and Delete
Gotcha条款62:替换Global New和Global Delete
将operator new、operator delete、array new亦或array delete的标准global版本替换为自定制版本,这几乎从来都不是个好主意——即使C++标准允许你这么做。这些函数的标准
- 分类:编程语言 查阅全文