豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 439 行 · 32977 字节 · UTF-8
§
寻观「标准库」之书。
寻观「编译器核心」之「网页汇编核心」之「模块结构」之书。
寻观「编译器核心」之「网页汇编核心」之「模块验证」之书。
寻观「裸机后端」之「整数降级」之书。
寻观「裸机后端」之「降级公用」之书。

「:文言:降级之目标,系统与指令之集也。系统定入口、导入入系统之途、内存增长之策、址式与可执行之式;指令之集定编码。裸机、Linux 与苹果共用同一名义地址之布:用户代码、元数据、线性内存、传参暂存、栈与动态之区。裸机与 Linux 以名义之址为实址;苹果位置无关,以全局基址为锚。汉语:寄存器降级的目标描述:操作系统 × 指令集。操作系统决定程序入口、导入如何进入系统(入口绑定表)、线性内存增长的策略、地址模式与可执行文件格式(裸机镜像、ELF 或 Mach-O);指令集决定机器编码。裸机、Linux 与 macOS 共用同一套名义地址布局(用户代码与元数据、线性内存、传参暂存、栈、动态区)。裸机与 Linux 直接用名义地址;macOS 必须位置无关,名义地址一律换成“全局基址寄存器 + 偏移”。:」

「降级系统」立「元类型」也。
  「裸机系统」立「降级系统」也。
  「Linux系统」立「降级系统」也。
  「苹果系统」立「降级系统」也。

「降级目标」立「元类型」也。
  「降级目标项」立化「降级系统」而化「爻」而「降级目标」也。

「:文言:臂为真者 ARM64,否则 AMD64。汉语:参数“臂”为真表示 ARM64,否则 AMD64。:」
「裸机目标」乃化「爻」而「降级目标」也。
「裸机目标」者会「臂」而
  「降级目标项」于「裸机系统」于「臂」
也。

「Linux目标」乃化「爻」而「降级目标」也。
「Linux目标」者会「臂」而
  「降级目标项」于「Linux系统」于「臂」
也。

「:文言:苹果之目标,位置无关,映像随机而移。汉语:macOS 目标:可执行文件必须位置无关,映像每次随机滑动。:」
「苹果目标」乃化「爻」而「降级目标」也。
「苹果目标」者会「臂」而
  「降级目标项」于「苹果系统」于「臂」
也。

「目标臂」乃化「降级目标」而「爻」也。
「目标臂」者会「标」而
  鉴「标」而
    有「降级目标项」于「系」于「臂」则「臂」
也。

「目标是裸机」乃化「降级目标」而「爻」也。
「目标是裸机」者会「标」而
  鉴「标」而
    有「降级目标项」于「系」于「臂」则
      (鉴「系」而
      有「裸机系统」则「阳」
      或有「其他」则「阴」)
也。

「目标是苹果」乃化「降级目标」而「爻」也。
「目标是苹果」者会「标」而
  鉴「标」而
    有「降级目标项」于「系」于「臂」则
      (鉴「系」而
      有「苹果系统」则「阳」
      或有「其他」则「阴」)
也。

「:文言:址式依目标:苹果位置无关,以名义之全局基址为锚;余皆绝对。汉语:按目标取地址模式:macOS 为相对址式(锚是名义全局基址),裸机与 Linux 为绝对址式。:」
「目标址式」乃化「降级目标」而化「整数」而「址式」也。
「目标址式」者会「标」而会「全局基址」而
  若「目标是苹果」于「标」则
    「相对址式」于「全局基址」
  否则
    「绝对址式」
也。

「:文言:用户代码之始址。汉语:用户代码起始地址:ARM64 为 0x40200000,AMD64 为 0x200000。:」
「目标用户基址」乃化「降级目标」而「整数」也。
「目标用户基址」者会「标」而
  若「目标臂」于「标」则
    「一零七五八三八九七六」
  否则
    「二零九七一五二」
也。

「:文言:线性内存之始址。汉语:线性内存起始地址:ARM64 为 0x40300000,AMD64 为 0x300000。:」
「目标线性基址」乃化「降级目标」而「整数」也。
「目标线性基址」者会「标」而
  若「目标臂」于「标」则
    「一零七六八八七五五二」
  否则
    「三一四五七二八」
也。

