b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(102)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

在Linux下,这些在Libc单元定义。

在过程体中,你能依据哪个参数被传递给过程来指定要采取地行动。

Exceptions and runtime errors in libraries(库的异常和运行时错误) 当在动态调入库中有异常发生但没处理时,它传播到库的外面到达调用者。如果调用程序(或库)本身是用Object Pascal编写的,可通过标准的try...except语句处理它。

注意:在Linux下,只有当库和程序使用同一套运行包(包含EH代码)创建或者都链接到ShareExcept时才可以。

若调用程序(或库)是用其它语言编写的,异常被当作操作系统的异常(异常代码:$0EEDFACE)进行处理。在操作系统异常记录的ExceptionInformation数组的第一个入口中,包含了异常地址,第二个入口包含一个指向Object Pascal异常对象的引用。

通常,你不应该使异常扩散到库的外面。在Windows下,Delphi异常映射到操作系统的异常模型,Linux没有异常模型。

若一个库没有使用SysUtils单元,它不支持异常处理。这种情况下,若库发生运行时错误,调用程序将终止。因为库没有办法知道它是否从一个Object Pascal程序进行调用,它不能调用程序的退出过程,程序只是简单地被终止,并从内存中清除。

Shared-memory manager (共享内存管理器)

在Windows下,若DLL输出的例程以长字符串或动态数组作为参数或者作为函数的返回值(不管是直接的,还是通过记录或对象封装的),那么,DLL和它的客户程序(或DLL)必须使用ShareMem单元;当一个程序或DLL调用New或GetMem分配内存,而在另一个模块中调用Dispose或FreeMem来释放内存时,上面的规则同样适用。ShareMem单元应当在程序或库的uses子句中第一个列出。

ShareMem是BORLANDMM.DLL内存管理器的接口单元,它允许在模块间共享动态分配的内存。BORLANDMM.DLL必须连同使用ShareMem单元的程序和DLL一同发布。当程序或DLL使用ShareMem时,它的内存管理器被BORLANDMM.DLL中的取代。

Linux使用glibc的malloc来管理共享内存。

Packages(包)

Packages: Overview(概述)

包是一个特殊编译库,它被用于程序、IDE或者两者同时使用。包允许你在不影响源代码的情况下重新安排代码存在的时机,这有时称为application partitioning。(Packages allow you to rearrange when code resides without affecting the source code. This is sometimes referred to as application partitioning.)

Libraries and packages

时包才能工作。

为了区分包和其它库,包被存储在文件

? 在Windows下,包的扩展名是.bpl(Borland package library)

? 在Linux下,包通常以前缀bpl开始,扩展名是.so。

通常,程序启动时包被静态调入,但你可以使用LoadPackage和UnloadPackage例程(在SysUtils单元)来动态调入包。

注意:当程序利用包时,被打包的每个单元(名)还是要出现在使用它的每个源文件的uses子句中。 Package declarations and source files(包声明和源文件)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-102.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...