読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

C言語からpython3呼び出してHello Worldしてみた

はじパイ(はじめてのPython)に載っていたやつを参考にしました

#include <stdio.h>
#include "Python.h"

int main()
{
printf("C: Hello World!\n");
Py_Initialize();
PyRun_SimpleString("print('Python: Hello World!!')");
return 0;
}

Compile

gcc -framework Python -I /usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/include/python3.4m/ hoge.c

  • -framework PythonMac OS X固有のやつ。Python.frameworkって名前ついてるディレクトリにヘッダがあるからそこ探せよという指令。Macはクソ。
  • -Iはヘッダファイルの元ネタがあるところ。必要ならば/usr/include/とかに持っていくべきなのかも。ぼくは$ brew install python3してインストールしたのでこんなところにある。一応$ locate Python.hでもどこにあるか探せる。でも『次のコマンド打ってlocateのデータベース作れよ!つくってもすぐできるわけじゃないからちょっと待てよ!』と言われるのでちょっと時間かかる。$ find / -name "Python.h"でもいいか。

コンパイル後実行ファイルができるので実行

$ ./a.out

出力

C: Hello World!
Python: Hello World!!

やったぜ

エビデンス

f:id:haruharu1:20150530102808p:plain

おわりに

ブログの見た目がひどい。そのうちなおそう。そのうち。