`
hqs7636
  • 浏览: 220997 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Phobos Runtime Library

阅读更多
(5.7更新)

注:看过 D_program (dmd1.0) D语言程序设计的人,这篇文章只需关注红色部分,以后与此书相同的部分将不再列出(网上很多)。感谢此书作者及书中提到的人员。
第一次试着翻译,如有错误请及时提出,谢谢!

Jump to: std std_windows std_linux std_c std_c_windows std_c_linux stdio

Phobos 是同 D 编译器捆绑的标准运行时库。另外,可以从wiki查看Phobos 。

哲学

Phobos 中的每个模块都尽量与下面的设计目标相符。他们只是目标而不是要求,因为 D 不是宗教,它是一种程序设计语言,并且我们认识到有时这些目标是相互矛盾并
且在某些情况下是很难达到的,这需要程序员参与来完成这些任务。

独立于机器和操作系统的接口
人们广泛认为应该尽量避免那些不必要的妨碍移植的问题。但是,这不应当被解读为要避免
访问操作系统的特殊的特征。

简单的操作应该简单
常用且简单的操作,如向文件中写入一个字节数组,应该能用简单的代码完成。目前为止,
我还没有看到那个类库简单且高效地实现了常用、基本的文件 I/O 操作。

类因该尽量互相独立
如果仅仅从文件中读取数据到字节数组中就需要一大片代码的话,是很让人泄气的。类之间
相互独立还意味着如果发现一个类有错误,可以在不重写库中其他类的前提下对类进行重
新设计。

不为 C 运行时库函数和 OS API 函数提供可有可无的封装
D 提供了对 C 运行时库函数和操作系统 API 函数的直接访问。那些可有可无的 D 封装只
会平添无尽的麻烦。

类实现应当采用 DBC
这将证明 DBC(契约式编程)的价值。这不只有助于对类进行调试,还会帮助类的用户正
确地使用类。类库中使用 DBC 会起到抛砖引玉的作用。

使用异常处理错误
参见 D 中的错误处理 。

--------------------------------------------------------------------------------

Imports 导入

Runtime library modules can be imported with the import statement. Each module falls into one of several packages:
可以用import语句导入运行时库模块,每个模块都属于一个或多个包:

std
These are the core modules.
这些是核心模块

std.windows
Modules specific to the Windows operating system.
专用于windows操作系统的模块

std.linux
Modules specific to the Linux operating system.
专用于Linux操作系统的模块

std.c
Modules that are simply interfaces to C functions. For example, interfaces to standard C library functions will be in std.c, such as std.c.stdio would be the interface to C's stdio.h.
该模块提供了对 C 函数的简单的接口。例如,对标准 C 库函数的接口在 std.c 中,如
std.c.stdio 是对 C 的 stdio.h 的接口。

std.c.windows
Modules corresponding to the C Windows API functions.
该模块提供了对 Windows API 函数的 C 语言接口。

std.c.linux
Modules corresponding to the C Linux API functions.
该模块提供了对 Linux API 函数的 C 语言接口。

etc
This is the root of a hierarchy of modules mirroring the std hierarchy. Modules in etc are not standard D modules. They are here because they are experimental, or for some other reason are not quite suitable for std, although they are still useful.
这里面是 std 层次结构的一个镜像。etc 中的模块不是标准的 D 模块。之所以单独建立一个
目录,是因为这些模块是实验性的,或者是因为它们不适合于放到 std 中,尽管它们很有
用。

--------------------------------------------------------------------------------

std: Core library modules
核心库模块

std.base64
Encode/decode base64 format.
使用base64格式的解码/译码函数

std.bind
Bind function arguments.
绑定函数自变量  (大概是对c++库 boost::bind 的包装,不太懂,以后再说。5/7)

std.bitarray
Arrays of bits.
位数组模块

std.bitmanip
Bit-level manipulation facilities.
关于位级别的操作(5/7)

std.boxer
Box/unbox types.
类型转换模块


std.compiler
Information about the D compiler implementation.
有关 D 编译器实现的信息。

std.conv
Conversion of strings to integers.
将字符串转换为正数的函数

std.ctype
Simple character classification
简单的字符分类

std.date
Date and time functions. Support locales.
日期和时间函数。支持 地区 。

std.file
Basic file operations like read, write, append.
基本的文件操作,例如:读、写和追加

std.format
Formatted conversions of values to strings.
将值(数值)格式化为字符串

std.gc
Control the garbage collector.
控制垃圾收集程序

std.intrinsic
Compiler built in intrinsic functions
编译器内建的内情函数

std.math
Include all the usual math functions like sin, cos, atan, etc.
包括所有常用的数学函数,例如:sin、cos、atan 等。

std.md5
Compute MD5 digests.
计算 MD5 摘要。

std.mmfile
Memory mapped files.
内存映射文件

object
The root class of the inheritance hierarchy
继承体系中的根类

std.openrj
Basic database.
数据库的基础模块


std.outbuffer
Assemble data into an array of bytes
装配数据到字节数组

std.path
Manipulate file names, path names, etc.
处理文件名、路径名等

std.perf
Platform-independent performance measurement and timing classes
平台独立的性能测试和计时类 (5/7)


std.process
Create/destroy threads.
创建/销毁线程

std.random
Random number generation.
生成随机数

std.recls
Recursively search file system and (currently Windows only) FTP sites.
递归搜索文件系统(当前仅windows)和FTP站点
 

std.regexp
The usual regular expression functions.
常用的正则表达式函数

std.socket
Sockets.
套接字

std.socketstream
Stream for a blocking, connected Socket.
阻塞、已连接 Socket 的流

std.stdint
Integral types for various purposes.
用于各种用途的整数类型

std.stdio
Standard I/O.
标准 I/O.

std.cstream
Stream I/O.
流I/O(和下一个的区别?)
刚查了一下std.cstream一章,它是std.c.stdio (or std.stdio) 和 std.stream 的桥接模块(5.4更新)

std.stream
Stream I/O.
流I/O

std.string
Basic string operations not covered by array ops.
数组不支持的一些基本的字符串操作

std.system
Inquire about the CPU, operating system.
查询 CPU、操作系统的信息

std.thread
One per thread. Operations to do on a thread.
对线程的操作

std.uri
Encode and decode Uniform Resource Identifiers (URIs).
URIs(统一资源标识符)的解码、译码

std.utf
Encode and decode utf character encodings.
utf编码的解码、译码

std.zip
Read/write zip archives.
读/写 zip(压缩)文件

std.zlib
Compression / Decompression of data.
数据压缩、解压缩

--------------------------------------------------------------------------------

std.windows: Modules specific to the Windows operating system
             windows操作系统的特殊模块
std.windows.syserror
Convert Windows error codes to strings.
将windows错误代码转换为字符串
--------------------------------------------------------------------------------

std.linux: Modules specific to the Linux operating system
Linux操作系统的特殊模块


--------------------------------------------------------------------------------

std.c: Interface to C functions
到 C 函数的接口

std.c.stdio
Interface to C stdio functions like printf().
到 C stdio 函数如 printf() 的接口。

--------------------------------------------------------------------------------

std.c.windows: Interface to C Windows functions
到 C Windows 函数的接口

std.c.windows.windows
Interface to Windows APIs
到 Windows API 的接口

--------------------------------------------------------------------------------

std.c.linux: Interface to C Linux functions
到 C Linux 函数的接口

std.c.linux.linux
Interface to Linux APIs
到 Linux API 的接口

--------------------------------------------------------------------------------

std.c.stdio
int printf(char* format, ...)
C printf() function.
C printf() 函数


分享到:
评论

相关推荐

    Phobos勒索专杀工具

    Phobos勒索专杀工具是一款专门针对名为Phobos的勒索病毒设计的安全软件。Phobos勒索病毒是一种恶意软件,它通过加密用户的文件并要求支付赎金来解锁,对个人和企业的数据安全构成了严重威胁。这款专杀工具的出现,...

    Phobos

    Phobos是一款与字体相关的压缩包,其名称来源于火星的最大卫星——“火卫一”Phobos。在IT行业中,字体扮演着至关重要的角色,它不仅关乎文本的可读性,还影响着用户界面的美观和用户体验。让我们深入探讨一下Phobos...

    phobos软件

    Phobos是一款专门用于检测SSR(Simple Sequence Repeat)微卫星的生物信息学软件。SSR,也称为短串联重复序列,是DNA中的一种常见变异形式,常用于遗传标记和基因定位研究。Phobos软件的出现极大地简化了对这些序列...

    Phobos:兼容Ares的C&C红色警报2

    Phobos是一个WIP社区项目,它基于和为Yuri's Revenge提供了一组新功能和修复程序,以允许注入代码。它旨在陪伴而不是取代它,因此不会引入不兼容性。 现在,您可以 (这是我的C&C改装服务器)上的专用讨论该项目。 ...

    Phobos_1.5.4-BUILDABLE-SRC:Phobos 1.5.4源代码可构建

    Phobos 1.5.4 是一个软件项目,其最新版本提供了源代码,使得开发者可以自行构建和定制。在本文中,我们将深入探讨 Phobos 1.5.4 的核心特性、构建过程以及与 Java 语言的关系。 首先,让我们了解一下 Phobos。...

    Phobos-1.9.0-BUILDABLE-SRC:Phobos 1.9.0清洁可建SRC

    [CLEAN] Phobos 1.9.0 Buildable SRC&Release 此资源已由两个人(本人和一个朋友)检查过。 我的朋友短暂浏览文件时没有找到任何东西。 我已经扫描并遍历了每个文件和lib,并更换了它们以确保它是干净的。 这是...

    Python库 | phobos-1.0.1-py3-none-any.whl

    **Python库Phobos介绍** Phobos是一个Python库,主要设计用于提高开发者的生产力,尤其是在处理数据和构建复杂系统时。它的名字来源于希腊神话中的恐惧之神,寓意着它可以帮助开发者克服编程过程中的种种困难。这个...

    Phobos_1.7.2-BUILDABLE-SRC-Non-Chinese-:phobos客户端版本1.7.2的可构建SRC。 它功能齐全而不是中文

    Phobos_1.7.2-BUILDABLE-SRC-非中文- phobos客户端版本1.7.2的可构建SRC。 它是功能齐全的,而不是中文的最佳SRC(除了原始的:p之外),所有模块均按预期工作而不会崩溃(与其他中文“ srcs”不同) Discord:336...

    Phobos-1.7.2-BUILDABLE-SRC:Phobos 1.7.2干净的可构建源

    Phobos 1.7.2 Clean Buildable Source(所有的phobos男孩实际上都给了我很大的关注)“ ur 12” xdd如此酷的复出omg可以让你没有生命 此资源已由两个人(本人和一个朋友)检查过。 我的朋友短暂浏览文件时没有找到...

    matlab代码左移-Phobos:火卫一

    matlab代码左移Phobos-版本1.0 – 2019年5月21日 由Felippe E. Amorim,Thiago C. Moulin和Olavo B. Amaral分发。 此pdf文件介绍了如何使用Phobos ================================================== ============...

    phobos-开源

    Phobos框架的核心特点包括: 1. **面向对象编程**:Phobos充分利用PHP的面向对象特性,提供了一系列预先构建的类和接口,帮助开发者快速创建和管理对象。这使得代码更易于重用,降低了代码耦合度。 2. **代码生成*...

    phobos:Blender的附加组件,允许在所见即所得的环境中创建URDF,SDF和SMURF机器人模型

    Phobos是开源3D建模软件的附加组件,可用于创建WYSIWYG机器人模型,以在和等机器人框架中使用,或在或等实时仿真中使用。 Phobos导出URDF , SDF或SMURF之类的格式以及常见的网格格式(立体光刻(.stl), Wavefront...

    .2700解密工具 phobos解密工具

    .2700勒索病毒解密工具 phobos解密工具,需要密钥才能解密。上次交了5万元给的解密工具,但是每个机器秘密是不一样的。这是工具!

    CLEAN_1.9.0_PHOBOS:Phobos 1.9.0里面有一些粗略的东西,所以我删除了这些东西

    CLEAN_1.9.0_PHOBOS Phobos 1.9.0里面有一些粗略的东西,所以我删除了这些东西变更日志: 删除了PacketUtil(极其易腐且混淆不清,但从未在客户端中使用过)。 删除了未使用的varius膨胀依赖项(从jar中删除了10 + ...

    phobos:用于Scala的高效且富有表现力的XML数据绑定库

    Phobos是一个专门为Scala设计的高效且具有高度表达能力的XML数据绑定库。它提供了强大的功能,使得在Scala中处理XML变得更为简洁和直观。在本文中,我们将深入探讨Phobos的核心特性、如何使用它以及它如何改进Scala...

    Phobos-1.9.0:几天后,Phobos的较新版本的已清除版本将无法上传1.7.2

    Phobos是一个在游戏开发社区中广泛使用的模组或插件,主要用于Minecraft游戏。Minecraft是一款沙盒式建造游戏,允许玩家通过创造和破坏不同种类的方块来构建自己的虚拟世界。Phobos模组则为游戏增加了额外的功能、...

    phobos:D编程语言的标准库

    火卫一标准库 Phobos是编译器随附的标准库。 下载 Phobos与编译器打包在一起。 您应该。 要,请进行。 Phobos在Boost Software Licence下分发。 请参阅。 我想贡献 伟大的! 请参阅。

    phobos-next:各种通用可重用D代码

    下一个phobos 其他有用的容器,算法,包装器类型,特征等。一些容器足够通用,可以在Phobos中占有一席之地。 生成文档。 公告。 包括 货柜 trie.d : trie.d完成前缀。 dynamic_array.d :具有值语义和通过.dup...

    Phobos Application:在行为测试中记录啮齿动物行为的软件-开源

    Phobos将用于记录啮齿动物在横轴运动(开场)和高架迷宫测试中的行为。 在评估每只动物的恐惧/焦虑水平后,Phobos可以立即轻松地轻松计算所有可能的实验参数。 所有提取的文件都可以很容易地合并为一个文件,以便...

Global site tag (gtag.js) - Google Analytics