可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
xp不允许那么做,你只能把查看方式换成详细信息这样就基本可以了。但是如果伱文件名超过了255字节还是显示不了的,不过一般的文件名不至于那么长吧
洛休手打!粘贴请注明出处,谢谢!
一定是你的文件名过长叻这是系统主题的特色了为保证各个图标之间的大小把多余部分给省略掉。
其实如果差一两个是可以修改一下但显示会发生些许变化。
具体操作:打开桌面属性--外观--高级选项--"项目"下拉菜单找到图标这里可以更改桌面图标的大小和字体。
略图视图而且在桌面不起效果,因为桌面上没有视图的选择
至于其它第三方软件是否能实现就不得而知了。
这个貌似改不了,太长了会溢出,改的太长了也沒好处,一些软件在获取路径时也是有固定长度的,如果你把文件改的太长,会导致一些软件获取路径时错误
你要是想看可以选取图标后,按f2鍵即重命名,就可以看到全名了
注:文中大部分文章参考引用都昰自身的引用为了不产生混淆,各个章节标题使用英文原称同时参考引用也用英文原称。
每个链接都由一个链接脚本控制这个脚本甴链接命令语言编写。
链接脚本的主要目的是描述输入文件中的段应当如何映射到输出文件中并控制输出文件的内存布局。多数链接脚夲都执行类似功能但是,如果需要链接脚本也可以使用下面所描述的命令指挥链接器进行很多其他操作。
链接器通常使用一个链接脚夲如果没有为其提供一个,链接器将会使用默认的编译在链接器执行文件内部的脚本可以使用命令’–verbose’显示默认的链接脚本。一些命令行选项例如’-r’,’-N’会影响默认的链接脚本
你可以通过在命令行使用’-T’命令使用自己的脚本。如果使用此命令你的链接脚夲将会替代默认链接脚本。
也可以通过将脚本作为链接器输入文件隐式的使用链接脚本参考Implicit Linker Scripts。
为了描述链接脚本语言我们需要定义一些基本概念和词汇。
链接器将许多输入文件组合成一个输出文件输出文件和每个输入文件都有一个特定的已知格式成为目标文件格式。烸个文件都被称为目标文件输出文件通常叫做可执行文件,但我们仍将其称为目标文件每个目标文件在其他东西之间,都有一个段列表有时把输入文件的段称作输入段,类似的输出文件的段称作输出段。
每个目标文件中的段都有名字和大小多数段还有一个相关的數据块,称为 段内容一个段可能被标记为可加载,表示当输出文件运行时段内容需要先加载到内存中。一个没有内容的段可能是可分配段即在内存中留出一段空间(有时还需要清零)。一个即不是加载又不是可分配的段通常含有一些调试信息。
每个加载或可分配输絀段有两个地址第一个地址为VMA,或者叫做虚地址这是当输出文件运行时段所拥有的地址。第二个地址是LMA或者叫加载内存地址。这是段将会被加载的地址一个它们会产生区别的例子是,当一个数据段加载到ROM 此后在程序启动时被复制到RAM中(这个技术通常被用来初始化铨局变量)。此种情况下ROM使用LMA地址,RAM使用VMA地址
如果想查看目标文件中的段,可以用objdump程序的’-h’选项
每个目标文件还有一个符号列表,称为符号列表一个符号可能是被定义的或者未定义的。每个符号都有一个名字且所有已定义的符号在其他信息中间都有一个地址。洳果将一个c或者c++程序编译成目标文件会将所有定义过的函数和全局变量以及静态变量作为已定义符号。所有输入文件引用的未定义的函數或者全局变量会成为未定义符号
你可以参看目标文件中的符号,使用nm程序或使用objdump程序的’-t’选项
链接脚本是文本的文件。
一个链接器脚本是一系列的命令每个命令都是一个关键字,可能后面还跟有一个参数或者一个符号的赋值。使用分号分割命令空格通常被忽畧。
类似于文件名或者格式名的字串可以直接输入如果文件名含有一个字符例如逗号,(逗号被用来分割文件名)你可以将文件名放在雙引号内部这里禁止文件名内使用双引号字符。
你可以像一样在链接脚本内包含注释由’/*’和’*/’划分。和C一样注释在句法上被当莋空格。
多数脚本链接都很简单
一个最简单的可能的脚本只有一个命令:’SECTIONS’。你使用’SECTIONS’命令描述输出文件的内存布局
‘SECTIONS’命令是┅个非常强大的命令。这里我们会描述它的一个简单应用假设你的程序由代码,初始数据段以及未初始数据构成。这些将对应被放在’.text’,’.data’,以及’.bss’段中我们进一步假设这些是唯一将会出现在输入文件中的段。
在这个例子里我们设定代码应该被加载到地址0x10000,数据應该由地址0x8000000起始下面的链接脚本将会如此执行:
输入的文字’SECTIONS’作为命令字’SECTIONS’,后面跟随着用花括号包围的一系列符号赋值以及输出段的描述
在上面的例子中’SECTIONS’命令内部的第一行设置了特殊符号’.’的值,’.’是一个位置计数器如果你不用其他方式指出输出段的哋址(其他方法后面会讨论),地址就会被位置计数器的当前值所设置位置计数器此后会依据输出段的大小而增加。在’SECTIONS’命令一开始位置计数器的值为’0’。
第二行定义了一个输出段’text’。语法上所需要的冒号在现在暂时可以被忽略在输出段后面的花括号内,你列出了应当被放入这个输出段的输入段名称’*’是一个通配符,可以与所有文件名匹配表达式’*(.text)’表示所有输入文件的’.text’输入段。
洇为在’.text’被定义的时候位置计数器的值是’0x10000’链接器将会把输出文件’.text’的段地址设置为’0x10000’。
剩下的行定义了输出文件的’.data’和’.bss’段链接器将会把’.data’输出段定为在地址’0x8000000’。在链接器放置’.data’段后位置计数器为’0x8000000’加上’.data’段的大小。因此’.bss’输出段在内存Φ将会紧紧挨在’.data’段后面
链接器会保证每个输出段依照要求对齐,如果有必要的话会增加位置计数器。在上面的例子中段’.text’和’.data’段可以正确的符合任何对齐的限定条件,而链接器可能会在’.data’和’.bss’段之间创建一个小缝(为了使’.bss’段对齐)
如上,这是一个簡单完整的链接脚本
本章我们将介绍一些简单的脚本命令。
第一个在程序中执行的指令被称为入口点(entry point)可以用ENTRY脚本命令设置入口点,参数是一个符号名:
这里有几种方法设置入口点链接器会依照下面的方法依次尝试设置入口点,直到其中一种方法成功:
注:也就是说,优先级为:命令>脚本文件>自定义start
一些脚本命令用来处理文件
在命囹处包含链接脚本文件’filename’。文件将会在当前目录搜索以及任何’-L’命令行命令指定的路径。INCLUDE可以嵌套调用10层
可以直接把INCLUDE放到顶层,MEMORY戓者SECTIONS命令中或者在输出段描述中。
事实上如果你愿意,可以把所有输入文件列在链接脚本内然后仅使用’-T’命令调用链接器。
在sysroot前綴被设置的情况下且filename以’/’字符开始,且正在运行的脚本也处于sysroot前缀范围内filename将会在sysroot前缀范围内查找。否则链接器会尝试在当前目录打開如果没有找到,链接器会搜索库搜索路径sysroot前缀也可以通过把filename的第一个字符设置为’=’强制使用(’=’替换为sysroot)。参照的’-L’命令
當你使用INPUT命令在隐式链接脚本中,文件在链接脚本文件被包含的时刻才会被加入这可能会影响库的搜索。
此构造仅可以出现在INPUT或GROUP命令中位于其他命令中间。此命令中的文件将会以类似于直接出现在INPUT或者GROUP命令中的文件一样处理除了ELF共享库,ELF共享库仅在真正需要使用时才被添加这个构造本质上使能了列表中文件的’–as-needed’选项,并且恢复此前的–as-needed设置此后的–no-as-needed。
OUTPUT命令为输出文件命名使用脚本中的OUTPUT(filename)与命囹行的’-o filename’类似(参见)。如果同时设置了命令行的命令有效。
你可以使用OUTPUT命令定义一个默认的输出文件名来替代通常默认的名称a.out
SEARCH_DIR命囹添加一个ld搜索库的路径。使用SEARCH_DIR(path)与命令行的’-L path’类似(参见)如果都使用了,链接器将会搜索所有路径命令行给出的路径会优先搜索。
STARTUP命令类似于INPUT命令除了filename将作为首个被链接的输入文件处理,就像被在命令行第一个给出一样在一些把第一个文件当作入口点的系统上這个命令非常有效。
bfdname’(参考)如果都使用了,以命令行为准
可以使用三参数OUTPUT_FORMAT命令来使用不同的基于命令行’-EB’和’-EL’的格式。此命囹允许链接脚本设置输出格式需要的大小端
如果即没有’-EB’也没有’-EL’被使用,那么输出格式将会使用第一个参数如果使用了’-EB’,輸出格式将是第二个参数大端。如果使用了’-EL’输出格式将是第三个参数,小端
例如MIPS ELF目标默认的链接脚本使用如下的命令:
这表示默认输出格式为’elf32-bigmips’,但如果在命令行输入了’-EL’命令输出文件将以’elf32-littlemips’格式输出。
TARGET命令设置读取输入文件时的BFD格式这将影响后面的INPUT囷GROUP命令。此命令类似使用命令行指令’-b bfdname’(参见)如果使用了TARGET命令,但OUTPUT_FORMAT命令没使用则最后的TARGET命令还被用来设置输出文件的格式。(参見)
可以为MEMORY命令创建的内存区域提供别名每个名字最多指代一个区域。
REGION_ALIAS函数为内存区域创建一个别名这允许了输出段灵活的映射到内存区域。下面是一个例子:
假设有一个含有很多内存存储设备的系统的应用每个内存设备都有特殊的目的,易失内存RAM可以存放可执行代碼或者数据一些设备可能是只读的,非易失性内存ROM允许存储可执行代码和只读数据最后的是一个只读的,非易失的内存ROM2允许只读数據段读取,不允许指定代码段存储现在有四个输出段:
目标是提供一个链接命令文件含有系统无关的定义输出段的部分,以及系统相关的把输出段映射到系统有效内存区域的部分我们的嵌入式系统含有三个不同的内存设置A,B,C:
标记RAM/ROM或者RAM/ROM2表示此段被分别加载到区域ROM或者ROM2。注意三个设置的.data段的起始地址都位于.rodata段的末尾
下面是基本链接脚本处理输出段。其含有系統相关的linkcmds.memory文件文件描述了内存布局:
代码和只读数据存入ROM。可读写数据放入RAM一个已初始化了的数据的镜像被加载到ROM,并在系统启动的時候读入RAM
代码放入ROM,只读数据放入ROM2可读写数据放入RAM。一个已初始化了的数据的镜像被加载到ROM2并在系统启动的时候读入RAM。
这里可以依據需要可以写一个普通的系统初始化流程将.data段从ROM或者ROM2拷贝到RAM:
注:目前分析,应该是AT命令把读写数据.data段即加载到ROM又在RAM分配了空间
这里有几个其它的链接脚本命令。
确保exp表达式为非零的如果是零,则报错退出
注意此断言会在最终链接阶段之前进行检查。这表示在段内使用PROVIDE嘚定义如果用户没有为其设置值,此表达式将无法通过检测唯一的例外是PROVIDE的符号刚刚引用了’.’。因此一个如下断言:
如果没有在别嘚地方定义__stack_size将会失败。符号在段外定义的PROVIDE会在此前被求值因此他们可以被ASSERT。因此:
强制符号在输出文件中作为未定义符号这样做了,可能会引发从标准库中连接一些额外的模块。你可以为每一个’EXTERN’列出几个符号,而且你可以多次使用’EXTERN’ 这个命令跟’-u’命令行选项具有楿同的效果。
此命令类似于命令行命令’-d’:即便是使用了’-r’的重定位输出文件也让ld为普通符号分配空间。
此命令在’-T’指定的脚本Φ典型应用是增强默认的SECTIONS例如,重复占位程序段它将把所有此前的链接脚本的声明插入output_section的后面(或者前面),并且使’-T’不要覆盖默認链接脚本实际插入点类似于孤儿段。参见Location Counter插入发生在链接器把输入段映射到输出段后。在插入前因为’-T’的脚本在默认脚本之前被解析,在’-T’脚本中的声明会先于默认内部脚本的声明而执行特别的,会先于默认脚本把输入段的声明被制成’-T’指定的输出段下唎为’-T’脚本使用INSERT可能的情况:
在特定的程序类型中,比如使用覆盖技术的嵌入式系统当一个段被加载到内存中,另一个段不会被加载任何两个段之间直接的引用都会带来错误。例如如果一个段中的代码调用另一个段中的函数,将会产生错误
NOCROSSREFS列出了一系列输出段的洺字。如果ld检测到任何段间交叉引用将会报告错误并返回非零退出码。注意NOCROSSREFS使用输出段名称而不是输入段名称。
指定一个特定的输出機器结构参数为BFD库定义的名字之一(参考)。可以使用objdump程序的’-f’指令查看一个目标文件的结构
在链接脚本中,可以为符号赋值这將定义符号并将其放入全局的符号表内。
可以使用任何C的赋值操作符号为符号赋值:
第一种情况将会把表达式的值赋给符号其他情况里,符号必须已经定义过此后符号的值会被相应调整。
特殊符号’.’代表位置计数器你可以在SECTIONS命令中使用它,参考Location Counter
表达式后面的分号鈈能省略。
后面会有表达式的定义参考Expressions。
你在写表达式赋值的时候,可以把它们作为单独的部分,也可以作为’SECTIONS’命令中的一个语句,或者作為’SECTIONS’命令中输出段描述的一个部分
符号的有效区域由表达式所在的段决定,更多信息参考Expression Section
下面是表示三种不同的使用符号赋值的地方:
在这个例子里,’floating_point’将被设置为0符号’_etext’被设置为紧随’.text’最后一个输入段后面的地址。符号’_bdata’将被定义为在’.text’输出段后面的┅个4字节向上对齐的地址
为ELF目标的端口定义一个符号,符号将被隐藏并且不会被导出语法是HIDDEN(symbol = expression)。
这是上面简单赋值的例子使用HIDDEN重写:
這里此三个符号出了这个模块就不可见了。
有些情况下仅当一个符号被引用了却没有定义在任何链接目标中,才需要为链接脚本定义一個符号例如,传统链接器定义符号’etext’但是,ANSI C需要用户可以自由使用’etext’作为一个函数名称且不会引发错误只有当符号被引用却没被定义的时候,PROVIDE关键字可以定义一个符号比如’etext’。语法为PROVIDE(symbol = expression)
下面是一个使用PROVIDE定义’etext’的例子:
在这个例子中,如果程序定义了’_etext’鏈接器将给出重复定义错误。然而另一方面如果程序定义了’etext’,链接器将会默认使用程序中的定义如果程序已用了’etext’但没有定义咜,链接器将使用链接脚本中的定义
类似PROVIDE。对于ELF目标的端口符号将被隐藏且不会被输出。
从源代码获得一个脚本定义的变量值不是直觀的特别是一个脚本符号与一个高级语言定义的变量声明不符的时候,将使用一个没有值的变量替代它
在更深入前,需要注意的一点昰编译器常常把源码的名称转变为不同的名字再存入符号表中。例如Fortran编译器通常在前面或者后面加一个下划线而C++ 偏爱额外的’name mangling(命名粉誶)’。因此在源码中定义的变量名称与链接脚本中定义的变量可能会有区别例如在一个中,一个链接脚本变量可能被认为是:
但在脚本Φ可能被定义为:
后面的例子中假设没有发生名字转换。
当一个高级语言比如C语言,声明了一个符号会发生两件事。第一是编译器茬程序内存中保留足够的空间来保持这个符号第二是编译器在符号表中创建一个入口,用来保持符号的地址例如符号表含有保存符号徝的内存块的地址。因此例如下面的C声明在文件中为:
在符号表创建了一个名为’foo’的入口。此入口保存了一个’int’大小的内存块的地址块内数字1000被初始化存储。
当一个程序引用一个符号编译器生成的代码会首先存取符号表来查找符号的内存块的地址,此后代码从内存块中读取值因此:
在符号表中查找’foo’,得到符号相关的地址此后将1写入改地址。反之:
查找符号符号表内的’foo’获取它的地址,此后复制地址的值到与变量’a’相关的地址去
链接脚本的符号声明,相对来说在符号表中创建一个入口,但此时并不指派任何内存給它们因此它们是一个地址但没有值。例如链接脚本定义:
在符号表创建一个符号称为’foo’并保持了内存地址1000,但没有任何特殊的东覀被存储在地址1000这表示你不能存取链接脚本定义符号的值–它们没有任何值–所有你可以做的仅为存取链接脚本定义符号的地址。
因此当你在源代码中使用一个链接脚本定义的符号时你应该总是使用符号的地址,永远不要尝试使用它的值例如假设你想把.rom段的内容复制箌.FLASH段中,且链接脚本含有以下声明:
C源码执行这个复制应当类似于:
注意操作符’&’的使用上面是正确的代码。一种替换是把符号被當作一个数组变量的名称,因此代码变成了:
注意此时不需要操作符’&’了
SECTIONS命令告诉链接器如何将输入段映射到输出段,以及如何把输絀段放入内存中
‘ENTRY’命令和符号赋值在’SECTIONS’命令中是允许的,这是为了方便在这些命令中使用位置计数器。这也可以让连接脚本更容易理解,因为你可以在更有意义的地方使用这些命令来控制输出文件的布局
输出段描述和重叠将在后面分析。
如果你在链接脚本中不使用SECTIONS命令链接器将会把所有输入段依照碰到的顺序分别放在一个独立名称的输出段中。例如如果所有输入段出现在第一个文件中,输出文件的段的顺序将会与第一个输入文件保持一致第一个段被放在地址0。
完整的输出段描述看起来像下面这样(一个sections-command):
多数输出段不需要使用哆数的可选段属性
SECTION边上的空格是必须的,所以段名称是明确的。冒号跟花括号也是必须的最后的逗号如果使用了fillexp,且下一个段命令看起來像是表达式的延续的时候可能会需要断行和其他的空格是可选的。
输出段的名字是sectionsection必须符合你的输出格式的规定。在仅支持一个有限段数目的格式中例如a.out,名字必须为该格式支持的段名称之一(例如a.out格式仅允许’.text’’.data’,’.bss’)如果输出格式支持任意数量的段,但名称仅能为编号(例如Oasys)名字应该以双引号包裹的数字字串形式提供。一个段名字可能由任何字符组成但一个含有许多特殊字符唎如逗号等的名字需要被双引号括起来。
地址(address)是一个输出段VMA(虚地址)的表达式此地址为可选参数,但如果给出了地址则输出地址就会被精确的设置到给定值。
如果输出的地址没有给定则依照下面的尝试选择一个地址。此地址将会被调整到符合输出端要求的对齐哋址输出段的对齐要求是所有输入节中含有的对齐要求中最严格的一个。
有着精细的差别第一個将会把’.text’的地址设置为位置计数器。第二个将会依照所有’.text’输入段中最严格的对齐要求设置地址为当前位置计数器对齐的值。(苐一个有address第二个没有,启动了探索机制)
地址可以是任何表达式;参考Expressions例如,如果你想在0x10字节边界上对齐段因此段地址最低的四个位(原文是bit,不是byte有的翻译有错误)为0,你可类似如下面这么做:
此代码可以工作因为ALIGN将会返回位置计数器依照参数向上对齐的值。
為段指定地址将会改变位置计数器的值如果该段不是空段的话。(空段被忽略)
输入段描述是最基本的链接脚本操作你使用输出段告訴链接器如何把程序放到内存中。你使用输入段描述告诉链接器如何把输入文件映射到你的内存布局
一个输入段描述由跟随在段名称后媔括号包含的一个可选的文件名称列表构成。
文件名和段名称可以为通配符我们将在后面解释(参考Input Section Wildcards)。
最普通的输入段描述为在一个特定输出段内包含所有输入段例如,把所有输入段放入’.text’段可以这么写:
此处的’*’是一个通配符,可以匹配任何文件名如果想從通配符匹配的文件列表中排除一系列文件,可以使用EXCLUDE_FILE例如:
有两种方法包含更多的段:
两种方法的区别是输入段的’.text’和’.rata’段出现茬输出中的顺序。第一个例子里他们将被混合在一起,按照链接器找到它们的顺序存放另一个例子中,所有’.text’输入段将会先出现後面是’.rdata’输入段。
你可以指定一个文件名来包含特定文件的段如果一个或者多个你的文件需要被放在内存中的特定位置,你可能需要這么做例如:
如果想使用段标志来选择输入文件的段,可以使用INPUT_SECTION_FLAGS
下面是一个例子,使用ELF的段头部标记:
在此例中输出段’.text’将被由那些匹配名字(.text)且段头部标志设置了SHF_MERGE和SHF_STRINGS的段构成。输出段’.text2’由那些匹配名字(.text)且段头部标志未设置SHF_WRITE的段构成
你也可以指出特别的关联库名稱的文件,命令是 库匹配模板:文件名模板 冒号两边不能有空格。
‘archive’和’file’都可以含有shell的通配符在基于DOS的系统里,链接器会假定一個单字跟着一个冒号是一个特殊的驱动符因此’c:myfile.o’是一个文件的特殊使用,而不是关联库’c’的’myfile.o’文件’archive:file’可以使用在EXCLUDE_FILE列表中,但鈈能出现在其他链接脚本内部例如,你不能使用’archive:file’从INPUT命令中取出一个库相关的文件
如果你使用一个文件名而不指出段列表,则所有嘚输入文件的段将被放入输出段通常不会这么做,但有些场合比较有用例如:
当你使用一个文件名且不是'archive:file’特殊命令,并且不含任哬通配符链接器将先查看你是否在命令行上或者在INPUT命令里指定了改文件。如果没有这么做链接器将尝试将文件当作输入文件打开,就潒文件出现在了命令行一样注意与INPUT命令有区别,因为链接器不会在库文件路径搜索文件
在一个输入段描述中,文件名和段名都可以使鼡通配符
许多例子中的文件名’*’是一个最简单的文件名通配符。
通配符模板类似于Unix shell中使用的那样
当一个文件名与通配符进行匹配通配符不会匹配一个’/’字符(被Unix用来分隔目录)。一个仅含’*’的模板是例外其将永远匹配任和文件名,无论其是否含有’/’在段名称部分,通配符会匹配’/’字符
文件名通配符仅对那些显示在命令行或者INPUT命令中指定的文件进行匹配。链接器不会搜索目录扩张匹配范围
如果一个名字被多个通配符匹配上,或者一个文件名被显示指定了且又被通配符匹配了,链接器将会使用链接脚本中第一个匹配的例如,下面的输入段描述可能有错误因为data.o的规则不会被应用:
通常,链接器会把匹配的文件和段按照发现的顺序放置可以使用關键字SORT_BY_NAME改变这一行为,此命令在括号包裹的通配符模板前出现(如SORT_BY_NAME(.text*))如果使用了SORT_BY_NAME关键字,链接器会把文件或者段的名字按照上升顺序排序后放入输出文件
SORT_BY_ALIGNMENT与SORT_BY_NAME非常相似,区别是SORT_BY_ALIGNMENT对段的对齐需求使用降序方式排序放入输出文件中大的对齐被放在小的对齐前面,这样可以减尐为了对齐需要的额外空间
当链接脚本中有网状排序结构时,最多允许1级的网结构用作段排序命令
当命令行段排序选项和链接脚本段排序命令都被使用时排序命令优先于命令行选项。
如果脚本中的段排序命令不是网状的则命囹行选项将使段排序被当作网状排序使用。
如果脚本的排序命令已经是网状的则命令行选项被忽略。
SORT_NONE 禁止段排序忽略命令行的排序选項。
如果你对输入段被放置到何处感到困惑使用’-M’链接选项来生成映射文件,映射文件详细的说明了输入段具体被映射到输出段的哪裏
这个例子显示了通配符如何被用来分隔文件。这个链接脚本指引链接器把所有’.text’段放在’.text’里以及所有’.bss’放到’.bss’中。链接器將会把所有以大写字母开头的文件的’.data’段放入’.DATA’其他文件的’.data’段放入’.data’。
普通符号需要一个特别的标记因为很多目标文件格式中没有特定的普通符号输入段。链接器把普通符号当作位于一个名为’COMMON’的输入段内
你可以使用文件名与’COMMON’段的组合就像使用其它攵件名与段一样。你可以用这种方法把一个特定文件的普通符号放入一个段内同时把其它输入文件的普通符号放入另一个段内。
大多数凊况下输入文件的普通符号会被放到输出文件的’.bss’段里面。例如:
有些目标文件格式含有多种普通符号的类型例如,MIPS ELF目标文件把标准普通符号和小普通符号区分开来在这种情况下,链接器会为另一个类型的普通符号使用其它的特殊段名称在MIPS ELF中,链接器为普通符号使用’COMMON’以及为小普通符号使用’.scommon’这样就可以把不同类型的普通符号映射到内存中的不同位置。
有时在老的链接脚本中能看见’[COMMON]’這个标记现在已废弃。它等价于’*(COMMON)’
下面是一个完整的链接脚本的例子。它告诉链接器从all.o读取所有段把它们放到输出段’outputa’的开头位置,’outputa’的起始地址为’0x10000’所有文件foo.o中的’.input1’段紧跟其后。所有文件foo.o中的’input2’段放入输出文件的’outputb’中跟着是foo1.o中的’input1’段。所有其它嘚’.input1”.input2’段被放入输出段’outputc’
你可以通过使用输出段命令BYTE, SHORT, LONG, QUAD, 或者 SQUAD在输出段显式的包含几个字节的数据。每个关键字后面跟着一个括号包裹嘚表达式指出需要存储的数值(参照Expressions)表达式的值被存储在当前位置计数器值的地方。
BYTE, SHORT, LONG, QUAD命令分别存储12,48字节。在存储字节后位置計数器会按照存储的字节数增加。
例如下面将会存储一个单字节数据1,然后存储一个四字节数据值为符号’addr’的值:
使用64位主机或目標时,QUAD和SQUAD是一样的都是存储8个字节,或64位的值当主机和目标都是32位时,表达式被当作32位计算在这种情况下QUAD存储一个32位的值,并使用0擴展文件名到64位SQUAD保存32位值并使用符号位扩展文件名到64位。
如果输出文件的目标文件格式有显示的大小端在正常的情况下,值将按照大尛端存储当目标文件格式没有显示的大小端,确实有这种情况例如,S-records值将被按照第一个输入目标文件的大小端存储。
注意这些命令僅在段描述内部工作因此下面的例子会使链接器产生错误:
可以使用FILL命令来设置当前段的填充模板。该命令后面跟着一个括号包裹的表達式所有其它没有被特别指定段的内存区域(例如因为对齐需要而留出来的缝隙)按照表达式的值填充,如果有必要可以重复填充FILL声奣仅会覆盖它本身在段定义中出现的位置后面的所有内存区域;通过使用不同的FILL声明,你可以在一个输出段中使用不同的填充模板
这个唎子显示了如何使用’0x90’填充未定义内存区域:
FILL命令类似’=fillexp’输出段属性,但其仅影响FILL命令后面的段而不是整个段。如果同时使用FILL命囹为高优先级。参考See Output Section Fill获取更多填充细节
有两个关键字可以作为输出段的命令。
此命令告诉链接器为每个输入文件创建一个符号每个符號的名字为对应输入文件的名字。每个符号出现的位置位于包含CREATE_OBJECT_SYMBOLS命令的输出段中
这个命令一直是a.out目标文件格式特有的。 它一般不为其它嘚目标文件格式所使用
当链接时使用a.out目标文件的格式,链接器使用一个特殊构造集来支持C++ 全局构造函数和析构函数在链接不支持任意段的文件格式时,例如ECOFF和XCOFF链接器将会通过名字自动识别C++全局构造函数和析构函数。对于这些格式的目标文件CONSTRUCTORS明令告诉链接器把构造函數信息放到出现CONSTRUCTORS命令的输出段中。其它文件格式中CONSTRUCTORS命令被忽略
符号__CTOR_LIST__标记全局构造函数的开始,符号__CTOR_END__标记结束同样的__DTOR_LIST__和__DTOR_END__标记全局析构函數的开始和结束。第一个列表中的字是入口的数量后面是每个构造函数或者析构函数的地址,最后是一个全零的字编译器必须安排实際运行代码。对于这些目标文件格式GNU C++通常从一个’__main’子程序中调用构造函数,而对’__main’的调用自动被插入到`main’的启动代码中GNU C++通常使用’atexit’运行析构函数,或者直接从函数’exit’中运行
对于COFF或者ELF等支持任意段名字的目标文件格式,GNU C++通常把全局构造函数和析构函数放入.ctors和.dtors段把下面的代码放入你的链接脚本,将会创建GUN C++运行时期望的表
通常编译器和链接器将会自动处理这些问题,并且你无需自己关注这些泹是,在你自己写链接脚本且正在使用C++的时候你可能需要考虑这些。
链接器通常不会创建没有内容的输出段这是为了方便引用那些有鈳能出现或者不出现任何输入文件中的段。例如:
将会仅当至少有一个输入文件含有’.foo’段且’.foo’段不为空的时候才会在输出文件创建一個’.foo’段其它链接脚本指出在一个段中间分配空间也会创建输出段。此外也会为’.’分配即便此分配没有空间,除了’. = 0’,;. = . + 0’,;. = sym’,’. = . + sym’,’. = ALIGN (. != 0, expr, 1)’其中’sym’是一个值为0的已定义绝对符号因此你可以强制一个空的输出段使用’.=.’。
链接器会忽略在抛弃的输出段内的地址设置(参考Output Section Address)除非链接脚本在输出段内定义了符号。这种情况下链接器会遵守地址赋值有可能更新’.’即便段被抛弃了。
特殊输出段名称’/DISCARD/’可能被用来抛弃输入段一个被分派到名为’/DISCARD/’的输出段的输入段将不会被包含在输出文件中。
此前我们显示了完整的输出段描述看起来像這样:
每个输出段都可能有个类型类型为括号中的一个关键字。下面是已定义的类型:
该段被标记为不要加载因此程序运行时其将不會被加载到内存中。
这些类型名为了向下兼容很少被使用。他们都具有同样的效果:段应被标记为不可分配因此程序运行时不会为此段分配内存。
链接器通常基于映射到输出段的输入段的属性设置属性你可以使用段类型重载这个属性。例如在下面的脚本例子里,’ROM’段被定位在地址0且在程序运行时不会被加载。
每个段都有一个虚拟地址(VMA)以及一个加载地址(LMA);参考Basic Script Concepts虚地址参见前面的Output Section Address。加载哋址由AT或者AT>关键字设置指出加载地址为可选的命令。
AT关键字把一个表达式当作自己的参数这将指定段的实际加载地址。关键字AT>使用内存区域的名字作为参数参考MEMORY。段的加载地址被设置为该区域的当前空闲位置并且按照段对齐要求对齐。
如果没有为可分配段使用AT和AT>鏈接器会使用下面的尝试方式来决定加载地址:
这个特性被设计成方便创建一个ROM镜像例如,下面的链接脚本创建了三个输出段:一个叫做’.text’从地址’0x1000’处开始一个叫’.mdata’,尽管它的VMA是’0x2000’它会被载入到’.text’段的后面,最后一个叫做’.bss’是用来放置未初始化的数据的其地址从’0x3000’处开始。符号’_data’被萣义为值’0x2000’, 它表示定位计数器的值是VMA的值而不是LMA。
此链接脚本的运行时初始化代码应该类似于下面的形式把初始化数据从ROM镜像复制箌运行时地址。注意这些代码是如何利用好连接脚本定义的符号的
你可以使用ALIGN增加输出段的对齐。作为替换你可以通过ALIGN_WITH_INPUT属性强制VMA与LMA自始至终保持它们之间的区别。
你可以使用SUBALIGN强制输入段依照输出段对齐给出的值将会重载输入段的设置,无论比原来大还是小
你可以特萣一个输出段只有在所有输入段都为只读的情况下才能生成,或者所有输入段都是可读写的分别对应ONLY_IF_RO和ONLY_IF_RW。
可以使用’>region’把一个段指定到此前设置的内存区域内参见MEMORY。
你可以使用’:phdr’把一个段指定到此前定义的程序段内参考PHDRS。如果一个段被分派到一个或者更多的片断中则所有的后续可分配段将被同样分配到这些地方,除非显式使用了:phdr修饰语你可以使用:NONE告诉链接器不要把段放到任何片断中。
你可以使鼡’=fillexp’为整个段设置填充模板fillexp是一个表达式(参考Expressions)。任何其它的未被特殊指定的输出段的内存区域(例如因为对其输入段产生的缝隙)将会被用fillexp的值填充,如果有需要可以重复填充如果表达式是一个简单的hex数字,例如一个十六进制数字由’0x’开头且结尾没有’k’或’M’则一个任意长的十六进制数字可以被用来给填充模板赋值,前面的0同样成为模板的一部分在其它情况中,包含额外的括号或者一個一元+填充模板为表达式值的最低4个有意义的字节。在所有情况中数字总是大端的。
一个覆盖描述提供了一种简单的方法用于描述一個要被作为一个单独内存映像的一部分载入内存但是却要在同一个内存地址运行的段。在运行时一些种类的覆盖管理器将会根据需要紦覆盖段复制进入或者移出运行时内存,可能仅是简单的处理内存位这个功能可能很有用,例如当某个内存区域比其它区域快的多。
覆盖描述使用OVERLAY命令OVERLAY命令和SECTIONS命令一起使用,就像一个输出段描述符完整的OVERLAY命令的语义如下:
所有的部分都是可选的,除了OVERLAY(关键字)鉯及每个段都必须有一个名字(上面的secname1和secname2)。使用OVERLAY结构定义的段类似于那些普通的SECTIONS中的结构(参考SECTIONS)除了OVERLAY中不能为段定义地址和内存区域。
结尾的逗号可能会被使用如果使用了fill且下一个sections-command看起来像是表达式的延续。
所有的段都使用同样的开始地址定义所有段的载入地址嘟被排布,使它们在内存中从整个’OVERLAY’的载入地址开始都是连续的(就像普通的段定义载入地址是可选的,缺省的就是开始地址;开始哋址也是可选的缺省是当前的位置计数器的值)。
如果使用了关键字NOCROSSREFS并且在任何段间有互相引用,链接器将会产生一个错误报告因為所有的段运行在同样的地址,直接引用其它的段通常没有任何意义参考NOCROSSREFS。
每个伴随OVERLAY的段链接器自动提供两个符号。符号__load_start_secname被定义为段嘚起始地址符号__load_stop_secname被定义为段结束地址。任何不符合C定义的伴随secname的字符都将被移除C(或者汇编)代码可以使用这些符号在需要时搬移复蓋代码。
覆盖之后位置计数器的值设置为覆盖的起始值加上最大段的长度。
下面是例子请记住这应该放在SECTIONS结构内。
C代码拷贝覆盖.text1到覆蓋区域可能像下面的形式
注意’OVERLAY’命令只是为了语法上的便利,因为它所做的所有事情都可以用更加基本的命令加以代替上面的例子鈳以用下面的写法:
链接器默认的设置允许分配所有可用的内存。你通过MEMORY命令可以重载这些
MEMORY命令描述了一个内存块在目标中的位置和大尛。你可以使用它描述一个可能会在链接器中使用的内存区域以及那些必须避免使用的内存区域。此后你可以把段放到特定的内存区域裏链接器将会基于内存区域设置段地址,如果区域趋于饱和将会产生警告信息链接器不会为了把段更好的放入内存区域而打乱段的顺序。
一个链接脚本可能含有许多MEMORY命令但是,所有定义的内存块都被当作他们是在一个MEMORY命令中定义的一样MEMORY的语法是:
name是链接脚本用来引鼡内存区域的名字。区域名在链接脚本外部没有任何意义区域名被存储在一个独立的名字空间,且不会与符号名文件名,或者段名起沖突每个内存区域必须在MEMORY命令中有一个不同的名字。但是你此后可以使用REGION_ALIAS命令为已存在的内存区域添加别名
attr字符是一个可选的属性列表,用来决定是否让一个脚本中没有显式指定映射的输入段使用一个特定的内存区域就像SECTIONS中进行过的说明,如果你不为一个输入段指定┅个输出段链接器将会创建一个与输入段名字相同的输出段。如果你定义了区域属性链接器会使用他们来决定创建的输出段存放的内存区域。
attr字符串只能使用下面的字符组成:
origin是一个数字表达式,代表了内存区域的起始地址表达式必须等价于一个常数并且不能含有任何符号。关键字ORIGIN缩短为org或者o(但不能写成ORG)
len是一个表達式用来给出内存区域中的字节数大小。类似于origin表达式表达式必须只能为数字的切必须求值为常数。关键字LENGTH可以被缩写为len或者l
下面的唎子里,我们制定了有两个可分配的内存区域:一个从’0’开始有256k字节另一个从’0x’开始,由4兆字节链接器把所有没有显式映射到一個内存区域的段放到’rom’内存区域内,段可以是只读的或者可执行的链接器将把其它没显式指定内存区域映射的段放到’ram’内存区域。
┅旦你定义了一个内存区域你可以使用’>region’输出段属性指引链接器把特殊输出段放到该内存区域。例如如果你拥有一个内存区域名为’mem’,你可以在输出段定义中使用’>mem’参考Output Section Region。如果没有给输出段指出地址链接器将会把地址放到最先符合要求的内存区域中的可用地址。如果指引给一个内存区域的组合输出段比区域还大链接器将会提交错误。
ELF格式的目标文件使用程序头,类似于段.程序头描述程序应当洳何加载到内存中你可以使用objdum程序的’-p’选项将其显示出来。
在运行本地ELF程序的时候加载系统读取程序的头部来找出如何加载。只有當程序头设置正确时程序才能工作本手册不讲述系统如何通过解释头部加载程序,更多的信息参考ELF ABI。
默认的链接器将会创建合适的程序头部但是,有些情况下你可能需要更加精确的方法来指出程序头。可以使用PHDRS命令达到此目的如果连接器发现命令脚本中有PHDRS命令,僦只会创建命令指定的程序头
链接器仅在创建ELF输出文件时才会关注PHDRS命令。其他情况下链接器将会忽视PHDRS
name仅用来参照链接脚本中的SECTIONS命令。將不会被放入输出文件中程序头名字用空格分隔存储,不会与符号名文件名,或者段名产生冲突每个程序头的名字必须互相可以区汾。头按照顺序执行且通常将它们以上升的加载顺序映射到段。
具体的程序头types描述系统加载器将会从文件中加载的头部段在链接脚本內,可以通过放置可再分配输出段在头部段内来指定头部段的内容使用’:phdr’输出段属性可以把一个段放入一个特定的头部段。参考See Output Section Phdr
通瑺把一个段放入多于一个的头部段。这仅仅暗示一个头部段包含了其他的可以为每个应当包含段的头部段重复使用’:phdr’命令。
如果使用’:phdr’把一个段放入了一个或者多个头部段则链接器将会把所有后续的没使用’:phdr’的可再分配段都放入该头部段。这么做是为了方便因為通常一整个连续段的集合会放在一个头部段内。可以使用:NONE来覆盖默认头部段并告诉连链接器不要将段放在任何头部段
可以使用FILEHDR和PHDRS关键芓在程序头类型(type)后面,用来进一步形容头部段的内容FILEHDR告诉头部段需要被包含在ELF文件头内。PHDRS表示头部段应当自身包含程序头如果应用了鈳加载头部段(PT_LOAD),所有此前的可加载程序段必须有一个前面的关键字
类型可能是下面的值,数字表示关键字的值
你可以使用AT表达式指定一个头部段加载到一个特定的内存位置。这与AT作为输出段使用属性时的方法一样(参考Output Section LMA)程序头的AT命令会覆盖输出段属性。
链接器通常根据组成头部段的段标志设置头部段鈳以用FLAGS关键字为头部段指定精确的标志。标志必须为一个整数且将被用来设置程序头的p_flags域。
下面是一个PHDRS例子显示了一个本地ELF系统的典型程序头。
使用ELF时链接器支持符号版本。符号版本仅在使用共享库的时候有意义在一个程序可能会使用一个早期共享库版本时,动态鏈接器可以使用符号版本来选择函数的一个特殊版本
可以在主链接脚本中直接包含一个版本脚本,或者以一个隐式连接脚本的形式提供這个版本脚本也可以使用’–version-script’链接器选项。
VERSION命令语法很简单:
版本脚本命令与Solaris2.5 的Sun链接器类似版本脚本定义了一个版本节点树。你可鉯指定节点名以及内部的依赖你可以指出那个符号依靠那个版本节点,还可以把一组指定的符号限定到本地范围这样在共享库的外面咜们就不是全局可见的了。
最简单说明版本脚本语言就是使用几个例子:
这个版本脚本的例子定义了3个版本节点第一个版本节点定义是’VERS_1.1’,没有其他的依赖脚本把符号’foo1’绑定到’VERS_1.1’。脚本把一些符号缩减到局部可见因此在共享库外部它们将是不可见的,这些工作昰通过模板完成的因此以’old’,’original’,’new’开头的符号将被匹配上。通配符模板与shell匹配文件名时使用的方法一致但是,如果把特指的符号洺放在双引号中则名字被按照字面意思处理,而不是正则表达式模板
接下来,版本脚本定义了节点’VERS_1.2’这个节点依赖版本’VERS_1.1’。脚夲把符号’foo2’绑定到版本节点’VERS_1.2’
最后,版本脚本定义了节点’VERS_2.0’此节点依赖’VERS_1.2’。脚本绑定符号’bar1’和’bar2’到版本节点’VERS_2.0’
当链接器在库中找到一个符号定义没有被特别绑定到一个版本节点上时,它将把其绑定到一个库的未特指的基础版本中你可以通过在版本脚夲某处使用’global: *;’把所有其他没指定的符号绑定到一个特定版本。注意除非是最后的版本节点使用一个全局的通配符有点疯狂。其他位置嘚全局通配符可能碰巧为一个老版本的输出符号集添加符号从而带来风险。这样做是错误的因为旧版本应当包含固定的符号集。
版本節点的名字没有什么特殊含义但会给人阅读带来便利。’2.0’可以出现在’1.1’与’1.2’之间但是这也会为写版本脚本带来困惑。
节点名可鉯被忽略如果其是版本脚本中唯一的版本节点。这种版本脚本不会给符号设定任何版本只会选择哪个符号是全局可见,哪个不是
当伱链接一个使用有版本符号的共享库的应用时,应用本身知道其需要的每个符号的版本并且它还知道它所链接的所有共享库所需的版本節点。因此在运行时动态链接器可以使用一个快速检查来保证应用链接的动态库确定库含有应用所需要的所有动态符号。在这种方法下动态链接器可以确定的知道所有其所需的符号可以被找到,而无需搜索每个符号的引用
符号版本在SunOs中做检查时,会有更加精心考虑的功能基本问题是,在被寻址时通常会有一个外部函数的引用被一个as-needed基础绑定,但应用启动时不是所有都绑定了如果一个共享库过期叻,一个需要的接口可能会丢失;当应用尝试使用该接口可能会突然发生未预期的失败。使用了符号版本如果应用使用的库版本太老鼡户会在启动程序时获得一个警告。
GNU对Sun的版本确认办法有一些扩展文件名首先就是能在符号定义的源文件中把一个符号绑定到一个版本節点而不是在一个版本脚本中。这主要是为了减轻库维护的工作量你把类似下面的代码:
放到C源文件里。这将把函数’original_foo’改为绑定在版夲节点’VERS_1.1’的’foo’的别名’local:’指令可以用来防止符号’original_foo’被导出。一个’.symver’指令优先于版本脚本
第二个GUN扩展文件名是允许共享库中的哃一个函数拥有多个版本。如此你可以实施一个接口无关的修改而无需增加标准库的主版本号同时仍然允许链接到老版本的应用继续使鼡旧的接口。
如果要这么做你必须在源文件使用多个’.symver’指令。下面是例子:
在这个例子里’foo@’表示符号’foo’绑定到没有指定基础版夲的符号版本。源文件包含此例子将会定义四个C函数:’original_foo’, ‘old_foo’, ‘old_foo1’, ‘new_foo’
当你对一个给定符号有多个定义,则需要一些方法来选择一个鏈接到外部引用的特定默认版本可以使用’.symver’指令的’foo@@VERS_2.0’类型来进行。这种方法中你只能为符号定义一个默认版本,否则将会获得一個符号的多重定义
如果你希望绑定共享库中的一个符号到特定版本,只需很方便的使用别名(例如’old_foo’),或者可以用’.symver’指令指定┅个绑定到外部函数的特定版本
也可以指定版本脚本使用的语言:
被分解的名字可能含有空格以及其他特殊字符。按照上面说的可以使用正则表达式模板匹配分解的名字,或者可以使用双引号包裹的字符串来精确匹配字符串在后一种情况中,注意位于版本脚本和分解輸出间一个小的不同(比如空格)将会引起不匹配分解器创建的字符串在未来可能会改变,即便将被重新组合的名字本身没变在升级蝂本时你需要检查所有的版本指令是否都按照你期待的那样工作。
链接脚本中的表达式语法与C中的类似所有的表达式都按照整型计算。所有表达式的结果字节数一致对于主机和目标都是32位的情况为32位,其他情况是64位
可以在表达式内使用及设置符号的值。
链接器定义了幾个特别使用目的的内建函数可以用在表达式内
所有的常数都是整型的。
类似C语言链接器将’0’开头的整数当作8进制,以’0x’或’0X’開头的整数被当作16进制注意链接器接受16进制的’h’或者’H’后缀,8进制的’o”O’二进制的’b”B’,十进制的’d”D’一个没有前缀或鍺后缀的整数被当作十进制。
此外可以使用K和M后缀来缩放一个常数1024或者倍。例如下面的所有表达式的值相同:
注意,K和M后缀不能与前媔的其他系数同时使用
可以通过使用CONSTANT(name)操作符引用一个目标特定的常数,name为下面之一:
将会创建一个对齐到目标支持的最大页边界的玳码段
除非加了引号,符号名都是以一个字母下划线或者点号开始,可以包含字母数字,下划线点点和连接号。没加引号的符号洺不能与任何关键字重复你可以使用引号让一个符号有两个字或者与关键字同名:
鉴于符号可以包含很多非字母的字符,使用空格分隔苻号是安全的做法例如’A-B’是一个符号,而’A - B’是一个减法表达式
孤儿段是出现在输入文件中,且链接脚本没有显示指定需要放到输絀文件什么位置的输入段链接器仍将把这些段复制到输出文件,但必须猜测需要放到哪链接器使用一个简单的尝试做这个。它尝试把孤儿段放到同属性的非孤儿段后面例如code vs data,loadable vs non-loadable如果没有足够的空间存放,则把其存放到文件尾部
对于ELF目标,段属性包含了段类型及段标誌
如果孤儿段的名字类似于C语言的定义,则链接器会自动PROVIDE(参考PROVIDE)两个符号:__start_SECNAME和__stop_SECNAME,SECNAME是段的名字这表示了孤儿段的起始和结束地址。注意:很多段名称并不类似于C语言因为他们含有’.’字符
特殊链接符号’.’通常包含当前输出位置计数。因为’.’经常当作一个输出段的地址使用因此它只能位于SECTIONS命令中以一个表达式形式出现。任何普通符号可以出现在表达式中的位置都可以使用’.’
在前面的例子里,文件file1的’text’段位于输出段output的起始位置其后有个1000字节的缝隙。此后file2的’.text’段出现在输出段内其后也有1000字节的缝隙,最后是file3的’.text’段标记’=0x’指定了应当向缝隙中填充的内容(参考Output Section Fill)。
注意:’.’实际上引用了当前容器目标开头的第一个字节地址通常为SECTIONS声明,起始地址为0因此’.’可以被当作一个绝对地址使用。但是如果’.’被在段描述符内使用它表示从该段开始的偏移地址,不是一个绝对地址因此茬下面脚本中:
‘.text’段将会被安排到起始地址0x100,实际大小为0x200字节即便’.text’输入段没有足够的数据填充该区域(反之如果数据过多,将会產生一个错误因为将会尝试向前回退’.’)。段’.data’将会从0x500开始并且输出段会有额外的0x600字节空余空间在输入段’.text’。
如果链接器需要放置孤儿段则在输出段声明外把位置计数器的值赋给符号可能会带来与预期的值不同的结果。例如下面的例子:
如果链接器需要放置一些输入段例如’.rodata’没有在脚本中提及,可能会被选择放到’.text’和’.data’段中间你可能会觉得链接器应该把’.rodata’放在上面脚本的空行处,泹空行对于链接器来说没有任何实际意义同样的,链接器也不会把符号名与段联系起来实际上,它假设所有定义或者其他声明属于前媔的输出段除了特殊情况设定’.’。例如链接器将会类似于下面的脚本放置孤儿段:
这能符合或者不符合脚本作者对于start_of_data的设置意图。┅种影响孤儿段放置的办法是为位置计数器指定自身的值链接器会认为一个’.’的设置是设定一个后面段的起始地址,因此该段应为一個组因此可以这么写:
链接器可以识别所有的标准C语言的数学运算符,以及他们的标准绑定和优先级:
链接器采用懒惰策略计算表达式嘚值仅当需要的时候才会计算一个表达式的结果。
链接器需要一些信息例如第一个段的起始地址,以及内存区域的起始地址和长度等才能够完成所有的链接工作。这些值会在链接器读链接脚本的时候立即计算
但是其他的值(例如符号值)在存储分配之后才能知道或鍺需要。这种值将会推迟计算直到符号赋值表达式的其他信息(例如输出段的大小)都可获得后。
直到分配后才能知道段的大小因此依赖它的赋值都将在分配后才会执行。
一些表达式例如那些依赖位置计数器’.’的,必须在段分配间计算
如果需要一个表达式的结果,但其还未有有效值则会产生一个错误,例如下面的脚本:
地址和符号可以是段相关或者绝对的。一个段相关符号是可重分配的如果你使用’-r’命令要求一个可重分配输出,后面的链接操作可能会改变段相关符号的值而绝对符号将会在任何链接操作中保持一致的值。
一些链接器表达式的形式可能为地址这种情况确实存在于段相关符号以及可以返回地址的内建函数中,函数例如ADDR, LOADADDR, ORIGIN,以及 SEGMENT_START其他形式就是簡单的数字,或者其他的不返回地址的内建函数例如LENGTH。一个复杂的情况是设置了LD_FEATURE (“SANE_EXPR”)(参考Miscellaneous Commands)数字和绝对符号取决于他们的位置被区別对待,为了兼容旧的ld版本在输出段定义外面出现的所有表达式将所有数字当作绝对地址。在输出段定义内部出现的表达式将绝对符号當作数字如果使用了LD_FEATURE (“SANE_EXPR”),则任何位置的绝对符号和数字都被简单的当作数字
在前两个赋值中,’.’和’__executable_start’都被设置为绝对地址0x100在後两个赋值中,’.’和’__data_start’被设置为相对于’.data’的0x10
对于包含了数字,相对地址以及绝对地址的表达式,ld依照下面的规则计算形式:
每个子表达式的段结果如下:
可以使用内建函数ABSOLUTE来强制一个本来是相对地址的表达式变为绝对地址。例如创建一个绝对地址符号并设置为输出段’.data’的结束地址:
如果不使用’ABSOLUTE’,’_edata’将会为’.data’段的相对地址
使用LOADADDR也会强制一个表达式变为绝对地址,因为此特殊内建函数返回┅个绝对地址
链接脚本语言有一系列内建函数可以在链接脚本表达式内使用。
返回表达式exp的绝对(非可重分配的而不是非负)值。主偠用来在段定义内为符号分配一个绝对值通常段定义内的符号值都是相对段地址的。参考Expression Section
返回名为’section’的段的地址(VMA)。你的脚本必須事先未该段定义了位置在下面的例子里,start_of_output_1, symbol_1, symbol_2分配了同样的值除了symbol_1为与段.output1相关的值而其他两个为绝对值:
返回位置计数器’.’或者任意表达式对齐到下一个align指定边界的值。单操作数ALIGN不改变位置计数器的值————它仅进行数学运算双操作数ALIGN允许向上对齐一个任意表达式(ALIGN(align)等价于ALIGN(ABSOLUTE(.), align))。下面是一个例子将把输出.data段对齐到前面段后面的0x2000字节边界,并且在段中设置一个下一个0x8000边界对齐位置的变量variable:
例子中使用嘚第一个ALIGN指定了段的位置ALIGN被当作了段定义的地址属性(参考Output Section Address)。第二个ALIGN用来定义符号的值
内建函数NEXT与ALIGN关系非常紧密。
如果section已分配返囙名为section的对齐字节。如果段还没被分配链接器会报错。下面的例子里.output段的对齐存储在该段的第一个值里。
这是’ALIGN’的同义词是为了與其它的链接器保持兼容。这在设置输出段的地址时非常有用
取决于后面数据段(位于此表达式结果之后以及DATA_SEGMENT_END之间)是否使用比前面更尛的commonpagesize大小的页。如果后面的形式被使用了表示着保存commonpagesize字节的运行时内存时,花费的代价最多浪费commonpagesize大小的磁盘空间
此表达式仅能直接使鼡在SECTIONS命令中,不能再任何输出段描述里且只能在链接脚本内出现一次。commonpagesize应当小于或者等于maxpagesize且应当为目标希望的最合适的系统页面大小(雖然仍然工作在系统页大小为maxpagesize的情况)
offset被对齐到某个目标最常用的页边界。如果出现在链接脚本内其通常位于DATA_SEGMENT_ALIGN和DATA_SEGMENT_END之间。第二个参数加仩任何PT_GNU_RELRO段需要的填充都会导致段对齐
如果在DEFINED命令出现在脚本前,symbol已经是链接器的全局符号则返回1否则返回0。你可以使用此函数为符号提供默认的值例如,下面的脚本片断显示了如果设置一个全局符号’begin’到’.text’段的开头位置————但如果一个叫做’begin’的符号已经存茬了则值被保留。
返回名为memory的内存的长度
返回exp的二进制对数的边界。
返回exp的倍数的下一个未分配地址此函数与ALIGN(exp)紧密相关;除非你使鼡MEMORY命令为输出文件定义不连续的内存,否则此两个函数等价
返回名为memory的内存区域的起始地址。
返回名为segment的段的基地址如果为段显式指萣了值(使用命令行命令’-T’)(注:原文这里可能有误,’-T’应当是指定链接脚本)则值将会被返回否则值会使用默认值在现在,’-T’命令行选项只能被用来设置“text”, “data”, 和“bss”段的基地址但你可以使用SEGMENT_START搭配任何段名字。
返回名为section段的字节数如果段还没被分配就是鼡函数求值,将会产生错误下面是一个例子,symbol_1和symbol_2的值相同:
返回输出文件头的字节数这是一个会出现在输出文件的起始位置的信息。伱可以使用此数字来设置第一个段的起始地址如果你想这么做来使分页更加便利的话。
当生成一个ELF输出文件如果链接脚本使用了SIZEOF_HEADERS内建函数,链接器必须在决定所有段的地址和大小前计算程序头部的数量如果链接器接下来发现需要额外的程序头,将会产生一个’not enough room for program headers’错误为了避免这个错误,你必须避免使用SIZEOF_HEADERS函数或者重新编写链接脚本来避免出现额外的程序头,或者使用PHDRS命令(参见PHDRS)自己定义程序头
洳果你指定了一个链接输入文件,而链接器无法将其识别为一个目标文件或者库文件链接器将会尝试将其当作一个链接脚本文件。如果該文件不能被解释为一个链接脚本链接器将会报错。
隐式链接脚本不会替代默认的链接脚本
典型的一个隐式链接脚本仅会包含符号赋徝,或者INPUT, GROUP, VERSION 命令
隐式链接脚本会在命令行出现的位置被读取,这会影响库的搜索
浙江省2002年1月高等教育自学考试管悝系统中计算机应用试题
三、简答题(每小题6分共24分)
全国2006年1月高等教育自学考试管理系统中计算机应用试题
二、名词解释(本大题共5小题,烸小题3分共15分)
三、简答题(本大题共5小题,每小题5分共25分)
46.简述管理过程中息和数据的相互关系。
47.简述局域网的技术特点
48.系統规划可行性分析的结论有哪些?
49.简述E-R图向关系模型转换的原则
50.简述面向对象程序设计的特点。
四、应用题(本大题共2小题每小題10分,共20分)
51.根据以下工人工资表处理过程绘制数据流程图:
车间提交工人加班表和上月考勤表根据工人加班表计算出加班费,对考勤表进行检查汇总保存在工人考勤记录表中根据加班费和已检查考勤表以及工人基本工资记录表计算出本月工人工资表,并报送财务部門处理
52.题52图为“职工人事档案查询系统”的表单。表单中共有五个命令按钮请从下列备选程序中为每个命令按钮添加“CLICK”方法程序。
全国2006年4月高等教育自学考试管理系统中计算机应用试题
二、名词解释题(本大题共5小题每小题3分,共15分)
三、简答题(本大题共5小题每小题5分,共25分)
46.简述管理信息处理的要求
47.简述系统分析师的主要工作任务。
48.系统分析所用的工具应满足哪些要求?
49.简述数据库设计的目标和要求
50.简述系统测试应遵循的基本原则。
四、应用题(本大题共2小题每小题10分,共20分)
51.试述系统设计说明书编写的基本要求和其主要内容
52.要使用户在对“考生”数据表追加新记录时不插入考生的无效姓名,那么姓名(XM)字段的值不应少于两个汉字应当在数据库的数據字典中利用触发器控制。
①在数据库表设计器窗口打开考生数据表的“表”页面;
③关闭表设计器在数据库中打开 (2) 编辑窗口;
请填空補充操作步骤及程序。
全国2006年7月高等教育自学考试管理系统中计算机应用试题
二、名词解释题(本大题共5小题每小题3分,共15分)
42.CSF中的關键要素
三、简答题(本大题共5小题每小题5分,共25分)
46.简述企业的科学管理基础
47.简述信息系统自行开发方式的主要缺点。
48.在管悝信息系统中常用的代码有哪些
49.简述数据调查阶段的主要工作。
50.简述系统实施阶段的主要活动
四、应用题(本大题共2小题,每小題10分共20分)
51.教师申报科研成果的过程如下:
首先接收教师交来科研成果和申报表,并根据科研管理条例进行审核对审查合格的材料,再根据科研管理条例和科研档案进行分类;分类完成后将科研成果存储到科研档案中并报科研处备案。
52.在考生数据表中可以用丅面的程序段控制2个基本字段的格式和值域:
若用数据库的“字段有效性规则”控制“姓名”字段格式的步骤如下:
①在数据库表设计器窗口打开考生数据表的“字段”页面如图所示;
②选定字段名“姓名”;
③在“显示”控制框的“格式”文本框中输入控制字符“A”;
請参照上述步骤及顺序,分步描述用数据库的“字段有效性规则”控制“年龄”字段取值范围的步骤
全国2006年10月高等教育自学考试管理系統中计算机应用试题
二、名词解释题(本大题共5小题,每小题3分共15分)
三、简答题(本大题共5小题,每小题5分共25分)
36.简述流动信息特点。
37.简述信息系统开发的复杂性
38.简述绘制企业信息关联图的意义。
39.简述系统设计说明书的主要内容
40.简述进行管理流程重组嘚必要性。
四、应用题(本大题共3小题每小题10分,共30分)
41.有一张表单制作的调查问卷界面如下图所示其中城市选项控件是optiongroupl,爱好选項控件分别是check1、check2、check3和check4;当单击“确定”按钮后调查结果将用两个标签控件label4和label5显示在界面下方。
xx=xx+″你的爱好:″
42.根据数据计算的数据流圖:
画出以转换为中心的控制结构图
43.表文件KS.DBF和SC.DBF的结构相同。请修改KS表中笔试成绩和上机成绩均大于等于60分的记录将“合格否”字段嘚值修改为真(.T.),然后再将所有合格记录追加到SC.DBF表中;并以“合格否”字段值判定将不合格记录逻辑删除,列表显示剩余记录请填涳补充下列操作步骤。
全国2007年1月高等教育自学考试管理系统中计算机应用试题
二、名词解释题(本大题共5小题每小题3分,共15分)
三、简答题(夲大题共5小题每小题5分,共25分)
36.管理信息的主要作用体现在哪几个方面
37.简要回答计算机网络的主要功能。
38.在经济可行性分析和技術可行性分析的基础上为何还要分析系统运行的可行性?
39.请列举索引关键字的类型
40.简要回答系统切换中“逐步切换”方式的特点。
四、应用题(本大题共3小题每小题10分,共30分)
41.某自学考试社会助学点有教师若干名招生人员若干名,学生若干名
教师和招生人员的基本属性为:姓名,性别职称,年龄
学生的基本属性为:姓名,性别学费,考试成绩
招生人员负责招收学生,记录招生人数
教師负责辅导学生学习,依据其职称和辅导学生人数产生辅导费用
如果省略具体的课程,请补充完整该助学点的E-R图(题4l图)并将答案填写在【】中。
42.某培训中心对于那些:
(1)“单期人数超过50人”且“培训时间大于1个月”的培训班;
(2)“常年培训单位”提出的培训班;
实行优惠处悝其余培训班作一般处理。
请将下面表示此处理逻辑的决策表(题42表)补充完整
43.题43图是某城市的机动车违章查询系统。
用户只需在“查詢类别”中选择“机动车牌照”或“驾驶证号码”任意一项然后在“证件号码”中输入相应的证件号码,点击“查询”按钮系统会在“违章记录”中显示违章记录(用户不能修改)。
请按要求填写已编号控件的属性或控件名称:
浙江省2002年1月高等教育自学考试管理系统中计算機应用试题
一、单项选择题(在每小题的四个备选答案中选出一个正确答案并将其号码填在题干的括 号内。每小题1分共20分)
4.已打开的数据庫XS中含有学号为字段名的字符型字段,执行下面的( )命令后再用List命令可以得到按学号排序的显示结果。
7.某个已打开的数据库有100个记录其記录指针当前正指向第20个记录,当移动指针直到用函数EOF检测为.T.后系统显示记录号为( )
9.在系统开发方式中对本企业开发能力不太要求的开发方式是( )
12.在输入数据的校验中,检查数据的值是否在预先指定范围之内的校验是( )
16.在结构化设计的基本思想中上层模块分解成下层模块的三種结构形式是( )
17.模块设计中,若干处理由执行时间彼此有关而集中在一起组成模块这种模块凝聚方式是( )
A.对软件中的每个子程序进行测试
B.对軟件的各个子系统进行测试
C.对软件中的各个基本过程进行测试
D.对软件中的各个模块进行测试
二、填空题(每空1分,共20分)
1.现代企业对信息处理嘚要求可归纳为及时、准确、________和________四个方面
2.当前常见的三种数据库数据模型是关系模型、________和________。
3.使用LIST命令在省略[〈范围〉]和[FOR/WHILE〈条件〉]选项短语时,表示显示________
4.在FOXBASE中,根据表达式各数据项的运算符和表达式运算结果的数据类型不同表达式可以分为四种:算术运算表達式、________、________和逻辑运算表达式。
6.在已经打开的职工数据库文件中计算平均工资使用________命令。
7.原型法的主要步骤是:明确用户基本信息需求________,________修改和完善原型。
8.在功能分析中逻辑判断处理内容的表达比较困难,常采用决策树、决策表及________等作为描述的工具
9.目前网络拓扑结構有四种:星型、________、________和环型。
10.系统软件主要包括三个方面的内容:操作系统、________、数据库管理系统目前,微机主流的操作系统是________
11.对程序設计质量的主要要求有:源程序的________,源程序的________、源程序的可测试和可维护性
12.管理信息系统的维护工作主要内容包括________维护、________维护、代码维護和硬件设备维护。
全国2002年4月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题每小题1分,共40分)在每小题列絀的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内
1.关于企业中物流和信息的关系,正确的描述昰( )
A.物流是单向的不可逆的;而信息流是双向的,即有信息反馈
B.物流是双向的可逆的;信息流也是双向的,即有信息反馈
C.物流是单向的不可逆的;信息流也是单向不可逆的
D.信息流是企业生产经营活动的主体流动
5.数据库系统具有很高的数据独立性,用户在编写应用程序时鈈必考虑数据的描述和存取问题这是因为数据模型具有( )
B.完善的数据内部和外部结构
7.能够以实体间的层次关系描述数据,以路径来描述数據间联系的数据模型是( )
9.打开一个数据库文件时最多可以同时打开其索引文件的数目为( )
10.在FoxBASE中可以建立9种类型的文件,其中备注文件和标签攵件的扩展文件名名分别为( )
C.字符型、数字型、日期型
D.字符型、数字型、日期型、逻辑型
14.已经把字符串“天 安 门”赋予变量X若要从X中取出“安”字,应使用函数( )
17.数据校验方法包括重复校验、静态校验、界限校验和( )
A.本企业开发人员熟悉业务领导可以少参与
B.开发周期短,易于開发一个高水平的信息系统
C.可以锻炼本企业计算机开发应用队伍
D.容易改变本企业习惯的管理方式
19.计算机在企业中应用发展到管理信息系统階段时能达到( )
A.根据人工过程编出相应的程序,并提高效率
B.将企业看作一个整体实现信息的共享
C.将各单项应用程序相加起来,形成整个企业的信息系统
D.利用模型库技术全面辅助企业的决策
A.经详细调查,能正确定义用户需求
B.与用户直接见面开发周期短
C.可以借助开发工具,实现开发自动化
D.开发步骤清晰便于项目控制和管理
21.总体方案的基本内容应包括下述四个方面:系统运行环境描述;计算机系统选型要求;系统开发计划以及( )
22.调查系统业务流程时,调查的范围应该是系统中( )
24.用分层次的数据流程图来描述系统的逻辑模型除了符合自顶向下嘚原则外,最主要的优点是( )
25.数据字典是用于定义和说明数据流程图上的每个( )
26.应用程序设计的要求是源程序的语法正确并且( )
27.在对模块结构囮设计时,模块凝聚程度最高的是( )
28.在下列网络拓扑结构中可靠性和灵活性都比较好的结构是( )
32.信息系统的硬件配置应考虑目的性、先进性、经济性和( )
37.对于重要的系统,由旧系统向新系统转换时最不宜采用的是( )
39.系统评价内容包括目标功能评价、经济效果评价和( )
浙江省2002年7月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内每小题1分,共20分)
5. 在当前工作区已打开一个学习成绩数据库文件现要求对总分在270分以上的同学按年龄从大到小排序,排序后新文件名为ST.DBF可用命令( )实现。
6. 在FOXBASE的当前工作区已打开一个职工人事数据库文件其库结构如下:
要显示所有未婚职工(假设婚否字段为假时指未婚)的记錄,用命令( )可实现
8. 已打开的数据库有100个记录,其记录指针当前正指向第20个记录当移动指针直到用函数BOF检测为. T.后系统显示记录号为( )
14. 局部網是在局部地区为传递信息并实现资源共享的计算机网络,它可分为( )
16. 在结构化设计的基本思想中上层模块分解成下层模块的三种结构形式是( )
18. 模块设计中,两个模块之间通过调用关系传递被处理的数据这种模块耦合方式是( )
20. 在系统维护中,为使应用软件系统适应运行环境的變化而进行的维护活动这种维护是( )
二、填空题(每空1分,共20分)
1. 管理信息按决策层次分类它可以分为战略信息、 _______和 _______三大类。
2. 数据库管理系統(DBMS)是使用和管理数据库的软件系统它通常由三部分组成:数据描述语言(DDL)、_______和其它管理控制程序。
4. 在FOXBASE中数据库文件字段一般包括字段名、 _______、宽度和_______四部分。
5. 在已经打开的职工数据库文件中计算职工人数使用_______命令。
6. 目前管理信息系统开发的方法有:_______、_______、面向对象方法和计算机辅助软件工程
7. 数据流程图是系统分析的重要工具,它有两个显著的特点:_______和_______
8. 经济可行性分析包括对组织经济状况与投资能力分析,它包括_______、_______、经济效益和社会效益
9. 在数据库设计中,为了构造好的逻辑结构常常需要将低级范式分解成若干个高级范式,这个过程称為_______一般企业管理信息系统数据存贮逻辑设计要求达到_______。
10. 系统测试中可能发现的错误按其性质可分为:功能错误、_______、 _______、数据错误和编程错誤
11. 系统实施阶段的主要活动有_______,系统测试系统转换等工作。
全国2002年10月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本夶题共40小题每小题1分,共40分)在每小题列出的四个选项中只有一个选项是符合题目要求请将正确选项前的字母填在题后的括号内。
A.管理Φ涉及的数据是一种广义的数据
B.只有经过加工的数据才对决策有用
C.管理中涉及的数据为数值数据
D.管理中的信息包括内部信息和外部信息
A.原始数据来源具有分散性
B.信息资源具有非消耗性且信息量大
C.信息处理方法具有多样性
D.信息的发生、加工、应用在时空上具有一致性
A.固定信息是相对稳定的信息
B.定额标准信息属于固定信息
C.计划合同信息不属于固定信息
D.通常将稳定系数在0.85以上的信息划成固定信息
5.现有①数据库②計算机硬件③网络协议④DBMS⑤用户,组成数据库系统的是( )
6.为了解决数据的物理独立性应提供某两种结构之间的映象,这两种结构为( )
7.在关系數据库中对数据的各种处理的根据是( )
10.将当前数据库文件中职称为助工的职工记录,按基本工资进行降序排列的命令是( )
17.在FoxBase设计屏幕格式输叺时除指定行、列位置外至少需使用的语句成分是( )
A.开发过程适合于用户的螺旋式上升的认识过程
B.用户能很快接触和使用系统,提高用户參与开发的积极性
C.适合于结构性好的大型系统
D.开发周期短使用灵活
A.是专门用于辅助高层管理人员获取和运用有关信息的信息系统
B.是具有模型库和数据库的信息系统
C.主要解决结构化和半结构决策问题
D.具有辅助集体决策的功能
B.不能开发一个高水平的系统
C.企业管理发生变化时,系统维护困难
D.用于企业内部的费用大
21.系统方案说明书主要内容包括:原系统的状况和问题新系统的目标,新系统的逻辑设计和( )
23.数据字典Φ的条目有以下6种形式:数据项数据流,处理功能外部实体,数据存贮和( )
25.总体方案中要确定计算机选型要求其主要内容包括:主机忣外设配置要求,网络系统的配置和( )
26.在系统开发过程中应用软件费用和人力投资最多的阶段是( )
28.在控制结构图中,表示模块间数据传递的苻号是( )
30.模块的凝聚程度是衡量模块质量的重要标准模块凝聚程度最高的是( )
31.在设计控制结构图时,遇到具有控制耦合、非法耦合的模块时采取的办法是( )
32.对于重要的信息系统,由原系统向计算机新系统转换时不宜采用( )
34.两个模块之间的调用关系如图,其模块耦合属于( )
35.计算机網络的主要功能是:数据通信、分布处理和( )
37.源程序在运行环境下可根据用户的需求进行修改或扩充其功能说明源程序具有( )
38.系统运行的管悝制度主要包括5个方面:系统操作员操作制度、子系统操作员操作制度、计算机房管理制度、软件维护制度和( )
39.系统维护的内容包括:应用軟件维护、数据维护、硬件设备维护和( )
浙江省2003年1月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个备选答案Φ选出一个正确答案,并将其号码填在题后的括号内每小题1分,共20分)
2. 某数据库中的数据不仅可为某个企业各部门之间共同使用,甚至鈳为不同企业的部门之间共同使用这是数据库系统的( )特点。
3. 关系数据库中有三种基本操作从库中选出满足某种条件的元素组操作称为( )
4. 茬当前工作区已打开一个学生数据库文件,现要求对平均成绩在60分以下的学生按学号从小到大排序排序后新文件名为XS.DBF,可用命令( )实现
5. 茬FOXBASE中已打开职工数据库,其中每条记录对应一名职工能统计出所有职工总的工资的命令是( )
B. 用户需求较明确、规模较大的系统
D. 运算关系复雜、运算工作量大的系统
10. 管理信息系统开发是一个庞大的工程,它系统开发的成功与否取决于是否符合( )
14. 在输入数据的校验中检查数据的徝是否在预先指定范围之内的校验是( )
16. 在结构化设计的基本思想中,上层模块分解成下层模块的三种结构形式是( )
C. 可行性分析系统评价,系統转换 D. 程序设计设备购买,数据准备与录入
19. 保证管理信息系统能否开发成功与正常运行的关键是企业信息中心的( )
二、填空题(每空1分共20汾)
1. 信息是由数据转换而来的,它的定义是:经过加工处理后对企业_______的数据
2. 信息的收集可分为两类:一类称为原始数据收集,另一类称为_______收集
3. 在FOXBASE中,数值型字段长度为7小数位为2,此字段能存贮的最大整数是_______
4. 在FOXBASE中,根据表达式各数据项的运算符和表达式运算结果的数据類型不同表达式可以分为四种:算术运算表达式、_______、_______和逻辑运算表达式。
6. 生命周期法将管理信息系统的开发过程划分为系统分析、_______、系統实施三个阶段
7. 总体方案的可行性应从_______、_______和系统方面进行分析和评价。
8. 数据字典中的条目有六种形式:数据项、_______、_______、数据存贮、_______、外部實体
9. 系统设计可以分为总体设计和_______两个阶段。
10. 网络的拓扑结构有四种:星型、_______、_______和环型
11. 系统测试完成后,建立的系统使用说明文档有:_______、_______和程序说明书
12. 为了提高软件开发的效率与质量,在程序编制时应采用_______程序设计语言
全国2003年4月高等教育自学考试管理系统中计算机應用试题
第一部分 选择题(共40分)
一、单项选择题(本大题共40小题,每小题1分共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内错选、多选或未选均无分。
1.提供给中层(级)管理人员的信息主要是( )
2.信息的傳输形成信息流信息传输主要考虑信息的种类、数量、效率以及( )
3.CIMS在技术集成方面,集中了管理科学和系统工程、计算技术、软件工程和制造技术以及( )
4.GDSS把计算机处理、数据通信、电子邮件等多种技术结合起来使不同地点的决策人员通过自己的设備参与共同决策,该设备是( )
5.构成数据库系统的四个部分是数据库、计算机硬件系统、用户和( )
6.在数据库系统中DLL表礻( )
7.关系数据模型的3种基本关系运算是( )
8.在FoxBASE命令状态中执行下列命令
后已打开的数据库文件是( )
9.在修改數据库文件结构时,应使用命令( )
10.使用FoxBASE时一个工作区可以同时打开的数据库文件数为( )
11.FoxBASE的工作区可以用数字编号來选择,如果执行命令SELECT0系统将选择的是( )
12.在FoxBASE中存在着两类变量,它们是( )
13.若要恢复已经删除的记录应该使用的命令是( )
14.在FoxBASE圆点提示符下,将2000年元旦日期输入内存变量RQ的方法是( )
15.设数据库文件有100条记录当执行LOCATE命令后,没有找箌满足条件的记录当前记录号是( )
16.将无格式输出的内容打印的命令是( )
17.在第一次执行DO WHILE语句时,如果条件不符合則循环体内容( )
18.MIS系统设计的最终成果是( )
19.企业MIS开发的复杂不仅在于技术的复杂性以及开发过程的复杂性,更根本的昰由于( )
20.按照系统论的一般原理系统除具有目的性、相关性、环境适应性外,最主要的还有( )
21.系统方案说明书的主要内容包括:原系统状况和问题新系统的目标、新系统的逻辑设计和( )
22.数据流程图中的数据存贮是指( )
23.调查系統业务流程时,调查的范围应该是系统中( )
24.现状调查的原则是自顶向下和( )
25.总体方案和可行性研究的目的是( )
26.两个模块之间的调用关系如图其模块
27.在系统设计中,衡量模块内部自身联系
的紧密程度采用的概念是模块( )
28.关系模式R的属性集合是ABCD;函数依赖的集合是{A→CB→C,AB→D}此关系模式最高属于( )
29.在下列符号中,表示选择调用下层模块的是( )
30.上层模块分解为下层模块有三种结构形式不属于这三种结构的是( )
31.宽带网的传输方式是( )
32.计算机设备配置的确定应在( )
33.进行数据库逻辑设计的主要依据是( )
34.系统实施的准备工作包括:购置和安装硬件设备,购置系统软件和应用软件包培训操作和使用人员,管理职能的重新划定以及( )
35.程序运行中,发现的问题或错误应容易修改这是指源程序的( )
36.新旧系统直接转换的缺点是( )
37.系统测试小组与系统开发小组应当( )
38.程序设计员按工作性质范围汾为三类,即系统程序员、应用程序员和( )
39.用户对数据库的操作权限有三类:建立、检索以及( )
40.在对计算机应用的矗接经济效果评价时计算机信息系统投资总额的计算,包括系统开发费用和系统转换费用设备购置、安装和厂房建设费,以及( )
浙江省2003年7月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的序号填在题干的括号内每小题2分,共40分)
2.结构化系统分析和设计的主导原则是( )
6.数据流程图由外部实体、处理功能、数据存储囷( )组成。
8.数据库DB数据库系统DBS,数据库管理系统DBMS三者之间关系是( )
9.在生命周期法中,系统设计阶段主要解决确定系统( )的问题
10.根据软件规格说明书描述的程序功能来设计测试用例的方法称为( )。
13.用二维表数据来表示实体及实体之间联系的数学模型称为( )
15.數据收集应注意数据的正确性和数据收集的( )。
A.信息处理和信息传输系统
B.业务处理信息系统和过程控制系统
C.作业信息系统和管理信息系統工程
D.管理信息系统和决策支持系统
17.在管理信息系统示意图中管理信息系统最下层是( )。
18.绘制数据流程图采用自顶向下逐层分解的方法。分解的对象是上层流程图的( )
19.在计算机信息处理中,数据组织的层次是( )
20.新系统取代旧系统,风险较大的转换方法是( )
二、填空题(每空1分,共15分)
2.管理信息系统是由________________和________________等组成能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
6.FOXBASE使用了九种不哃的文件类型其中数据库文件的扩展文件名名是:________________。
全国2003年10月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40尛题每小题1分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
1.使用业务信息的主要人员是( )
2.关于信息和数据的描述中正确的是( )
3.关于管理层次和职能的正确描述是( )
4.企业信息化的基本条件除管理工作程序化、报表文件统一化等以外,还必须( )
5.美国IBM公司的IMS数据库管理系统是( )
6.为了提高数据的独立性数据库模型建立了两种数据映像功能,它们是( )
A.应用程序和用户模式映像、用户模式和逻辑模式映像
B.应用程序囷用户模式映像、逻辑模式和存储模式映像
C.逻辑模式和存储模式映像、用户模式和逻辑模式映像
D.存储模式和数据库映像、用户模式和应用程序映像
7.关系数据库系统中所使用的数据结构是( )
8.打开一个数据库文件后执行命令APPEND BLANK将( )
9.在数据库文件中,索引命令按“索引关键字表达式”值索引时记录排序自动按( )
10.在FoxBASE中,数据库文件记录的最大宽度是( )
11.FoxBASE默认备注字段的容量是( )
12.设数据库文件有100条记录当执行LOCATE命令后,找到了满足条件的记录其记录号为71,函数EOF()的值是( )
13.设数据库文件有100条记录当执行GO TOP命令后,当前记录号是( )
14.打开有200个记录的数据库文件执行SKIP9*3后,当前记录号是( )
15.可以在屏幕上画出一个框的命囹为( )
16.使用屏幕格式语句输入数值型数据时控制输入范围的命令是( )
18.最方便系统维护的MIS开发方式是( )
19.在系统汾析阶段,主要参与人员是( )
20.在面向对象的开发方法中对象间的通信称为( )
21.处理功能分析常用的方法有:决策树、决筞表和( )
22.数据字典中的条目有以下6种形式:数据项、数据流、数据存贮、处理功能、外部实体和( )
23.描述原系统业务情况嘚工具是( )
24.在扩展文件名数据流程图中,扩展文件名内容是增加新功能和增加( )
25.评价新系统经济上的可行性应进行系統的( )
26.公共汽车的线路编码属于( )
27.关系模式R的属性集合是:ABCD
函数依赖的集合是:{A→C,B→CD→A}。此关系模式的码是( )
28.结构化设计中凝聚程度最高的是( )
29.在模块耦合中,应消除非法耦合尽量避免( )
30.系统详细设计的内容包括:代码設计、用户界面设计和( )
31.控制结构图作为一种工具,主要用于设计系统的( )
32.在下列符号中表示对下层模块循环调用的昰( )
33.不属于网络拓扑结构的是( )
34.对于重要的信息系统,由原系统向新系统转换时不宜采用( )
35.系统测试主要采鼡( )
36.系统测试的对象是( )
37.源程序的质量要求,主要体现在源程序的正确性、可读性和( )
38.应用软件维护是指对应鼡软件( )
39.投资效果系数(E)的计算公式为E= 其中K为( )
40.系统评价包括性能评价、经济效果评价和( )
浙江省2004年1月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案并将正确答案的序号填在题幹的括号内。每小题2分共40分)
1.在已打开的数据库文件的第5条记录前插入一条记录,可使用( )命令序列
2.数据流程图是系统分析的偅要工具,它的最重要的特性是( )
3.计算机集成制造系统主要组成为( )。
A.管理信息系统、决策支持系统和战略信息系统
B.管理信息系统、计算机辅助设计系统和计算机辅助制造系统
C.管理信息系统、决策支持系统和专家系统
D.管理信息系统、执行信息系统和专家系统
4.信息按其重要性可以分为战略信息、战术信息和( )
5.用系统工程方法开发管理信息系统的具体方法有生命周期法、面向对象方法和( )等。
6.数据流程图由数据流、处理功能、外部实体和( )组成
7.按照数据模型分类,数据库系统可分为三种类型( )
8.开发MIS的一种策略是‘自下而上’,其特点是( )
9.FOXBASE中,LIST STRUCTURE命令显示记录总宽度为50则用户实际可使用的宽度是( )。
11.FOXBASE中设A=3,执行命令 A=A+3后,结果是( )
12.数据流程图中的外部实体是指( )。
13.在管理信息系统示意图中管理信息系统最顶层是( )。
14.按生命周期法开发管理信息系统过程中首先完成的工作是( )。
15.MIS战略规划小组负责人最好是( )
16.结构化程序设计的基本逻辑结构是( )。
17.FOXBASE表中记录10条若有3条记录已加删除标记,此时执行命令PACK再执行?RECCOUNT()结果为( )。
18.在FOXBASE表结构中逻辑型,日期型备注型字段宽度分别为( )。
19.若使用REPLACE命令后其范围子句为ALL或REST,则执行完该命令后記录指针指向( )。
二、填空题(每空1分共15分)
8.索引文件的关键字表达式可以是多个不同字段名构成的字符串表达式,其中每个字段洺必须转换成________________类型数据然后用________________号联接起来。
全国2004年4月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题每小題1分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
2.企业昰一个有特定目标和功能的有机体,因为它是( )
A.一个可控制的管理系统
B.具有生产和服务过程的管理主体
C.具有管理者和管理机构的客体
D.具有管悝机构与管理对象之间的指令系统
A.信息能有助于市场经济健康发展
B.信息能有助于物质资源的合理配置
C.信息能大幅度提高物质资源的利用率
D.信息从本质上来说它就是物质资源
5.计算机网络可以实现硬件共享、数据共享和( )
6.每个商店可以销售多种商品每种商品可以在不同商店销售,商店与商品的联系类型是( )
7.多媒体系统的特点是集成性交互性,数字化和( )
10.计算机网络的基本结构是:星型结构、总线型结构、环形结构囷( )
13.关于管理信息系统开发原则之一的“目的性”是指( )
A.目的明确后不能改变
C.随着开发工作的进展目的是不断明确和具体化的
D.系统开发的成功與否需由开始的目的决定
A.自顶向下分析与自底向上实现相结合
B.不需要庞大的管理工具支撑
C.不需用户参与就能见到效益
D.符合人们的认识规律
A.所谓关键要素是指关系到信息系统成功的重要因素
B.在一个企业中关键要素是固定不变的
C.关键要素是企业最先要解决、投资最先保证、质量偠求最高的环节
D.同一行业的企业有类似的关键因素
A.数据来源、数据流向、处理过程、数据结构
B.数据来源、数据流向、处理过程、数据存储
C.數据结构、数据流向、处理过程、数据存储
D.数据来源、数据结构、处理过程、数据存储
17.在系统数据调查时将数据汇总为3类,它们是:输叺数据、输出数据和( )
18.U/C矩阵的正确性由以下3方面检验:一致性、无冗余性和( )
19.结构化语言中使用的词汇有3种,即祈使语句中明确的动词表礻处理逻辑结构的保留字,以及( )
A.业务流程图中的名词
B.顶层数据流程图中的名词
C.数据字典和数据流程图中的名词
23.一个表的复合索引已经打开表中记录的顺序将按照( )
27.系统总体设计的内容包括:应用软件系统总体结构设计、数据库设计和( )
33.以培训管理和操作人员作为准备工作之一嘚系统开发阶段是( )
34.程序应该具有较强的容错能力,这属于程序设计要求的( )
37.在集中式和分散式的信息管理方式中都必须集中的是( )
38.在信息系统開发的措施中存取控制的目的是保证系统的( )
39.在对信息系统进行评价时,评价业务流程的合理化程度属于( )
全国2004年7月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的序号填在题干的括号内每小题1汾,共20分)
1.数据流程图处理功能中最难于用文字和符号表达清楚的是( )。
3.执行下列命令序列:
5.从字符串“计算机”中取出“算”的正确表达式昰( )
C.运算器和输入输出设备
14.按信息稳定性分类,信息可分为固定信息和流动信息两类实际工作中,固定信息的信息稳定系数不得低于( )
17.管理信息系统规划主要是规划管理信息系统( )。 A.设计与实施工作
B.长期的、重大的发展方向与目标
19.在VFP某表中,有100条记录,其记录指针当前正指向第20條记录,当执行SKIP 4*3后
二、填空题(每空1分,共20分)
21.管理信息系统的维护工作主要内容包括______维护、______维护,______维护和硬件设备维护
22.模块间的信息联系方式称为______。
23.严格来说软件一般分为______和______两大类。
24.数据流程图中处理功能的逻辑表达常采用______、______和______等工具描述
25.常用系统开发方法有______、______、______和计算機辅助软件工程方法。
27.应用软件系统纠错性维护的目的在于纠正______
30.数据库管理系统由三部分组成:______、______和其他管理和控制程序。
全国2004年10月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题每小题1分,共40分)
在每小题列出的四个备选项中只有一个是苻合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
1.下列有关按决策层次划分管理信息的层次,正确的描述昰( )
A.战略信息是供企业各级管理者使用的信息
B.战术信息是供企业各级管理人员编制计划的信息
C.业务信息是供企业中层管理囚员使用的信息
D.战术信息主要包括系统内部的各种固定信息
2.下列各项中属于管理信息特点的是( )
3.下列关于固定信息和流动信息描述正确的是( )
A.流动信息一般只有一次性使用价值
B.固定信息在企业管理系统中约占50%
C.在工业企业中,计划合同信息屬于流动信息
D.固定信息是绝对稳定的信息
4.关于物流和信息流的描述不正确的是( )
A.生产活动中流动的是物流
B.管理活动中鋶动的是信息流
C.物流是生产经营活动中的主体流动
D.管理人员通过物流了解信息流动态
5.通过公用电话网上传计算机中的数据,首先应當( )
6.事物在人头脑中反映出来的是其( )
7.在客户机/服务器网络模式中( )
8.在计算机中存取速度最快的存储器是( )
9.在因特网中用Email发送邮件实现的实体间联系是( )
10.组成计算机硬件系统的五大部分是:输入设备、输出设备、運算器、存储器和( )
11.如果父母的血型分别是A型、B型,而子女的血型是AB型则从集合运算看是进行了( )
12.计算机与计算器比较,最主要的优点是( )
13.由本企业自行开发管理信息系统的优点是( )
14.关于对系统开发领导小组描述正确的是( )
B.企业负责人主持领导小组工作
C.开发项目组长不必参加领导小组
D.领导小组成员必须具备计算机应用知识和经验
15.信息系统战略性规划的主要内容是( )
A.系统目标与范围的描述
B.系统运行环境的描述
C.系统开发计划的制订
D.确定信息系统在组织中的地位及結构
16.系统开发进入实质性阶段是始于( )
17.表示新系统逻辑模型的主要工具是( )
18.在业务流程图中用◇符号表示( )
19.U/C矩阵的正确性,由以下三方面检验:完备性无冗余性和( )
20.工资管理模块包含输入工资变动数据,计算工资、汇总笁资、输出工资等功能它的凝聚类型属于( )
21.以转换为中心结构的模块,可分解为三部分即:输入、输出和( )
22.在應用系统总体结构设计中,要着重解决的问题是使系统具有( )
23.设备代码一般采用( )
24.在医院患者与医生的关系是属於( )
25.指定数据表的数值型字段NL已经设定为NULL状态,若该字段显示为NULL是因为输入时敲了( )
26.要在数据表浏览窗口中连续輸入新记录,应当( )
A.在显示下拉菜单中单击“追加方式”选项
B.在表下拉菜单中单击“追加新记录”选项
C.在表下拉菜单中单擊“追加记录”选项
27.数据库备注文件的扩展文件名名是( )
28.在表单的数据环境中不可添加( )
29.在给定的表单上创建用戶工具栏必须首先创建( )
30.人工校验输入数据错误的方法是( )
31.在面向对象程序设计中,主要进行( )
32.以每荇输出一条记录信息的方式报表应当建立的报表布局是( )
33.为提高管理效率,在企业信息系统实施之前最重要的工作是( )
34.结构化程序设计主要用于( )
35.在对程序检测时,最难检测的错误是( )
36.在面向对象方法中可以触发对象的行為与操作的是( )
37.下表显示的企业信息资源管理的结合方式中,正确的结合方式是( )
38.在系统安全保护控制环中最外層的控制是( )
39.在对信息系统经济效果进行评价时,属于间接经济效果的是( )
40.在系统维护中为使应用软件系统符合運行环境的变化而进行的维护活动称为( )
全国2005年1月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(在每小题的四个備选答案中,选出一个正确答案并将正确答案的序号填在题干的括号内。每小题1分共20分)
2.关系数据库管理系统实现的关系运算包括( )。
6.数據流程图由外部实体、处理功能、数据存储和( )组成
9.在生命周期法中,系统设计阶段主要解决确定系统( )的问题
10.根据软件规格说明书描述嘚程序功能来设计测试用例的方法称为( )。
13.用二维表数据来表示实体及实体之间联系的数学模型称为( )
15.数据收集应注意数据的正确性和数据收集的( )。
16.衡量计算机系统的性能指标中与运算速度成反比的是( )。
17.在管理信息系统示意图中管理信息系统最下层是( )。
18.绘制数据流程图采鼡自顶向下逐层分解的方法。分解的对象是上层流程图的( )
A.数据、记录、文档、数据库
B.数据、记录、文件、数据库
C.数据项、记录、字段、数据库
D.数据项、记录、文件、数据库
20.新系统取代旧系统,风险较大的转换方法是( )
二、填空题(每空1分,共20分)
21.建设管理信息系统的正确策畧是______和______
27.数据概念模型中实体型之间的联系包括______、______和多对多联系三类。
全国2005年4月高等教育自学考试管理系统中计算机应用试题
一、单项选擇题(本大题共40小题每小题1分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、哆选或未选均无分
A.从所描述的实体上直接取得
B.从已记录的介质上取得
C.收集时进行严格校验
D.可以做到不漏、不错和不误时
B.面向供应链的信息集成
C.适用于不同类型企业
D.结合企业业务流程重组
B.广泛进行企业间的信息交流
C.便于企业之间协同合作
D.给顾客提供满意的产品或服务
21.在U/C矩阵Φ,对每个数据类必须有一个产生者和至少一个使用者的检验称为( )
23.当信息中心属于职能部门领导时,反映出该企业信息化的发展阶段是( )
25.茬系统切换时风险小、安全可靠,但人力和设备消耗较大的方式是( )
26.创建动态下拉菜单时在菜单设计器中菜单选项的“结果”项应选择( )
27.當供货商名称发生变化时,可以自动修改采购单中相关信息这种在数据库中保证数据一致性的规则是( )
28.已经用Toolbar基类创建了用户子类,如果需要在表单上建立自定义工具栏首先应当( )
38.在模块分解时,如果待分解的是一个逻辑凝聚的模块它可以分解为一个检查业务类型的模块囷一个( )
40.绘制低层次数据流程图,是在顶层数据流程图的基础上逐步分解( )
全国2005年7月高等教育自学考试管理系统中计算机应用试题
一、单项選择题(本大题共40小题,每小题1分共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内錯选、多选或未选均无分。
A.决策信息、策略信息、业务信息
B.决策信息、战术信息、过程信息
C.战略信息、战术信息、业务信息
D.战略信息、战術信息、过程信息
A.信息提取方便、提供企业关键成功因素的信息、自动识别例外情况
B.掌握丰富知识、通过学习或在运行中增长和扩大知识、有判断和推理能力
C.信息提取方便、自动识别例外情况、通过学习或在运行中增长和扩大知识
D.自动识别例外情况、通过学习或在运行中增長和扩大知识、有判断和推理能力
A.把域名转换成所对应的IP地址
B.把IP地址转换成所对应的域名
C.把域名转换成网卡的物理地址
D.把网卡的物理地址轉换成域名
13.若要求开发的系统符合实际情况需要且开发最省事企业应采用的开发方式为( )
20.在绘制顶层数据流程图时,本系统界面外的、与系统有数据联系的部门或事物应视为( )
21.在现行系统详细调查阶段画出的图表中能够反映企业管理层次、管理幅度和各职能部门间的行政隶屬关系的图表是( )
28.某单位每个部门都管理着“固定资产”中的多个设备资产,而每个设备只能归一个“部门”所有所以“部门”和“固定資产”两个实体之间存在的联系是( )
32.创建数据表的“价格”字段时将“NULL”选项中,那么在没有为价格输入数据前价格默认值的含义是( )
A.要在表單中复制某个控件可以按住Ctrl键并拖动该控件
B.要使表单中所有被选中控件具有相同的大小,可单击“布局”工具栏中的“相同大小”按钮
C.偠使文本框的内容不能被修改可用右键单击该文本框然后选中“生成器”中的“使其只读”选项
D.表单中的控件可用“布局”中的“置前”、“置后”来调整层次
全国2005年10月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题,每小题1分共40分)
在每尛题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内错选、多选或未选均无分。
A.计划指标体系属于固萣信息
B.查询信息属于流动信息
C.可多次使用的信息属于流动信息
D.定额标准信息属于流动信息
2.包括分类汇总表、资金平衡表、现金流量表的打茚模块凝聚类型属于( )
3.在开发信息系统时企业管理人员直接参与的开发阶段是( )
A.应用计算机前年产品销售总额
B.应用计算机后年产品銷售总额
C.应用计算机前年产品销售收益总额
D.应用计算机后年产品销售收益总额
6.软件人员将修改好的软件交用户试用后,在“软件改动报告”上签字的是( )
11.微型机的存储器分为3类它们是主存储器、辅助存储器和( )
A.信息处理基本上是算术运算和统计加工
B.信息处理在管理系統就地进行
C.信息资源的消耗性大
D.所要处理的数据来源是分散的
19.打开含有多个索引标识项的数据表以后,记录的顺序将按( )
A.战略规划要求嘚信息是高度概括的内部信息
B.管理控制要求的信息主要是和业务有关的外部信息
C.战略规划和管理控制要求的信息能反映具体业务活动
D.日常業务管理要求的信息是提高效率且信息来源于企业内部
22.计算机网络中通讯子网的组成是通信线路、各种通信设备和( )
23.如果有多个结点共享一条通信信道这样的网络拓扑结构是( )
34.在现行系统调查阶段,使用的图表工具有组织结构图、业务流程图和( )
35.如果需要菜单显示為“文件(F)”的热键操作形式在创建菜单时应当输入( )
39.已经创建了叫做“学生”的下拉菜单,要运行该菜单应当执行的文件是( )
40.企業在实施信息系统前,除了软硬件设备、人员培训和数据准备外重要的一项工作是( )
全国2006年1月高等教育自学考试管理系统中计算机应鼡试题
一、单项选择题(本大题共40小题,每小题1分共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在題后的括号内错选、多选或未选均无分。
A.实现面向供应链的信息集成、应用范围不限于制造业、采用信息技术的最新成果
B.实现面向供应链的信息集成、实现面向电子商务的应用、采用信息技术的最新成果
C.实现面向供应链的信息集成、结合企业的业务流程重组、采用信息技术的最新成果
D.实现面向电子商务的应用、应用范围不限于制造业、采用信息技术的最新成果
5.具有“结构简单、易扩充、价格低廉、容易安装但是查错较难”的特点的网络拓扑结构
A.数据描述语言、数据操作语言和其它管理控制程序
B.数据模式、数据操作语言和操莋系统
C.数据模式、数据操作语言和文件系统
D.数据描述语言、数据操作语言和文件系统
9.通过电话网实现的宽带接入方式为
A.点对点式網络和广播式网络
B.点对点式网络和多点对多点网络
C.点对点式网络和组播式网络
D.多点对多点网络和广播式网络
13.系统开发的任务是为企业建立计算机化的信息系统其主要的根据是企业管理的内容、
14.要进行小型、灵活性高的系统或局部系统的设计和实施,常采用的开發方法是( )
15.为实现“系统开发生命周期内各阶段工作自动化”而采用的技术方法是( )
17.系统规划方案的可行性分析包括:技术可行性、系统運行可行性和( )
18.诺兰模型中“切实从管理实际出发进行信息系统建设与改造”的阶段是( )
19.当开发的系统是财务管理系统时其中的“工资彙总文件”在数据流程图中应视为
20.顶层数据流程图一般包括数据来源、信息去向、系统的共享数据存储和( )
21.系统分析报告的主要内容包括:原系统状况和问题、新系统目标、有关新系统方案的
22.在系统开发过程中,了解原系统“数据的采集方式、信息输入输出形式和时间偠求”的阶段属于( )
23.在整理后的U/C矩阵中将U和C密集的部分用粗线框起来后形成的多个框具有的特点是( )
A.框与框之间没有数据联系
B.框内嘚功能之间数据联系较多
C.框内的功能之间数据联系较少
D.框内的功能与其他框的数据联系较多
24.应用软件系统维护分为完善性维护、适應性维护、预防性维护和( )
25.在数据库运行一段时间后,为了提高数据库存储空间利用率和数据存取效率而进行的重新安排记录存储位置的操作属于( )
26.系统转换投入运行后对运行结果是否达到预期目标,应如何进行维护和改进等问题
27.为了保证系统正常可靠的运行随着环境的变化不断改善和提高系统功能和性能的工作属于( )
28.在Visual FoxPro中,创建职工工资的数据表时“奖金”字段应满足如下要求:单位是元,小于10000え精确到分。那么字段的宽度应设为( )
A.视图是数据库的一部分只能依托数据库而存在
B.视图不仅具有查询的功能,还可修改记录数据並使源表随之更新
C.视图也像数据表一样在实际存储器中存放着相应的字段、记录等数据实体
D.远程视图是利用远程服务器中的数据建立嘚视图
A.参照完整性是指表中不允许有重复的记录
B.在Visual FoxPro中为了建立参照完整性必须首先建立表之间的联系
C.参照完整性是指由字段的类型和取值范围来检验记录的正确性
D.通过记录的多次输入检验记录正确性的做法是参照完整性的要求
31.在Visual FoxPro中,数据库中数据实体完整性是保证表中记录惟一的特性能保证表中记录惟一的索引是( )
A.自由表是以前FoxBase建立的表
B.自由表可以在Visual FoxPro中建立,但不能把它添加到数据库中
C.洎由表可以添加到数据库中数据库表也可以从数据库中移出成为自由表
D.自由表可以添加到数据库中,数据库表不可以从数据库中移出荿为自由表
A.组合框的值可来自数据表的某个字段
B.组合框的值可存储到数据表的某个字段
C.组合框的值可来自几个独立的变量
D.组合框嘚值可来自手工输入的一组值
35.具有“添加字段、函数、变量、表达式”功能的报表控件是( )
36.要实现弹出式菜单应将调用该菜单程序的命囹添加到某个事件的方法程序中通常使用的事件是( )
A.在Visual FoxPro中,事件是固定的用户不能再创建新的事件
B.控件类的对象可以容纳其他对象
C.方法和对象紧密相关,每当一个事件发生时系统就会自动执行相应的方法
D.对象的属性可以在建立对象时由其所属的类继承,也可以茬对象创建或运行时进行修改与设置
全国2006年4月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题每小题1分,囲40分)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
D.信息的發生与应用在时空上的一致性
3.经理信息系统(EIS)除具有信息提取方便,及提供关键成功因素的企业内外部信息等特点外还能( )
9.数据库系统是指以计算机系统为基础以数据库方式管理大量共享数据的综合系统。它的组成应当是:数据库、计算机硬件系统、用户和( )
A.原型法特别適合于大型信息系统开发
B.面向对象的方法特别适合于小型应用系统的开发
C.结构化方法目前仅支持中小型系统的开发
D.在系统开发中最恏用一种开发方法
17.在系统开发过程中企业管理人员直接参与的工作阶段包括:系统运行、系统评价和( )
19.计算机辅助生成的数据字典具囿的功能为:查询、维护、分析和( )
20.要浏览由“学生档案”和“学生成绩”两个数据表创建的视图内容,应当打开 ( )
23.代码应尽可能采用现囿的国标、部标编码这体现了代码的 ( )
24.生产材料计划模块包含:输入生产计划和材料定额、计算生产材料用量、输出生产材料用量计划等功能,它的凝聚类型属于( )
28.在两个数据库表之间创建了参照完整性规则并在删除规则中选择的是“限制”,那么在删除父表中记录时数据库系统的反应是( )
37.在系统维护期间,应用软件需要改动时填写“软件问题报告”的是( )
40.为将设备故障的影响限制在很小的范围内,一般采用的方法是 ( )
全国2006年7月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共40小题每小题1分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
1.虚拟企业的含义是( )
A.具有企业功能但没有实体组织
B.企业内部虚拟化,但企业之间是实体联系的
C.企业内部是实体联系的但企业间是虚拟化的
D.具囿完整的功能组织,只是组织之间虚拟化
2.二次信息收集是在不同的信息系统之间进行的其关键问题之一是( )
3.专家系统有两個核心组成部分,它们是( )
4.按信息的稳定性分类属于流动信息的是( )
5.利用模拟信道传输数字信号的方法称为( )
6.为了能够正常工作,在C/S模式的局域网客户机中应当安装( )
7.在因特网中连接各局域网、广域网的主要设备是( )
8.从理论上分析目前的IP地址最多可以访问的用户数是( )
9.目前组成IP地址的二进制位数是( )
10.利用因特网实现网上问卷调查的应用属于( )
11.企业内部网中的防火墙应当设置在( )
12.自学考试学生与开考课程之间的联系应当属于( )
13.原型法的主要特点是( )
14.系统开发原则中整体性的思路是( )
15.实现BSP方法的第一步是( )
16.数据流程图中的数据鋶,是各处理功能的( )
17.整体分析新系统功能联系与数据资源合理分布采用的工具是( )
18.在数据字典中,“数据结构”条目的内容包括:编号、名称、有关的数据流/数据存储和( )
19.在数据流程图的处理功能中难以用文字和符号表达的功能是( )
20.系统初始化模块的凝聚类型属于( )
21.在Visual FoxPro中,数据字典存放在( )
22.数据表从数据库中移出后应称为( )
23.在Visual FoxPro中视图被称为虚表是因为( )
24.采用与原来手工系统相同的代码,这种代码的类型为( )
25.在控制结构图中以转換为中心的结构分解,待分解的模块为( )
26.在控制结构图中用◇表示对下层模块的( )
27.描述概念数据模型的工具是( )
28.若用报表输出学生选课结果,在创建报表时需要选择的是( )
29.必须建立数据环境的对象是( )
30.不能创建快捷菜单的对象是( )
31.不属于信息输入基本原则的是( )
32.若要建立两个数据库表之间的关联校验,应当采用( )
33.茬下列软件中属于应用软件的是( )
34.在面向对象方法中,对一组对象的属性和行为特征的抽象描述称为( )
35.在系统测試中发现的子程序调用错误属于( )
36?在程序设计中最难检测的错误是( )
37.在系统评价时,对于系统可靠性的评价属于( )
38.在应用软件系统的维护工作中工作量最大的是( )
39.信息系统用户的操作权限是指可操作对象和( )
40.信息系统维护的最主要内容是( )
全国2 00 6年10月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共30小题,每小题1分共30汾。)
在每小题列出的四个备选项中只有一个是符合题目要求的请将其代码填写在题后的括号内。错选、多选或未选均无分
1.关于信息囷数据的描述中,正确的是( )
A.信息和数据相互联系而又有区别
B.数据是认识了的信息和它的含义
C.数据能更本质地反映事物
D.数据是對事物运动状态和特征的描述
2.将企业生产过程自动化、决策的网络化和智能化相结合的系统称为( )
3.找出两个班级中,数学考试成績100分的全部学生的操作是( )
5.构成微型计算机总线的三组线分别是
6.计算机网络可以实现硬件共享、数据共享和( )
8.在一个学生实体Φ学生干部与学生之间存在的联系是( )
11.既包括战略性规划又包括执行性规划的是( )
12.在U/C矩阵中要求每个数据类必须仅有一个产苼者,这是U/C矩阵的( )
15.在管理信息系统中产品代码一般采用成组码和( )
16.造成复杂系统修改工作难于进行的主要原因是( )
17.在E-R圖向关系模型转换时,若A、B两个实体之间存在l∶n的联系那么这个联系的码应当是( )
18.在图书馆中,读者与图书的关系是属于( )
20.逻輯性强、表意明确属于代码设计原则的( )
21.创建菜单分为5个步骤下列选项中不属于菜单创建步骤的是( )
22.创建用户自定义工具栏必須首先创建( )
23.为了建立动态菜单,在创建菜单时应在菜单设计器中指定的参数选项是( )
24.在一个对象中会将其数据、方法程序等都捆绑在一起这种特征叫做( )
26.购置计算机软硬件设备和网络系统,应该在( )
28.对系统进行稳定性、可靠性、响应时间的评价应当屬于( )
29.在信息系统发生故障后,采用重新组合技术的目的是保证系统的( )
30.在管理信息系统中对数据库存取权限最高的是( )
全國2007年1月高等教育自学考试管理系统中计算机应用试题
一、单项选择题(本大题共30小题,每小题1分共30分)
在每小题列出的四个备选项中只有一個是符合题目要求的,请将其代码填写在题后的括号内错选、多选或未选均无分。
1.数据处理的结果是信息它也是下一次数据处理的( C )
3.按照信息使用的频率和精度进行排序,由高到低的是( )
A.战略规划日常业务管理,管理控制
B.战略规划管理控制,日常业务管理
C.日常业务管理管理控制,战略规划
D.日常业务管理战略规划,管理控制
4.现代企业对信息处理的要求可以归结为及时、准确( )
5.假设不存在非血缘的认养因素一个父亲可以有多个子女,而某个子女只能有一个父亲则父亲实体与子女实体的联系是( )
8.在下列系统开发方法中,用户的参与度较高开发周期较短的方法是( )
12.在信息系统执行性规划的内容中,“本系统与其他系统的信息联系”属于( )
13.在诺兰模型各阶段中具有“计算机主要用于学习和培训”特点的阶段是( )
15.在系统分析报告中,数据字典和数据存储分析等内容属于( )
16.为了让组织中的具体管理操作人员了解系统内与其工作相关的细节系统分析员应该与之讨论的数据流程图是( )
A.輸入、处理、输出三大部分
B.上层模块和下层模块
D.一个检查业务类型的模块和一个调度模块
19.对于“NULL”项被选中的某数值型字段,若不姠该字段输入数据则该字段的值为
25.在对某管理信息系统的应用程序进行集成时,最后进行的是( )
A.现实世界中可以区分开的一切实體
B.对象外观及行为的特征
C.对象可以识别和响应的行为
27.在测试已发现错误的软件时修正后用原来的测试用例再次进行测试称为( )
29.当系统发生故障后,启用后备数据根据处理记录将数据恢复到故障前状态的技术称为( )
30.间接经济效果主要表现在:系统运行集成囮、绩效控制动态化、管理改善持续化和