ggzeng
10/23/2019 - 12:01 PM

call c function from golang

package main
/*
// C代码嵌入到go代码中
#include <stdio.h> 
void pri(){
    printf("hey");
}
int add(int a,int b){
    return a+b;
}
*/
import "C"  // 切勿换行再写这个
 
import "fmt"
 
func main() {
    fmt.Println(C.add(2, 1))
}

// go build src/call_c_function.go
package main

/*
#cgo CFLAGS: -Iinclude
#cgo LDFLAGS: -Llib -llibvideo
#include "video.h"
*/
import "C"

import "fmt"

func main() {
    cmd := C.CString("ffmpeg -i ./xxx/*.png ./xxx/yyy.mp4")
    C.exeFFmpegCmd(&cmd)
}

// gcc video.c -fPIC -shared -o libvideo.so