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代碼中調用它們。