golangとplan 9 cを組み合わせたプログラミング
前回はgolang言語がplan 9 assemblerとどのように結合してプログラムを書くかを話しました.
今回はgoがplan 9 c言語をどのように使用してライブラリを開発したのかを開きます.ここでは簡単な例を使ってデモを行います.
やはりソースコードを見てみましょう
first.h first.を宣言するAddメソッドはruntimeパッケージのruntimeを同時に導入する.hヘッダファイル.
first.cはfirst.Addメソッドの定義.
first.go first.Addメソッドのgolang言語での宣言.
それとも簡単なmainメソッドでfirst.を呼び出しますか?Addメソッドを追加し、結果を端末に印刷します.
次に、コンパイル実行スクリプトを見てみましょう.
今回は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
は簡単です.