跳到正文

文章

按时间倒序 · 共 208 篇

49What’s my IP? Understanding networking on TritonAnswers to your questions about the powerful networking features in Triton.2016-09-071 min50如何把一个软件移植到OpenBSD上这是一篇根据此文意译的文章, 我只翻译了自己认为重要的东西。作者以自己移植python的dnslib库到OpenBSD的过程来描述移植的过程。作者为Bryan Everly。此译文发表时文章发布的原域名过期,无法访问。 事前准备 找到你想移植的软件 准备好承担做一个维护者的责任 和软件的开发者/团队协作,而不是为软件加几个补丁,让它在OB上能编译通过 你很可能没有权限把软件添加到ports中,请和…2016-09-035 min51Autopilot Pattern Node.js in DockerIntroducing two new modules to make implementing Autopilot Pattern applications in Node.js even easier.2016-09-021 min52Screencast: getting started with Triton CLI and CloudAPIWatch the screencast and learn how to install the Triton CLI tool and use CloudAPI to manage containers, VMs, networks, and storage in Triton data centers.2016-08-311 min53[翻译] 简谈编译、汇编、链接和加载 – part VITanslated from: http://www.tenouk.com/ModuleW.html W.10 运行时链接器和共享库的加载 使用共享库的程序启动时或这一个程序请求动态加载一个共享对象时会触发运行时链接器。因此符号的解析可以在下面两个过程中的任一个完成。 1. 加载时动态链接。程序被从磁盘上加载到内存中,其中未解析的引用被列出,加载器找到所有需要的外部符号,把所有对这些符号的引用更改…2016-08-265 min54[翻译] 简谈编译、汇编、链接和加载 – part VW.8 运行时数据结构 一个进程就是一个运行着的程序。这意味着操作系统已经把程序的可执行文件加载到内存中,安排好了程序对它的参数和环境变量的访问权限,开始执行它的代码。通常一个进程有5个内存区域,如下表所示: | Segment | 描述 | |---|---| | 代码 - text segment | 通常称为 text segment, 这里是程序的可执行代码指令区. 比如, 当一个程序同时…2016-08-255 min55[翻译] 简谈编译、汇编、链接和加载 – part IVW. 6: 共享对象的使用方式要理解一个程序如何使用共享对象,让我们首先检查一下可执行文件的格式以及如何让程序开始运行。 w6.1一些ELF格式的细节ELF(Executable and Linking Format, 可执行与链接格式)是一个二进制格式,用于SVR4 Unix和Linux系统。它是一种在磁盘上存储程序的格式。ELF不仅简化了创建共享文件的过程,也改进了运行时模块的动态加载。 W6…2016-08-235 min56[翻译] 简谈编译、汇编、链接和加载 – part IIIW.3 重定位记录(relocation records)由于不同的对象文件会互相引用对方的代码和/或数据,所以不同的位置,这些不需要在链接时合并。比如,在下面的图中,包含main()的对象文件含有对funct()和printf()函数的调用。把所有对象文件链接在一起后,链接器使用重定位记录来定位那些需要填充的地址。 W.4 符号表汇编成机器代码的过程会把代码中所有的标签移除,对象文件格式需要把这…2016-08-225 min