26 Eylül 2016 Pazartesi

python'dan C Kullanmak

Giriş
Kolay kullanım için şu satırı dahil ederiz.
using namespace boost::python;
Windows için proje'yi derlemeden önce şunlar yapılır.
1. python geliştirme ortamı kurulu olmalıdır (include dosyaları ve libler)
2. Proje .pyd uzantılı dosya üretmelidir.  'Properties->General->Target Extension'  ".pyd"
3. Dll'den export edilecek metodlar için def dosyası hazırlanır. source.def şöyledir
LIBRARY hello
EXPORT greet
3. boot ve python kütüphanaleri ile linklenir. boot static linklenecekse preprocessor olarak şu tanımlanır.
"BOOST_PYTHON_STATIC_LIB"

BOOST_PYTHON_MODULE
Şu satırı dahil ederiz.
#include <boost/python/module.hpp>
python içinde kullanılacak module ismini belirtir. Şöyle yaparız.
BOOST_PYTHON_MODULE(hell) {
  ...
}
def
Şu satırı dahil ederiz.
#include <boost/python/def.hpp>
Module içinden dışarıya açılan metod ismini belirtir. Metodun imzası belirtilmez. Şöyle yaparız.
const char* greet () {
  return "hello, world";}

BOOST_PYTHON_MODULE(hello) {
  def("init", init);
}
python'dan Çağırmak
Şöyle yaparız.
import hello
print hello.greet()



Hiç yorum yok:

Yorum Gönder