⑴ 操作系统程序的链接:装入时动态链接、运行时动态链接和静态链接都是什么意思有什么区别

静态链接是在生成可执行程序的时候就把库中的内容加入到程序中。

载入时动态版链接是在将功能模块读入权内存时把动态库中调用到的相关模块的内容载入内存。
运行时动态链接是在执行程序调用到模块内容时再将动态库中的相应模块载入到内存。

这里有两个时间问题。一是载入时间,二是执行时间。
静态链接由于是在一开始就把所有模块都加载进入内存,所以如果模块很多的话效率就会被大大拉低。
载入时动态链接是分别载入,当把一个模块载入内存时检查有调用关系的模块载入,比静态链接节省了许多开销。
运行时动态链接则是把当前模块调用的模块推迟到调用的时候再载入。
三者之间的关系就像是机枪,冲锋枪和手枪
机枪在一开始就把所有子弹装好,开枪的时候很快,但也很笨重。
冲锋枪则是将子弹分弹夹存好,轻便了许多,但是会有一段装填时间。
手枪就更加轻便了,但是弹夹容量更小,装填的频率又变高了。

⑵ c语言中的编辑,编译,连接,运行分别是什么意思

1、编辑:编写代码,制作C语言的源文件。

2、编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。

3、链接:将编译中生成的中间文件组合成二进制可执知行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法执行。

4、执行:运行可执行文件,这一步道是编写代码的最终目的。

(2)程序连接的含义扩展阅读:

DOS命令通常分为三类:内部命令、外部命令和批处理命令。

1、内部命令:

其包含在命令解释程序COMMAND.COM中,一旦启动DOS,这些命令就被调入内存,只要在DOS系统提示符下输入这些命令,就可立即执行。

2、外部命令:

其以文件的形式存储在系统盘上,所带扩展名为COM和EXE。DOS启动时,它们并没有被调入内存,执行前必须从系统盘读进内存。因此输入外部命令时,要了解该命令是否在当前盘上,不然DOS无法找到它们。

3、批处理命令:

实际上是个文件,该文件包含多条命令,当用户键入批处理文件名时,DOS将顺序执行其中的各条命令。注意,批处理命令必须用“.BAT”作为扩展名。

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

网络-运行命令

网络-C语言

⑶ 什么叫做程序连接

写的代码需要使用其他人开发的DLL提供的函数,那么我们的程序需要将这个DLL先载入内存,之后才能使用它(DLL),根据DLL被加入到内存的时机,分为动态连接和静态连接。

动态连接:
只在使用到DLL的时候才将它载入内存,如果程序在运行过程中,从来没有执行到使用DLL的分支,那么这个DLL是不会被载入内存的。

静态连接:
在程序启动后立即加载这个DLL,而不是等需要时再进行加载。

在EXE编译时,如果做成动态连接,那么DLL是不会被编译到EXE文件中,所以EXE文件会比较小,但是使用EXE时,必须还同时拥有对应的DLL文件;如果做成静态连接,那么这个DLL是要被编译进EXE中的,这样EXE文件的体积就会变大。