「:文言:栈之顶,苹果增其栈,以容编译器深调用。汉语:用户栈顶:macOS arm64 为 0x42400000(栈约 32 MiB),其余 ARM64 为 0x40400000,AMD64 为 0x400000。栈下界(0x403D0000、0x3D0000)由函数序言检查。:」
「目标栈顶」乃化「降级目标」而「整数」也。
「目标栈顶」者会「标」而
  若「目标是苹果」于「标」则
    「一一一一四九零五六零」
  否则若「目标臂」于「标」则
    「一零七七九三六一二八」
  否则
    「四一九四三零四」
也。

「:文言:苹果之布:代码居映像之始后一千二十四字节;数据段始于映像之始后六十四兆字节,其间之隙不映,故代码之长不改锚距。数据段载元数据、页数、线性内存、传参暂存与栈,其后为导入之槽,再后为动态之区;诸名义之址同裸机之布。汉语:macOS 布局:代码在映像起址后 1024 字节;数据段固定从映像起址后 64 MiB 开始(中间不映射),因此代码长短不影响从代码到数据的距离。数据段依次是元数据、页数、线性内存、传参暂存与栈(名义地址与裸机相同),栈顶之上是导入槽(每个 8 字节,第零个留给 ___error),再往上按 16 KiB 对齐是动态区。:」
「苹果文本区」乃「整数」也。
「苹果文本区」者「六七一零八八六四」也。

「:文言:数据段名义之始:用户基址加段偏移,向下对齐于一万六千三百八十四。汉语:数据段的名义起址:元数据起址(全局基址)向下对齐到 16 KiB。:」
「苹果数据名义起址」乃化「降级目标」而化「整数」而「整数」也。
「苹果数据名义起址」者会「标」而会「全局基址」而
  虑「基」者「目标用户基址」于「标」而
  「加」于「基」于(「乘」于(「除以」于(「减」于「全局基址」于「基」)于「一六三八四」)于「一六三八四」)
也。

「:文言:锚距:自代码之始至全局基址之运行距离。汉语:锚距:运行时从代码起址到全局基址的距离 = 数据段偏移 − 1024 + 全局基址在数据段内的偏移。:」
「苹果锚距」乃化「降级目标」而化「整数」而「整数」也。
「苹果锚距」者会「标」而会「全局基址」而
  「加」
    于(「减」于「苹果文本区」于「一零二四」)
    于(「减」于「全局基址」于(「苹果数据名义起址」于「标」于「全局基址」))
也。

「:文言:第若干导入槽之名义址,在栈顶之上。汉语:第 序 个导入槽的名义地址:栈顶 + 8 × 序。:」
「苹果导入槽址」乃化「降级目标」而化「整数」而「整数」也。
「苹果导入槽址」者会「标」而会「序」而
  「加」于(「目标栈顶」于「标」)于(「乘」于「序」于「八」)
也。

「:文言:动态之区,在导入之槽之上,对齐于一万六千三百八十四;导入至多二千零四十七。汉语:macOS 动态区名义起址:栈顶之上 16 KiB(导入槽至多 2048 个,含 ___error)。:」
「苹果动态基址」乃化「降级目标」而「整数」也。
「苹果动态基址」者会「标」而
  「加」于(「目标栈顶」于「标」)于「一六三八四」
也。

「:文言:线性内存逾八页,则迁于动态之区。汉语:线性内存超过八页后迁入的动态区起址:裸机与 Linux 的 ARM64 为 0x60000000,AMD64 为 0x8000000;macOS 见「苹果动态基址」。:」
「目标动态基址」乃化「降级目标」而「整数」也。
「目标动态基址」者会「标」而
  若「目标是苹果」于「标」则
    「苹果动态基址」于「标」
  否则若「目标臂」于「标」则
    「一六一零六一二七三六」
  否则
    「一三四二一七七二八」
也。

