Go言語でC++ライブラリを呼び出す方法

GolangでC++ライブラリを呼び出すには、GolangとC/C++コードをやりとりする仕組みであるCGoを使用します。以下は、C++ライブラリを呼び出す方法を説明した簡単な例です。

まずは、呼び出す関数が含まれるexample.cppというC++ソースファイルを作成します。

#include <iostream>
extern "C" {
int add(int a, int b) {
return a + b;
}
}

この例では、2つの整数を足してその結果を返すシンプルな関数「add」を定義しました。

さらに、C++ライブラリを呼び出すためのGolangソースファイルを作成します。それにはexample.goという名前を付けます。

package main
// #cgo CXXFLAGS: -std=c++11
// #cgo LDFLAGS: -L. -lstdc++
// #include "example.cpp"
import "C"
import "fmt"
func main() {
a, b := 3, 4
result := int(C.add(C.int(a), C.int(b)))
fmt.Printf("%d + %d = %d\n", a, b, result)
}

この例では、CGoの特殊なアノテーションを使ってコンパイルやリンク時のオプションやインポートするC++のソースファイルを指定しています。その後、C++関数のaddを呼び出し、その結果を出力します。

ターミナルで、以下のコマンドを実行してこのサンプルプログラムをビルドして実行できます

$ go build
$ ./example

出力は以下のとおりになります:

3 + 4 = 7

Go言語でC++ライブラリを呼び出すための基本的な手順はこれらです。コンパイルおよびリンク中に、適切なオプションとパスが提供されていることを確認してください。

bannerAds