Year Read Posts in 2019
函数几种调用约定讲解
讲解函数调用约定的参数压栈和情况堆栈是调用者还是被调用者做,各种约定使用场景。
Beginner’s Guide to Linkers
详细讲解了编译器和链接器怎么工作的,针对各种特殊情况如何解决。
Position Independent Code and x86-64 libraries
位置无关代码是如何定位的,如何共享 data 区域,带来的好处等,其实没看那么清楚。
Anatomy of a Program in Memory
主要讲解虚拟内存如何分配的,每段地址保存什么内容,允许所需要的 stack 和 heap ,一般语言提供了对 stack 的管理,如果也提供了对 heap 的管理就是有垃圾回收了。
还讲解了动态链接库 二进制可以执行文件,各区域如何映射到虚拟内存中。
Windows Sysinternals
Windows Installer
gn
为 Ninja 生成编译文件的 meta-build system.
Ninja
Ninja is a small build system with a focus on speed。
GYP
GYP is a Meta-Build system: a build system that generates other build systems, similar to the CMake build tool.
用来生成 vs.sln 等。给ide使用的工程
GNU Make
make是一个工具程序(Utility software),经由读取叫做“makefile”的文件,自动化建构软件.
Building V8 with GN
Building with Gyp
use-command-line-parameters-to-install-visual-studio
visual-studio 2019 文档
visio
v8-docs
nodejs 编译错误
node-gyp
Cygwin
Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。
Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;
还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X WindowSystem。
另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。
nasm
Netwide Assembler (简称 NASM)是一款基于英特尔 x86 架构的汇编与反汇编工具。
Visio training
Networking Sequence Diagrams
各种协议沟通的序列图
EventStudio
编写代码生成序列图等。