Skip to content

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()
}

正在精进