「:文言:导入之绑定:裸机者内核服务之号;Linux 者系统调用之号,并诸参之类,零为整数,一为线性内存之址(入系统前加线性基址);苹果者 libSystem 之函数,并诸参之类与转错之标。汉语:入口绑定:裸机导入绑定到内核服务号;Linux 导入绑定到本指令集的系统调用号,并给出每个参数的类别:零是整数(零扩展为六十四位),一是线性内存地址(进入系统前加上线性内存基址);macOS 导入绑定到 libSystem 函数(经导入槽调用),给出参数类别与是否把返回 -1 转成 -errno。:」
「导入绑定」立「元类型」也。
  「服务绑定」立化「整数」而「导入绑定」也。
  「系统调用绑定」立化「整数」而化(「列」于「整数」)而「导入绑定」也。
  「库函数绑定」立化(「列」于「整数」)而化「爻」而「导入绑定」也。
  「常量绑定」立化「整数」而「导入绑定」也。
  「基址绑定」立化「整数」而「导入绑定」也。
  「陷阱绑定」立「导入绑定」也。

「:文言:目标之号,同底层接口“取平台”之号:裸机一,Linux 二,苹果三。汉语:目标的平台号,与底层接口“取平台”的编号相同:裸机 1、Linux 2、macOS 3(Windows 将为 4)。:」
「目标平台号」乃化「降级目标」而「整数」也。
「目标平台号」者会「标」而
  若「目标是裸机」于「标」则「一」
  否则
    若「目标是苹果」于「标」则「三」否则「二」
也。

「:文言:本目标之导入模块名:裸机平台,Linux 为 Linux,苹果为苹果。汉语:本目标自己的导入模块名:裸机为“平台”,Linux 为“Linux”,macOS 为“苹果”。:」
「本目标模块名」乃化「降级目标」而「字符串」也。
「本目标模块名」者会「标」而
  若「目标是裸机」于「标」则『平台』
  否则
    若「目标是苹果」于「标」则『苹果』否则『Linux』
也。

「:文言:目标之内建导入,模块名目标:平台号者,诸目标皆绑为常量,程序以之择平台之途;内存基址低、内存基址高者,返线性内存基址之低高三十二位,以造系统所需之绝对指针(如 execve 之参数表)。汉语:目标内建导入(模块“目标”):“平台号”在每个目标上绑定为返回本目标平台号的常量桩,同一份程序(如执行器)据此在运行时选择平台实现;“内存基址低”“内存基址高”返回线性内存基址(ARM64 的 x28、AMD64 的 r9)的低、高 32 位,供程序拼出操作系统要求的绝对指针(如 execve 的参数指针表)。:」
「是目标内建导入」乃化「网页导入」而「爻」也。
「是目标内建导入」者会「项」而
  「且」
    于(「串相等」于(「项」中「零」)于『目标』)
    于(「或者」
      于(「串相等」于(「项」中「一」)于『平台号』)
      于(「或者」
        于(「串相等」于(「项」中「一」)于『内存基址低』)
        于(「串相等」于(「项」中「一」)于『内存基址高』)))
也。

「:文言:他目标之导入,绑为陷阱:一份程序兼载诸平台之途,唯本目标之途真行。汉语:是否本目标自己的导入。其他目标的导入(如 Linux 程序里的“平台”导入)绑定为陷阱桩:同一份程序可以同时带着几个平台的实现,运行时只会走本目标那一支。:」
「是本目标导入」乃化「降级目标」而化「网页导入」而「爻」也。
「是本目标导入」者会「标」而会「项」而
  「串相等」于(「项」中「零」)于(「本目标模块名」于「标」)
也。

「:文言:Linux 入口之表:名、臂之号、兼之号、诸参之类、结果之数。类者,零为整数(零扩),一为线性内存之址,二为有符号整数(符扩)。导入之模块名为 Linux,导入之名即系统调用之名。汉语:Linux 入口表:每行为 名称、ARM64 调用号、x86-64 调用号、参数类别列表、结果数。参数类别:0 整数(零扩展),1 线性内存地址(加线性基址),2 有符号整数(符号扩展,如 lseek 的偏移)。空指针参数(如 accept4 的地址)按整数 0 传。导入模块名为 Linux,导入名就是系统调用名。这是数据,不是代码;新增系统调用只加一行。至多六个参数。:」
「Linux入口表」乃
  (「列」于(「字符串」合「整数」合「整数」合(「列」于「整数」)合「整数」))
