Giriş
Kolay kullanım için şu satırı dahil ederiz.
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
"BOOST_PYTHON_STATIC_LIB"
BOOST_PYTHON_MODULE
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
Şöyle yaparız.
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