今天在翻阅Golang代码时,发现了Golang调用汇编代码的方法(详见pkg/bytes)。大概要做三件事,我以用汇编实现一个判断字符串是否相等的方法Equal为例,测试一下:
准备工作,创建工程目录:
asm_demo
|--bin
|--pkg
|--src
| |--strlib
| |--demo
第一、编写平台对应的编码代码。
汇给代码文件以如下格式的命名:asm_$ARCH.s (asm_386.s, asm_amd64.s, asm_arm.s, ...),我的环境是Ubuntu 12.04 LTS amd64架构.
$ GOPATH=<youpath>/asm_demo
$ cd $GOPATH
$ cat <<EOF