golang结合plan 9 c编程

本文通过一个简单示例展示了如何使用Go语言调用Plan9C编写的库。具体介绍了first.Add方法的实现过程,包括在C语言中定义方法、在Go中声明对应方法以及最终的编译和运行步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇说了下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
 就是这么简单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值