也。
「Linux入口表」者
  「列」【
    『read』与「六三」与「零」与(「列」【「零」,「一」,「零」】)与「一」,
    『write』与「六四」与「一」与(「列」【「零」,「一」,「零」】)与「一」,
    『exit_group』与「九四」与「二三一」与(「列」【「零」】)与「零」,
    『openat』与「五六」与「二五七」与(「列」【「零」,「一」,「零」,「零」】)与「一」,
    『openat2』与「四三七」与「四三七」与(「列」【「零」,「一」,「一」,「零」】)与「一」,
    『close』与「五七」与「三」与(「列」【「零」】)与「一」,
    『dup3』与「二四」与「二九二」与(「列」【「零」,「零」,「零」】)与「一」,
    『lseek』与「六二」与「八」与(「列」【「零」,「二」,「零」】)与「一」,
    『pread64』与「六七」与「一七」与(「列」【「零」,「一」,「零」,「零」】)与「一」,
    『pwrite64』与「六八」与「一八」与(「列」【「零」,「一」,「零」,「零」】)与「一」,
    『fsync』与「八二」与「七四」与(「列」【「零」】)与「一」,
    『fdatasync』与「八三」与「七五」与(「列」【「零」】)与「一」,
    『ftruncate』与「四六」与「七七」与(「列」【「零」,「零」】)与「一」,
    『fcntl』与「二五」与「七二」与(「列」【「零」,「零」,「零」】)与「一」,
    『pipe2』与「五九」与「二九三」与(「列」【「一」,「零」】)与「一」,
    『ppoll』与「七三」与「二七一」与(「列」【「一」,「零」,「一」,「零」】)与「一」,
    『clock_gettime』与「一一三」与「二二八」与(「列」【「零」,「一」】)与「一」,
    『clock_getres』与「一一四」与「二二九」与(「列」【「零」,「一」】)与「一」,
    『getrandom』与「二七八」与「三一八」与(「列」【「一」,「零」,「零」】)与「一」,
    『statx』与「二九一」与「三三二」与(「列」【「零」,「一」,「零」,「零」,「一」】)与「一」,
    『getdents64』与「六一」与「二一七」与(「列」【「零」,「一」,「零」】)与「一」,
    『mkdirat』与「三四」与「二五八」与(「列」【「零」,「一」,「零」】)与「一」,
    『unlinkat』与「三五」与「二六三」与(「列」【「零」,「一」,「零」】)与「一」,
    『renameat2』与「二七六」与「三一六」与(「列」【「零」,「一」,「零」,「一」,「零」】)与「一」,
    『readlinkat』与「七八」与「二六七」与(「列」【「零」,「一」,「一」,「零」】)与「一」,
    『ioctl』与「二九」与「一六」与(「列」【「零」,「零」,「一」】)与「一」,
    『sched_getaffinity』与「一二三」与「二零四」与(「列」【「零」,「零」,「一」】)与「一」,
    『socket』与「一九八」与「四一」与(「列」【「零」,「零」,「零」】)与「一」,
    『bind』与「二零零」与「四九」与(「列」【「零」,「一」,「零」】)与「一」,
    『listen』与「二零一」与「五零」与(「列」【「零」,「零」】)与「一」,
    『accept4』与「二四二」与「二八八」与(「列」【「零」,「零」,「零」,「零」】)与「一」,
    『connect』与「二零三」与「四二」与(「列」【「零」,「一」,「零」】)与「一」,
    『shutdown』与「二一零」与「四八」与(「列」【「零」,「零」】)与「一」,
    『getsockname』与「二零四」与「五一」与(「列」【「零」,「一」,「一」】)与「一」,
    『setsockopt』与「二零八」与「五四」与(「列」【「零」,「零」,「零」,「一」,「零」】)与「一」,
    『getsockopt』与「二零九」与「五五」与(「列」【「零」,「零」,「零」,「一」,「一」】)与「一」,
    『clone』与「二二零」与「五六」与(「列」【「零」,「零」,「零」,「零」,「零」】)与「一」,
    『execve』与「二二一」与「五九」与(「列」【「一」,「一」,「一」】)与「一」,
    『fchdir』与「五零」与「八一」与(「列」【「零」】)与「一」,
    『chdir』与「四九」与「八零」与(「列」【「一」】)与「一」,
    『rt_sigaction』与「一三四」与「一三」与(「列」【「零」,「一」,「零」,「零」】)与「一」,
    『kill』与「一二九」与「六二」与(「列」【「零」,「零」】)与「一」,
    『wait4』与「二六零」与「六一」与(「列」【「零」,「一」,「零」,「零」】)与「一」,
    『getpid』与「一七二」与「三九」与(「罄」授以「整数」)与「一」
  】
