看实例学习VB 6.0之三
3、VB 6.0的简单语法学习 VB语言的语法和QBASIC基本一致,可以说如果你能读懂QBASIC程序,那你读VB的程序是没有问题的,这一节中我们只是简单的讲一讲VB的语法,因为在今后的各个实例中我们会不断接触到新的语法知识,这也是一个积累的过程。 如果你还记得上节中的内容,我们提到过如果在“窗体设计区域”的某个组件(控件)上双击鼠标,会出现“代码编辑窗口”,也就是如下图的窗口,我们可以在其中输入或是修改程序的代码。在我们双击控件到写入代码的这个过程中,我们涉及到了一个很重要的概念,这是VB与QBAS...
看实例学习VB 6.0之二
2、认识一下VB 6.0的编程环境 VB6.0采用可视化的编程环境,它好学易用,运行VB6.0后,会出现如下图所示的窗口,呵呵,看起来蛮复杂的,好多的按钮、菜单、小窗口,别担心,待会儿我们会一起学习这些东东都是干什么用的。 先来解决一个小问题,怎么新建一个VB的工程呢?方法是这样的,在程序启动时出现的“新建工程”对话框中选择“标准EXE”并点击确定,就能直接新建一个工程,如果你跳过了这个对话框则也可从“文件”菜单中选择“新建工程”重新调出此对话框。 下面一起来看看VB的编程环境,虽然看起来复杂,但可以把...
看实例学习VB 6.0之一
一、先来熟悉一下VB 6.0 的编程环境 1、关于VB语言和怎样学习VB VB6.0全称为VisualBasic 6.0,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具。如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择VB 6.0没错的。即使考虑到VB程序本身编译和运行效率较低的不足(嘻嘻速度现在不是问题吧),单是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首...
关于文件操作函数EOF
EOF不是文件中有的。只不过是一个文件操作函数,在文件结尾操作时候返回的错误码。不要认为文件中含有EOF。 换行和回车是在文件中都有的,分别是/n和/r在UNIX和DOS中的文本中有不同的表达。 测试代码: #include /* count.c */ main() { int i=0; while (getchar() != EOF) ++i; printf("%d\n", i); } #cc count.c -o count #cat a.txt a bc #count5 # 运行结果为5,那么最后...
STL 简介 标准模板库
当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我重新考虑了一下我原来的想法。我为什么要写这篇文章,又为什么要投稿呢?这会有什麽用呢?有再来一篇关于STL的文章的必要吗? 当我翻开Musser and Saini的页时,我看到了编程时代在我面前消融。我能看到深夜消失了, 目标软件工程出现了。我看到了可维护的代码。一年过去了,我使用STL写的软件仍然很容易维护。 让人吃惊的是其他人可以没有我而维护的很好! 然而,我...
指针引用与引用之间的区别
感觉指针和引用之间的奇妙,写了两端代码以搞清楚指针引用和引用的用法 读C++primer 一书 感觉指针和引用之间的奇妙,写了两端代码以搞清楚指针引用和引用的用法 #include iostream using namespace std; int main(void) { int ival1 = 1024 ; int *pival1 = ival1; //ival的指针 int * pi1 = pival1; //ival的指针的引用 int ival2 = 2048; int *pival2 = i...
指针的初步尝试
1.内存中每个位置都由一个独一无二的地址标识。 2.内存中每个位置都包含一个值(内容)。 对于变量也是如此. 地址内容: 100 104 108 112 116 | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄ ̄| | 3 | -1 | 10769582 | 160 | 6 |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 图1 可以根据存储地址(100,104,108 。。。)找到其所处的内存位置,并提取它的内容(3,-1,10769582。。。)。即根据一个地址可提取其中的内容(值)。 但让人去记忆一...
关于gdb的一些学习总结
关于断点的命令: awatch: awatch用来为一个表达式设置观察点,在表达式的值发生改变时,或者当表达式的值被读取的时候,程序停止执行。 break: 用于在程序中设置断点 break + 要设置断点的行号 clear: 用于清除断点 clear + 要清除断点的行号 commands: 用于为遇到断点之后执行特定的指令而设置的 command + 断点号 如果commands 之后没有断点号,gdb会将最后一个设置的断点编号作为默认值。 condition: 在满足一定的条件时才在指定的行上设置...
转一篇关于函数指针的文章
Function Pointers In this tutorial, the term object (which technically means a region of memory that can be examined and stored into) will be used to mean some kind of C variable. I'll use the terms object and lvalue interchangeably. This is opposed to t...
了解C++异常处理的系统开支
为了在运行时处理异常,程序要记录大量的信息。无论执行到什么地方,程序都必须能够识别出如果在此处抛出异常的话,将要被释放哪一个对象;程序必须知道每一个入口点,以便从try块中退出;对于每一个try块,他们都必须跟踪与其相关的catch子句以及这些catch子句能够捕获的异常类型。这种信息的记录不是没有代价的。确保程序满足异常规格不需要运行时的比较(runtime comparisons),而且当异常被抛出时也不用额外的开销来释放相关的对象和匹配正确的catch字句。但是异常处理确是有代价的,即使你没有使用...
FreeBSD 5 内核源代码分析之中断处理
FreeBSD 5 内核中断处理的最大特点是将中断处理程序在线程的上下文中运行。 为此,内核为每个注册的中断源(即vector)准备一个内核线程,即中断线程, 其任务就是等待中断的发生,一旦发生,便运行相应的中断处理程序。 FreeBSD 5这样做,有好处也有坏处。好处是可以简化线程和中断的互斥关系, 并使得中断处理可以阻塞。 坏处是每次响应中断都要进行线程调度,可能有两次线程上下文的切换 (从用户线程切到中断线程再切回来)。未来的想法是进行lazy scheduling, 即尽可能借用当前线程的上下文...
C++启蒙之注释符号
在我们的程序变得更复杂之前,我们先看看C++是如何处理注释的。注释可以帮助人们阅读程序。在典型情况下,它们用于总结算法、表明变量的目的或澄清其它一些模糊的代码片段。注释不会增加可执行程序的大...