編寫最簡單的輸出
Main.go
package main
//#include <stdio.h>
import "C"
func main() {
C.puts(C.CString("hello\n"))
}
運行
$ go run Main.go
hello
自定義函數
Main.go
package main
/*
#include <stdio.h>
void hi()
{
printf("hello,wsdadas\n");
}
*/
import "C"
func main() {
C.hi()
}
運行
$ go run Main.go
hello,wsdadas
使用頭文件
目錄結構
$ ls
go.mod go.sum hello.c hello.h Main.go
hello.h
#pragma once
void hi();
hello.c
#include "hello.h"
#include <stdio.h>
void hi()
{
printf("hello,wsdadas\n");
}
Main.go
package main
//void hi();
import "C"
func main() {
C.hi()
}
運行
$ go run .
hello,wsdadas
使用c++
$ ls
go.mod go.sum hello.cpp hello.h Main.go
hello.h
#pragma once
void hi();
hello.cpp
#include <iostream>
extern "C" {
#include "hello.h"
}
void hi()
{
std::cout<<"hello,world..."<<std::endl;
}
Main.go
package main
//void hi();
import "C"
func main() {
C.hi()
}
運行
$ go run .
hello,world...