也。

「Linux入口」乃
  化「字符串」而
  (「字符串」合「整数」合「整数」合(「列」于「整数」)合「整数」)
也。
「Linux入口」者会「名」而
  递归虑「寻」其化(「列」于(「字符串」合「整数」合「整数」合(「列」于「整数」)合「整数」))而(「字符串」合「整数」
  合「整数」合(「列」于「整数」)合「整数」)者会「们」而
    鉴「们」而
      有「罄」则「发生事故」
        于(『Linux 入口表中没有此系统调用:』附「名」)
      或有「缀」于「首」于「尾」则
        若「串相等」于(「首」中「零」)于「名」则
          「首」
        否则
          「寻」于「尾」
  而
  「寻」于「Linux入口表」
也。

「:文言:苹果入口之表:名、libSystem 之符号、诸参之类、结果之数、返负一时是否以 errno 之负代之。导入之模块名为苹果。汉语:macOS 入口表:每行为 导入名、libSystem 符号名、参数类别、结果数、是否把返回 -1 转成 -errno。参数类别:0 整数、1 线性内存地址、2 有符号整数、3 可变参数中的整数、4 可变参数中的地址(可变参数按 Apple ARM64 约定放在栈上)。导入模块名为“苹果”。这是数据;新增函数只加一行。:」
「苹果入口表」乃
  (「列」于(「字符串」合「字符串」合(「列」于「整数」)合「整数」合「爻」))
也。
「苹果入口表」者
  「列」【
    『read』与『_read』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『write』与『_write』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『exit』与『_exit』与(「列」【「零」】)与「零」与「阴」,
    『openat』与『_openat』与(「列」【「零」,「一」,「零」,「三」】)与「一」与「阳」,
    『open』与『_open』与(「列」【「一」,「零」,「三」】)与「一」与「阳」,
    『close』与『_close』与(「列」【「零」】)与「一」与「阳」,
    『lseek』与『_lseek』与(「列」【「零」,「二」,「零」】)与「一」与「阳」,
    『pread』与『_pread』与(「列」【「零」,「一」,「零」,「二」】)与「一」与「阳」,
    『pwrite』与『_pwrite』与(「列」【「零」,「一」,「零」,「二」】)与「一」与「阳」,
    『fsync』与『_fsync』与(「列」【「零」】)与「一」与「阳」,
    『ftruncate』与『_ftruncate』与(「列」【「零」,「二」】)与「一」与「阳」,
    『fcntl』与『_fcntl』与(「列」【「零」,「零」,「三」】)与「一」与「阳」,
    『pipe』与『_pipe』与(「列」【「一」】)与「一」与「阳」,
    『poll』与『_poll』与(「列」【「一」,「零」,「零」】)与「一」与「阳」,
    『clock_gettime』与『_clock_gettime』与(「列」【「零」,「一」】)与「一」与「阳」,
    『clock_getres』与『_clock_getres』与(「列」【「零」,「一」】)与「一」与「阳」,
    『getentropy』与『_getentropy』与(「列」【「一」,「零」】)与「一」与「阳」,
    『fstatat』与『_fstatat』与(「列」【「零」,「一」,「一」,「零」】)与「一」与「阳」,
    『fstat』与『_fstat』与(「列」【「零」,「一」】)与「一」与「阳」,
    『getdirentries64』与『___getdirentries64』与(「列」【「零」,「一」,「零」,「一」】)与「一」与「阳」,
    『mkdirat』与『_mkdirat』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『unlinkat』与『_unlinkat』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『renameat』与『_renameat』与(「列」【「零」,「一」,「零」,「一」】)与「一」与「阳」,
    『readlinkat』与『_readlinkat』与(「列」【「零」,「一」,「一」,「零」】)与「一」与「阳」,
    『ioctl』与『_ioctl』与(「列」【「零」,「零」,「四」】)与「一」与「阳」,
    『sysctl』与『_sysctl』与(「列」【「一」,「零」,「一」,「一」,「零」,「零」】)与「一」与「阳」,
    『sysctlbyname』与『_sysctlbyname』与(「列」【「一」,「一」,「一」,「零」,「零」】)与「一」与「阳」,
    『getcwd』与『_getcwd』与(「列」【「一」,「零」】)与「一」与「阴」,
    『dup2』与『_dup2』与(「列」【「零」,「零」】)与「一」与「阳」,
    『fork』与『_fork』与(「罄」授以「整数」)与「一」与「阳」,
    『execve』与『_execve』与(「列」【「一」,「一」,「一」】)与「一」与「阳」,
    『fchdir』与『_fchdir』与(「列」【「零」】)与「一」与「阳」,
    『chdir』与『_chdir』与(「列」【「一」】)与「一」与「阳」,
    『signal』与『_signal』与(「列」【「零」,「零」】)与「一」与「阴」,
    『kill』与『_kill』与(「列」【「零」,「零」】)与「一」与「阳」,
    『waitpid』与『_waitpid』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『socket』与『_socket』与(「列」【「零」,「零」,「零」】)与「一」与「阳」,
    『bind』与『_bind』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『listen』与『_listen』与(「列」【「零」,「零」】)与「一」与「阳」,
    『accept』与『_accept』与(「列」【「零」,「零」,「零」】)与「一」与「阳」,
    『connect』与『_connect』与(「列」【「零」,「一」,「零」】)与「一」与「阳」,
    『shutdown』与『_shutdown』与(「列」【「零」,「零」】)与「一」与「阳」,
    『getsockname』与『_getsockname』与(「列」【「零」,「一」,「一」】)与「一」与「阳」,
    『setsockopt』与『_setsockopt』与(「列」【「零」,「零」,「零」,「一」,「零」】)与「一」与「阳」,
    『getsockopt』与『_getsockopt』与(「列」【「零」,「零」,「零」,「一」,「一」】)与「一」与「阳」,
    『getpid』与『_getpid』与(「罄」授以「整数」)与「一」与「阴」
  】
