豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 125 行 · 7660 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「林系统」之书。
寻观「客体二号」之「基础」之书。

「:文言:Linux 启动之备:裸机之程序名、参数与环境由内核书于程序名区与参数区;Linux 则执行器自读 /proc/self 之 exe、cmdline、environ 而书之,其后诸原语同裸机。汉语:Linux 启动准备。裸机上程序名、命令行参数与环境变量由内核在任务启动前写进程序名区与参数区;Linux 上由执行器自己读 /proc/self/exe(程序名,取绝对路径)、/proc/self/cmdline(参数,跳过第 0 个)与 /proc/self/environ(环境),按同样的布局写进去,之后的宿主原语与裸机完全相同。原始内容先读进送参数区(子任务用的缓冲区,启动时空闲)。待办事项:参数区只有 4 KiB、环境块只有 1020 字节,超出的部分直接舍弃。:」

「林目录当前」者(「减」于「零」于「一零零」)也。

「:文言:自柄读至满或至尽,返所读之总数。汉语:从句柄循环读,直到读满容量或读到文件尾,返回读到的总字节数。:」
「林读尽」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林读尽」者会「柄」而会「缓」而会「容」而会「已」而
  若「有符号大等」于「已」于「容」则
    「已」
  否则
    虑「数」者
      「林_读」于「柄」于(「加」于「缓」于「已」)于(「减」于「容」于「已」)
    而
    若「有符号小等」于「数」于「零」则
      「已」
    否则
      「林读尽」于「柄」于「缓」于「容」于(「加」于「已」于「数」)
也。

「:文言:读一文之全于缓冲;不能开则返负一。汉语:把整个文件读进缓冲(至多容量字节);打不开返回 -1。路径是以零结尾的静态串地址。:」
「林读全文」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林读全文」者会「路径」而会「缓」而会「容」而
  虑「柄」者「林_开」于「林目录当前」于「路径」于「零」于「零」而
  若「小于」于「柄」于「零」则
    (「减」于「零」于「一」)
  否则
    虑「数」者「林读尽」于「柄」于「缓」于「容」于「零」而
    虑「无」者「林_关」于「柄」而
    「数」
也。

「:文言:自起寻零字节,至止而止。汉语:从“起”往后找第一个零字节,找不到时返回“止”。:」
「林找零」乃化「整数」而化「整数」而化「整数」而「整数」也。
「林找零」者会「缓」而会「起」而会「止」而
  若「有符号大等」于「起」于「止」则
    「止」
  否则若「等零」于(「读一」于(「加」于「缓」于「起」))则
    「起」
  否则
    「林找零」于「缓」于(「加」于「起」于「一」)于「止」
也。

「:文言:书参数之项:每项长四字节加其字节,四字节对齐;逾参数区则止。汉语:把送参数区里 [起, 止) 的以零分隔的串逐项写进参数区:每项是 4 字节长度加字节、对齐到 4;写满参数区就停。返回写入的项数。:」
「林装参数项们」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「林装参数项们」者会「源」而会「起」而会「止」而会「写偏」而会「个数」而
  若「有符号大等」于「起」于「止」则
    「个数」
  否则
    虑「尾」者「林找零」于「源」于「起」于「止」而
    虑「长」者「减」于「尾」于「起」而
    虑「新偏」者
      「加」于「写偏」于(「位与」于(「加」于「长」于「七」)于(「减」于「零」于「四」))
    而
    若「大于」于「新偏」于「参数区大小」则
      「个数」
    否则
      ((「写四」于(「加」于「参数区」于「写偏」)于「长」);
        (「拷贝」于(「加」于「参数区」于(「加」于「写偏」于「四」))于(「加」于「源」于「起」)于「长」);
        「林装参数项们」于「源」于(「加」于「尾」于「一」)于「止」于「新偏」
          于(「加」于「个数」于「一」))
也。

「:文言:书环境之项:“名=值”以零终,依次相连;总长逾上限则止。汉语:把送参数区里 [起, 止) 的“名=值”串逐项拷进环境块(程序名区 + 环境偏 + 4 起,每项带结尾零);总长超过 环境上限 就停。返回写入的总长。:」
「林装环境项们」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「林装环境项们」者会「源」而会「起」而会「止」而会「已」而
  若「有符号大等」于「起」于「止」则
    「已」
  否则
    虑「尾」者「林找零」于「源」于「起」于「止」而
    虑「长」者「加」于(「减」于「尾」于「起」)于「一」而
    若「大于」于(「加」于「已」于「长」)于「环境上限」则
      「已」
    否则
      ((「拷贝」
        于(「加」于「程序名区」于(「加」于「环境偏」于(「加」于「四」于「已」)))
        于(「加」于「源」于「起」)于「长」);
        「林装环境项们」于「源」于(「加」于「尾」于「一」)于「止」
          于(「加」于「已」于「长」))
也。

「:文言:Linux 启动之备:程序名、参数与环境。汉语:Linux 启动准备:写程序名区(/proc/self/exe 的目标)、参数区(cmdline 去掉第 0 项)与环境块(environ)。:」
「林装启动」乃化「有」而「有」也。
「林装启动」者会「无」而
  虑「名长」者
    「林_读链接」于「林目录当前」于(「静态串」于『/proc/self/exe』)
    于(「加」于「程序名区」于「四」)于「程序名上限」
  而
  虑「无」者
    (「写四」于「程序名区」于(「选择」于(「小于」于「名长」于「零」)于「零」于「名长」))而
    虑「参数长」者
      「林读全文」于(「静态串」于『/proc/self/cmdline』)于「送参数区」于「参数区大小」而
      虑「首尾」者「林找零」于「送参数区」于「零」于「参数长」而
      虑「个数」者
        若「小于」于「参数长」于「零」则
          「零」
        否则
          「林装参数项们」
            于「送参数区」
            于(「加」于「首尾」于「一」)于「参数长」于「四」于「零」
      而
      虑「无」者(「写四」于「参数区」于「个数」)
      而
      虑「环境长」者
        「林读全文」于(「静态串」于『/proc/self/environ』)于「送参数区」于「参数区大小」
      而
      虑「总长」者
        若「小于」于「环境长」于「零」则「零」否则「林装环境项们」于「送参数区」于「零」于「环境长」于「零」
      而
      虑「无」者
        (「写四」于(「加」于「程序名区」于「环境偏」)于「总长」)
      而
      「清零」于「送参数区」于「参数区大小」
也。