このエントリーをはてなブックマークに追加

CのヘッダファイルからGoの構造体を生成する

Gocon 2015で発表しませんでした。

そもそも参加できるか分からなかったんですよね。

ということで、godefを使ってCのヘッダによる構造体定義からgolangの構造体を生成する方法について記載した資料を作成し、しれっとTwitterに投げてみました。

ただ、この生成方法はだいぶ前のもので、今はc2goがあるので、そちらを使うほうがいいのかもしれません。まだ自分では試せていないです。そのあたりも含めて見ていただけるとありがたいです。

gopsutil

資料中で触れていますが、gopsutilpsutilというメモリやCPUといったシステム情報を取るPythonのライブラリをgoに移植したものです。psutilと同じく、Linuxだけではなく、FreeBSDやOSX、Windowsにも対応しているのが特徴です。(とはいえ、実装できていないところもあり、結構差がありますが)

プロセスの情報を取れたりもするので、goでCPUやメモリの情報をとりたい人はぜひ使ってみてください。全部goで書かれているので、クロスコンパイルも簡単です。実際にRaspberry Piで動かしたりもしています。