也。

「苹果入口」乃
  化「字符串」而
  (「字符串」合「字符串」合(「列」于「整数」)合「整数」合「爻」)
也。
「苹果入口」者会「名」而
  递归虑「寻」其化(「列」于(「字符串」合「字符串」合(「列」于「整数」)合「整数」合「爻」))而(「字符串」合
      「字符串」合(「列」于「整数」)合「整数」合「爻」)者会「们」而
        鉴「们」而
          有「罄」则「发生事故」
            于(『苹果入口表中没有此函数:』附「名」)
          或有「缀」于「首」于「尾」则
            若「串相等」于(「首」中「零」)于「名」则
              「首」
            否则
              「寻」于「尾」
  而
  「寻」于「苹果入口表」
也。

「:文言:苹果导入之验:模块名须为苹果,名在表中,签名合表。汉语:检查 macOS 导入:模块名须为“苹果”,名称在入口表中,参数数与结果数和表一致(至多八个参数)。:」
「苹果导入检」乃化「网页模块」而化「网页导入」而「有」也。
「苹果导入检」者会「模」而会「项」而
  若「非」于(「串相等」于(「项」中「零」)于『苹果』)则
    「发生事故」授以「有」于『macOS 目标只绑定“苹果”模块的导入』
  否则
    虑「行」者「苹果入口」于(「项」中「一」)而
    虑「型」者
      「网页取项」授以「网页签名」
      于『平台类型』
      于(「项」中「二」)
      于(「模」中「零」)
    而
    虑「参数数」者「长度」授以「整数」于(「行」中「二」)而
    若「大于」于「参数数」于「八」则
      「发生事故」授以「有」于『macOS 导入参数过多』
    否则若「且」于(「等于」于(「型」中「零」)于「参数数」)
    于(「等于」于(「型」中「一」)于(「行」中「三」))则
      「元」
    否则
      「发生事故」授以「有」于『macOS 导入签名与入口表不符』
也。

