Unix

Boost python 3 예제

ForceCore 2014. 3. 10. 00:54

boost 1.55에다 python 3.3 환경에서 해봤다.


test.cpp:


#include <boost/python.hpp>                                                     

                                                                                

char const* greet()                                                             

{                                                                               

    return "hello, world";                                                      

}                                                                               

                                                                                

BOOST_PYTHON_MODULE(hello_ext)                                                  

{                                                                               

    using namespace boost::python;                                              

    def("greet", greet);                                                        

}                                                                               


컴파일:

$ g++ -shared -fPIC `python3-config --includes` `python3-config --libs` -lboost_python3 test.cpp -o hello_ext.so

hello_ext.so 파일이 생길 것이다. hello_ext.so 가 있는 곳에서 아래와 같이 해보자:


사용:

forcecore@forcecore:/dev/shm$ python3

Python 3.3.4 (default, Feb 11 2014, 15:56:08) 

[GCC 4.8.2 20140206 (prerelease)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import hello_ext

>>> hello_ext.greet()

'hello, world'

>>> 

참 쉽죠?;;;