Go CGO使用指南 - Golang与C语言互操作实践
CGO是Go语言与C语言交互的桥梁,允许Go程序调用C代码库。掌握CGO的使用对于集成现有C库和性能优化至关重要。
- 一般在需要驱动底层、硬件等场合需要 CGO,简单的实现不需要调用(能不用则不用)
- CGO 需要手动分配、释放内存
- 使用方式如下
go
package main
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print_hello() {
printf("Hello from C!\n");
}
int add(int a, int b) {
return a + b;
}
*/
import "C"
import (
"fmt"
"runtime"
"sync"
"time"
"unsafe"
)
func demonstrateBasicCGO() {
fmt.Printf(" 🔧 调用C函数:\n")
C.print_hello()
}