「:文言:导入之绑定,依目标而定:裸机之导入出自平台,Linux 之导入出自 Linux,苹果之导入出自苹果。汉语:按目标查导入的绑定。裸机导入须来自“平台”模块(见 整数降级 的服务号表);Linux 导入须来自“Linux”模块且名在入口表中;macOS 导入须来自“苹果”模块且名在入口表中。:」
「目标导入绑定」乃化「降级目标」而化「网页导入」而「导入绑定」也。
「目标导入绑定」者会「标」而会「项」而
  若「是目标内建导入」于「项」则(
    若「串相等」于(「项」中「一」)于『内存基址低』则
      「基址绑定」于「零」
    否则若「串相等」于(「项」中「一」)于『内存基址高』则
      「基址绑定」于「一」
    否则
      「常量绑定」于(「目标平台号」于「标」)
  )
  否则若「非」于(「是本目标导入」于「标」于「项」)则
    「陷阱绑定」
  否则若「目标是裸机」于「标」则
    「服务绑定」于(「裸机服务号」于「项」)
  否则若「目标是苹果」于「标」则
    (虑「行」者「苹果入口」于(「项」中「一」)而「库函数绑定」于(「行」中「二」)于(「行」中「四」))
  否则若「非」于(「串相等」于(「项」中「零」)于『Linux』)则
    「发生事故」授以「导入绑定」于『Linux 目标只绑定 Linux 模块的导入』
  否则
    虑「行」者「Linux入口」于(「项」中「一」)而
    「系统调用绑定」于(若「目标臂」于「标」则「行」中「一」否则「行」中「二」)
    于(「行」中「三」)
也。

「:文言:Linux 目标之入口:验函数之核,诸导入之签名须合入口之表,末取启动之函数。汉语:Linux 目标的启动函数号:验证函数核心,检查每个导入的参数数与结果数和入口表一致(至多六个参数,AMD64 至多四个),再找导出的“启动”。:」
「Linux函数入口」乃化「降级目标」而化「网页模块」而「整数」也。
「Linux函数入口」者会「标」而会「模」而
  虑「检」者「验证网页函数核心」于「模」而
  虑「入检」者
    「态射」授以「网页导入」授以「有」
    于(「模」中「一」)
    于(会「项」而
      若「非」于(「是本目标导入」于「标」于「项」)则「元」否则
        虑「绑」者「目标导入绑定」于「标」于「项」
        而
        虑「行」者「Linux入口」于(「项」中「一」)
        而
        虑「型」者
          「网页取项」授以「网页签名」
          于『平台类型』
          于(「项」中「二」)
          于(「模」中「零」)
        而
        虑「参数数」者「长度」授以「整数」于(「行」中「三」)
        而
        若「大于」于「参数数」于(
          若「目标臂」于「标」则「六」否则「六」)则
            「发生事故」于『Linux 导入参数过多』
        否则若「且」于(「等于」于(「型」中「零」)于「参数数」)
        于(「等于」于(「型」中「一」)于(「行」中「四」))则
          「元」
        否则
          「发生事故」于『Linux 导入签名与入口表不符』
    )
  而
  「模块启动号」于「模」
也。

「苹果函数入口」乃化「网页模块」而「整数」也。
「苹果函数入口」者会「模」而
  虑「检」者「验证网页函数核心」于「模」而
  虑「入检」者
    「态射」授以「网页导入」授以「有」
    于(「模」中「一」)
    于(会「项」而若「串相等」于(「项」中「零」)于『苹果』则「苹果导入检」于「模」于「项」否则「元」)
  而
  「模块启动号」于「模」
也。

「:文言:依目标取启动之函数号。汉语:按目标取启动函数号(含导入检查)。:」
「目标函数入口」乃化「降级目标」而化「网页模块」而「整数」也。
「目标函数入口」者会「标」而会「模」而
  若「目标是裸机」于「标」则
    「裸机函数入口」于「模」
  否则若「目标是苹果」于「标」则
    「苹果函数入口」于「模」
  否则
    「Linux函数入口」于「标」于「模」
也。

「:文言:苹果之导入槽所绑之符号,依槽序:第零为 ___error,其后依导入之序。汉语:macOS 导入槽要绑定的符号,按槽序排列:第 0 个是 ___error,其后按模块导入的顺序。:」
「苹果槽符号们」乃化「网页模块」而(「列」于「字符串」)也。
「苹果槽符号们」者会「模」而
  「缀」
    于『___error』
    于(「态射」授以「网页导入」授以「字符串」
      于(「模」中「一」)
      于(会「项」而若「串相等」于(「项」中「零」)于『苹果』则(「苹果入口」于(「项」中「一」))中「一」否则『』))
也。