上一篇说了下golang 语言怎么结合plan 9 assembler编写程序。
这次来开下go是怎么使用plan 9 c语言来开发一些库的,这里只是简单的使用一个简单例子进行演示。
还是看下源代码吧
#include "runtime.h"
void ·Add(int32 a,int32 b,int32 r) ;
first.h 声明first.Add方法,同时引入runtime包的runtime.h头文件。
#include "first.h"
//first.c
void ·Add(int32 a,int32 b,int32 r) {
r = a + b;
USED(&r);
}
first.c 进行了first.Add方法的定义。
package first
func Add(a,b int32) int32
first.go first.Add方法在golang语言中的声明。
package main
import "fmt"
import "first"
func main() {
fmt.Println(first.Add(int32(14),int32(13)))
}
还是那个简单的main方法,调用first.Add方法,并且把结果打印到终端。
下面看下编译运行脚本吧。
# 8c -I$GOROOT/src/pkg/runtime -I$GOROOT/pkg/runtime/linux -I$GOROOT/src/pkg/runtime/linux/386 -wF first.c
# 8g -o _go_.8 first.go
# gopack grc first.a first.8 _go_.8
# 8g -I./ main.go
# 8l -L./ -o main main.8
# ./main
27
就是这么简单。
分享到:
相关推荐
Go语言的设计受到了C语言、Pascal和Plan9的影响,同时引入了现代编程语言中的诸多特性,如内存安全和并发模型。 《尚硅谷_韩顺平_Go语言核心编程.pdf》这本教程很可能包含了Go语言的基础到高级的主题,包括但不限于...
例如,Newsqueak语言提供了一个动态创建管道的概念,Plan 9操作系统中的Alef语言则试图将Newsqueak改造为系统编程语言。Go语言从这些前驱语言中借鉴了许多特性,并在此基础上加入了自己的创新。 Go语言的创新之处...
- **罗布·派克(Rob Pike)**:曾参与**Unix**团队和**Plan9操作系统**的研发,同时也是**UTF-8字符编码**的共同创造者。 - **罗伯特·格里泽默(Robert Griesemer)**:曾经协助开发**Java的HotSpot编译器**和**Chrome...
2. **罗布·派克(Rob Pike)**:曾参与UNIX团队和Plan 9操作系统的工作,与Ken Thompson共同开发了UTF-8字符编码。他对于多语言环境的支持以及跨平台兼容性的贡献不可忽视。 3. **罗伯特·格里泽默(Robert ...
在IT行业中,Go语言,又称为Golang,是由Google开发的一种静态类型的、编译式的、垃圾回收的、并发型且具有C/C++风格语法的编程语言。Go项目管理通常涉及组织代码结构、依赖管理和构建流程。"goproject:转到项目"这...