logo头像
Snippet 博客主题

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

编写代码生成序列图等。

Linux Kernel

MSBuild

cpp-standard-library-reference

文档排版

Cpp 相关学习网站