把 Go 编译成动态链接库

basic

linux/amd64 或者 darwin/amd64 已经有很好的支持。

示范把 foo.go 编译成动态链接库,并用 dll.py 调用:

➜ dll ls

dll.py foo.go

//➜ dll cat foo.go

package main

import "C"

import "fmt"

//export Sum

func Sum(a......

2016-10-18

记一下编译 overlay fs 模块

overlay 号称是容器未来主流的文件系统,所以需要了解一下。

弄了个 centos 7 结果内核版本低没有这个文件系统于是编了个 4.1 的内核,底层的文件系统是 xfs 。

接下来为了能了解 overlayfs 怎么工作的,我想加上一些 print 大法。

先是在编译内核的时候把 overlay 去掉或者编译成 module ,编译成 module 的话就先禁用原装的 overlay ......

2016-02-11

动态链接库知识笔记

最近在看了一下 Linux 下动态链接库相关知识。

记录一下现在的思路,以便遗忘了能迅速找回。

如果需要了解相关知识,可以直接看最下面的参考链接。

用动态链接的理由

设想 printf 这个函数几乎所有可执行程序都要用,如果大家都把这个函数的代码拷贝到程序的镜像里面,显然浪费很多空间。

设想 printf 出bug了,适用静态链接需要重新编译整个程序,而实用动态链接则只需要替换动态链接库......

2016-01-26