freepascal杂类单元详解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
索引:DXELOAD EMU387 GETOPTS HEAPTRC IPC MMX PORTS PRINTER DXELOAD dxeload单元是Pierre Müller为Dos编写的,它允许加载一个DXE文件(一个有入口(entry point)的对象文件)到内存,并返回一个指向入口 的指针。它只在Dos下存在。 常量: 下面的常量是神奇数字(magic number),在一个DXE文件的头。 DXE_MAGIC = 类型: 下面的记录描述一个DXE文件的头。它用来确定DXE文件的神奇数字和搬迁(relocations)数。 dxe_header = record magic, symbol_offset, element_size, nrelocs : longint; end; 函数和过程: dxe_load 定义:function dxe_load(filename : string) : pointer; 描述:dxe_load将文件filename的内容加载入内存。它执行对象代码中的必要relocations,并返回一个指向入口的指针。 如果在加载或relocation过程中发生错误,会返回空指针。 返回页首 EMU387 EMU387单元是Pierre Müller为Dos编写的,它为Dos下的FPC设立了协处理器仿真(coprocessor emulation)。在其他OS平台上使用本单元不是必要的,因为他们要不根本不在没有协处理器的机器上运行,要不自己提供协处理器仿真。使用本单元的函数不是必要的,把这个单元放在你的程序的uses后来让 Dos下的协处理器仿真可用已足够。该单元的初始化代码将尝试加载协处理器仿真代码和初始化。 npxsetup 定义:procedure npxsetup(prog_name : string); 描述:npxsetup检查是否找到协处理器。如果没有,它就将文件wmemu387.dxe加载入内存,并初始化里面的代码。如果环境变量387设为N,就会加载仿真,计时有一个协处理器存在。 如果环境变量不存在,或设为其他值,这个单元会尝试检测一个协处理器单元的存在。 这个函数查找文件wmemu387.dxe通过以下方式: 1.如果环境变量EMU387已经设立,它被假定为指向wmemu387.dxe文件。 2. 如果环境变量EMU387不存在,该函数会使用prog_name的路径部分,并在那个路径里查找wmemu387.dxe文件。 调用这个函数是不必要的,因为单元的初始化代码中包含调用该函数作为第一个参数。这就是说,你应该将你的程序和wmemu387.dxe放在一起。 错误:如果产生错误,错误信息会被打印到标准错误,然后终止程序,因为任何浮点代码都是注定要失败的。 返回页首 GETOPTS 它是由Micha?l Van Canneyt编写在Linux上使用,现在也适用于所有支持的平台,这个单元提供了一种以结构化的方式处理命令行选项的机制,它让你为你的程序定义有效选项。这个单元会为你分析任何命令行选项,并通知你任何错误。 常量 No_Argument=0 : 指定一个不带参数的长选项 Required_Argument=1 :指定一个带一个参数的长选项 Optional_Argument=2 : 指定一个带可选参数的长选项 EndOfOptions=#255 : 由GETOPTS返回,getlongopts表明没有更多选项 类型 TOption = record Name : String; Has_arg : Integer; Flag : PChar; Value : Char; end; POption = ^TOption; 这个类型用来向Getlongopts传递长选项,name是选项的名称,has_arg描述该选项是否需要一个参数。Flag是一个指针指向Value,如果其为非空。POption是一个Toption类型的指针,是Getlongopts的一个参数。 变量 OptArg:String;保存选项的参数 Optind:Longint;当前参数的是第几个,当所有选项一被处理,optind是第一个非选项参数的索引。这是一个只读变量,注:它可以等同于P

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档