摘要:
通过使用操作系统提供的系统调用,程序员就没必要编写直接控制硬件的程序了。 通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高级编程语言能够使硬件抽象化。硬件抽象化的具体实例。代码清单 9-2 是用C 语言编写的往文件中写人字符串的应用。fopen()是用来打开文件的函数,f 阅读全文
posted @ 2023-02-13 22:11
叮铃铛铛
阅读(36)
评论(0)
推荐(0)
摘要:
操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用,即应用对操作系统的功能进行调用(call)。 C 语言等高级编程语言并不依存于特定的操作系统。这是因为人们希望不管是 Windows还是 Linux,都能使用几乎相同的源代码。因此高级编程语言 阅读全文
posted @ 2023-02-13 21:49
叮铃铛铛
阅读(44)
评论(0)
推荐(0)
摘要:
制作应用的程序员们意识到一点:制作的不是硬件,而是利用操作系统功能的应用。 代码清单9-1 表示的是,在 Windows 操作系统下,用C语言制作一个具有表示当前时间功能的应用。time()是用来取得当前日期和时间的函数,printf() 是用来在显示器上显示字符串的函数。程序的运行结果如图 9-4 阅读全文
posted @ 2023-02-13 21:43
叮铃铛铛
阅读(31)
评论(0)
推荐(0)
摘要:
操作系统的原型:仅具有加载和运行功能的监控程序。 通过事先启动监控程序,程序员就可以根据需要的各种程序加载到内存中运行。如下图: 在利用监控程序编写程序的过程中,发现很多程序都要共通的部分。因此,基本的输入输出部分的程序就被追加到了监控程序中。初期的操作系统就这样诞生了(图 9-2 )。 为了方便程 阅读全文
posted @ 2023-02-13 21:38
叮铃铛铛
阅读(25)
评论(0)
推荐(0)
摘要:
Q:编译器和解释器有什么不同?A:编译器是在运行前对所有源代码进行解释处理的。而解释器则是在运行时对源代码的内容一行一行地进行解释处理的。 Q:“分割编译”指的是什么?A:将整个程序分为多个源代码来编写,然后分别进行编译,最后链接成一个EXE文件。这样每个源代码都相对变短,便于程序管理。 Q:“Bu 阅读全文
posted @ 2023-02-13 21:29
叮铃铛铛
阅读(22)
评论(0)
推荐(0)
摘要:
当程序加载到内存后,还会生成栈和堆。栈是用来存储函数内部临时使用的变量(局部变量),以及函数调用时所用的参数的内存区域。堆是用来存储程序运行时的任意数据及对象的内存领域(图8-10)。 EXE文件中并不存在栈及堆的组。栈和堆需要的内存空间是在EXE文件加载到内存后开始运行时得到分配的。 内存中的程序 阅读全文
posted @ 2023-02-13 21:26
叮铃铛铛
阅读(44)
评论(0)
推荐(0)
摘要:
在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件的开头,追加转换内存地址所需的必要信息。这个信息称为再配置信息。EXE文件的再配置信息,就成为了变量和函数的相对地址。相对地址表示的是相对于基点地址的偏移量,也就是相对距离。在源代码中,虽然变量及函数是在不同位置分散记述的,但在 阅读全文
posted @ 2023-02-13 21:16
叮铃铛铛
阅读(23)
评论(0)
推荐(0)
摘要:
Windows以函数的形式为应用提供了各种功能。这些形式的函数称为API (应用程序接口)。例如,Samplel.c中调用的MessageBox0不是C语言的标准函数,而是Windows提供的API的一种。MessageBox()提供了显示消息框的功能。 Windows中,API的目标文件,并不是存 阅读全文
posted @ 2023-02-13 21:11
叮铃铛铛
阅读(34)
评论(0)
推荐(0)
摘要:
下图的错误消息表示的是无法解析Sample1.obj参照的外部符号。 外部符号是指其他目标文件中的变量或函数。sprintf及MessageBoxA是目标文件中sprintf及MessageBox()的名称。代码中记述的函数名同目标文件中的函数名有一些差异,不过大家只需把它理解成这是C编译器的规定即 阅读全文
posted @ 2023-02-13 20:52
叮铃铛铛
阅读(15)
评论(0)
推荐(0)
摘要:
编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。 为了得到可以运行的EXE文件,编译之后还需要进行“链接”处理。下面,就让我们使用Borland C++ Compiler5.5(以下称为Borland C++)来看一下编译和链接是如何进行的。 Borland C++的编译器是b 阅读全文
posted @ 2023-02-13 20:43
叮铃铛铛
阅读(43)
评论(0)
推荐(0)
浙公网安备 33010602011771号