Go语言可以通过使用cgo工具以及一些特定的语法来调用C语言代码。
以下是调用C语言的Go代码示例:
callc.go
的Go文件。package main
/*
#include <stdio.h>
// 声明一个外部的C函数
extern void helloFromC();
int main() {
// 调用外部的C函数
helloFromC();
return 0;
}
*/
import "C"
func main() {
// 空的main函数,必须有
}
callc.h
的C头文件,声明一个要调用的C函数。#ifndef CALLC_H
#define CALLC_H
void helloFromC();
#endif
callc.c
的C文件,实现 callc.h
中声明的函数。#include <stdio.h>
#include "callc.h"
void helloFromC() {
printf("Hello from C!\n");
}
go run callc.go
运行结果将会输出 Hello from C!
,表示成功调用了C语言代码。
以上示例展示了如何调用一个简单的C函数,你可以根据自己的需求编写更复杂的C语言代码,并在Go代码中调用它们。