cboy 的 站内主页
2006
05-13
05-13
采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢? C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va—start、va—a....
Read More >
2006
05-13
05-13
一、Windows的控制面板应用程序 在Windows的系统目录下可以找到控制面板应用程序,它们是一些扩展名为cpl的dll,通常用来提供配置服务,如配置网络硬件和软件用的ncpa.cpl,配置桌面用的desk.cpl等,它们的父窗口都是桌面。运行这类程序的方法很多:双击控制面板中的图标、双击....
Read More >
2006
05-13
05-13
实战VC时间控制函数 VIEW
随着软硬件的飞速发展,计算机技术已经广泛地应用到自动化控制领域,为了实现实时控制,控制程序必须能够精确地完成定时和计时功能。VC提供了很多关于时间操作的函数,下面根据它们精度的不同,分别进行说明。 一般时控函数 VC程序员都会利用Windows的WM—TIMER消息映射来进行简单的时间控制:1.调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置20....
Read More >
2006
05-13
05-13
常用的代理服务器软件有procy sever 2.0以及WinGate等等。利用VC 6.0强大功能也可以编写出自己的代理服务器应用软件。本文介绍了具体的实现方法。
一. 原理
本程序的结构原理如下:
对于每一个用户的请求(Internet 请求,由浏览器发出),本程序将启动两个线程,一个把本地用户的请求数据发送到远程的Internet主机,另一个线程把远程主机的回应数据发送到本地请求用....
Read More >
2006
05-13
05-13
第四招:汇编嵌入 高效C语言编程的必杀技,第四招——嵌入汇编。"在熟悉汇编语言的人眼里,C语言编写的程序都是垃圾"。这种说法虽然偏激了一些,但是却有它的道理。汇编语言是效率最高的计算机语言,但是,不可能靠着它来写一个操作系统吧?所以,为了获得程序的高效率,我们只好采用变通的方法--嵌入汇编,混合编程。举例如下,将数组一赋值给数组二,要求每一字节都相符。 _NOBR> _CODE&g....
Read More >
2006
05-13
05-13
第三招:使用位操作 实现高效的C语言编写的第三招——使用位操作。减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用"位运算"来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。举例如下: 方法G _NOBR> _CODE>int I,J; I = 257 /8; J = ....
Read More >
2006
05-13
05-13
方法D: _NOBR> _CODE>#define bwMCDR2_ADDRESS 4 #define bsMCDR2_ADDRESS 17 #define bmMCDR2_ADDRESS BIT_MASK(MCDR2_ADDRESS) #define BIT_MASK(__bf) (((1U << (bw ## __bf)) - 1) << (....
Read More >
2006
05-13
05-13
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法 _NOBR> _CODE>#define LEN 32 char st....
Read More >
2006
04-17
04-17
Consider the data type · char is 1 byte · int is 2 byte · long int 4 byte · float is 4 byet · double is 8 byte · long double is ....
Read More >
2006
04-17
04-17
本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。
笔试时间90分钟。请考生认真答题,切勿轻视。
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
提示:这里“零值”可以是0, 0.0 , F....
Read More >
2006
04-17
04-17
考查自己的编程质量究竟如何。然后参照答案严格打分。 (1)如果你只得了几十分,请不要声张,也不要太难过。编程质量差往往是由于不良习惯造成的,与人的智力、能力没有多大关系,还是有药可救的。成绩越差,可以进步的空间就越大,中国不就是在落后中赶超发达资本主义国家吗?只要你能下决心改掉不良的编程习惯,第二次考试就能及格了。 (2)如果你考及格了,表明你的技术基础不错,希望你能虚心学习、不断进步。如果你还没....
Read More >
2006
04-17
04-17
随着软件设计水平的发展,人们已越来越注重软件界面的设计,从最初文字界面、仿Windows界面,到现在的Windows界面。现在许多程序员开始设计背景插件,以使用户可以随时选取自己喜欢的背景图案,从而定制出属于自己风格的软件界面。 在这方面,Winamp可说是一个典型的代表,其众多的Skins使喜欢他的用户爱不释手,其次便是超级解霸5.5。 那么怎样在自己设计的程序中实现上述功能呢?最近笔者通过....
Read More >
2006
04-17
04-17
在软件的开发过程中,有时需要控制一些程序不能同时运行,也就是多个程序间互斥运行(还包括禁止同一程序运行多个实例)。针对这一问题,我们在Visual C++ 6.0中利用内存映射文件实现了多个程序间的互斥运行。 在讲述具体的编程方法之前,让我们先来看看和内存映射文件操作有关的几个重要的函数: 1)CreateFileMapping函数为指定的文件创建一个文件映射对象,该函数的原型如下: HAN....
Read More >
2006
04-17
04-17
随着Internet的持续升温,Web类应用软件得到广泛应用,有越来越多的软件具有了Web特性,我们的很多应用开发往往也需要具有Web浏览功能。以下就让我们讨论一下怎样实现一个具有基本浏览功能的Web浏览器。 在Visual C++5.0的Components and Controls Gallery中有一个Web Browser控件,利用这个控件,我们就可以实现一个小型的Web浏览器。通过如....
Read More >
这个小程序用VC ++很方便地实现了FTP 功能。这只是个小测试程序,通过这个程序还可以扩展许多功能,如实现FTP 的下载文件等。在实现这个小程序之前,可用VC +编写一个拨号上网的小程序,先实现拨号上网,再运行这个小程序。 以下是该程序的源代码和运行窗口。 在VC ++中创建一个基于对话框的....