Reference guide for RTL units. Document version 3.2.2
4.93 MB
2191 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
The document provides a reference guide for the Free Pascal Run-Time Library (RTL) version 3.2.2. It describes various units, functions, constants, and types available in the RTL, focusing on cross-platform compatibility, basic Unix functionality, and support for threading and signal handling. Key functions include RTLEventCreate, RTLEventSetEvent, and SafeLoadLibrary. The guide also outlines obsolete functions and their replacements. | ||
AI总结 | ||
以下是对文档《Reference guide for RTL units. Document version 3.2.2》的中文总结,语言简洁明了,重点突出核心观点和关键信息,逻辑连贯且易于理解:
---
### 文档信息
- **文档名称**: Reference guide for RTL units
- **版本号**: 3.2.2
- **发布日期**: 2021年5月
- **编写者**: Michaël Van Canneyt
---
### 1. 概述
本文档是Free Pascal Run-Time Library (RTL) 的参考指南,描述了RTL中标准单元的常量、类型、变量、函数和过程。RTL是所有Free Pascal程序的基础,包含了大多数程序使用的基础单元,并在Free Pascal支持的所有平台上可用。RTL包括以下类型的单元:
- 与Turbo Pascal和Delphi的运行时库兼容的单元。
- 用于跨平台处理键盘、鼠标和文本屏幕的单元。
- 平台特定的单元,用于实现特定平台的功能,不属于RTL核心功能。
---
### 2. 单元概述
#### 2.1 BaseUnix 单元
- **功能**: 提供基本的Unix功能,由Marco Van de Voort实现。
- **用途**: 替代Free Pascal 1.0.X版本的Linux单元,提供一个清理和可移植的功能子集。用于将Free Pascal移植到新的Unix-like平台时,应实现该单元的功能。
- **主要内容**: 包括Unix相关的常量、类型和变量,如ARG_MAX、AT_EMPTY_PATH、AT_FDCWD等。
#### 2.2 System 单元
- **功能**: 提供与系统相关的基础功能。
- **主要内容**: 包括RTL事件管理、线程管理、错误处理和库加载等功能。
---
### 3. 核心函数和CONST
#### 3.1 RTL 事件管理
RTL事件用于在多线程之间同步条件变化,主要包括以下函数:
1. **RTLEventCreate**
- 创建并初始化一个RTL事件,返回一个指向RTL事件的指针。
- 用于通知其他线程某个条件已满足。
- 需使用RTLEventDestroy释放资源。
2. **RTLEventDestroy**
- 销毁RTL事件,释放资源。
3. **RTLEventResetEvent**
- 重置事件,取消事件的已触发状态。
4. **RTLEventSetEvent**
- 触发事件,通知等待的线程。
5. **RTLEventWaitFor**
- 等待事件触发,支持指定超时时间。
#### 3.2 过时函数
- 基本事件(BasicEvent)系列函数已过时,建议改用RTL事件功能:
- BasicEventDestroy → RTLEventDestroy
- BasicEventResetEvent → RTLEventResetEvent
- BasicEventSetEvent → RTLEventSetEvent
- BasicEventWaitFor → RTLEventWaitFor
#### 3.3 错误处理
- **RunError**
- 生成运行时错误,停止程序执行。
- 示例:`RunError(106);` 会 emits错误代码106。
#### 3.4 库加载
- **SafeLoadLibrary**
- 安全加载库文件,加载后恢复当前的FPU控制字和异常掩码。
- 函数重载支持`RawByteString`和`UnicodeString`两种参数类型。
#### 3.5 常量和数据结构
- 包括与Unix信号、时间计算、内存指针和文件状态相关的常量和类型,如:
- 信号相关:RTL_SIGBUS、RTL_SIGDEFAULT、RTL_SIGFPE等。
- 时间相关:SecsPerDay、SecsPerHour、SecsPerMin。
- 指针类型:pMode、pnLink、pOff、pPid等。
- 结构体:TRLimit、SigActionRec、TSigContext、TSigInfo等。
---
### 4. 总结
本文档是Free Pascal RTL的全面参考指南,详细说明了RTL的基础单元、常量、类型、变量和函数。RTL是Free Pascal程序的核心,提供了跨平台的功能支持和与传统Pascal库的兼容性。文档特别强调了RTL事件管理的重要性,并提供了具体的函数说明,帮助开发者在多线程环境中实现高效的同步和通信。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
2184 页请下载阅读 -
文档评分