Boost.Python自帶的代碼生成器是Pyste的緣由
你對(duì)Pyste的實(shí)際運(yùn)用于功能有所了解嗎?其實(shí)Pyste與SWIG很類似,對(duì)于相關(guān)的源文件都是可以按照C++的相關(guān)形式來(lái)寫(xiě)的,那么以下的文章主要是介紹Pyste是怎么在Boost.Python的自帶的代碼中生成器。
你只要編寫(xiě)相應(yīng)的接口文件即可生成相應(yīng)代碼。Pyste需要先安裝才能使用。進(jìn)入Boost的安裝目錄,然后“/libs/python/pyste/install”目錄,運(yùn)行python setup.py install,完成Pyste安裝。
由于Pyste需要GCC-XML的支持,因此需要到GCC-XML的官方網(wǎng)站下載Windows版本的GCC-XML。安裝完GCC-XML后,需要將其安裝路徑添加到系統(tǒng)PATH變量中。另外Pyste還需要ElementTree的支持,因此需要到其相關(guān)的官方網(wǎng)下載安裝。
編寫(xiě)如下所示頭文件“Num.h”。
- class Num
- {
- int value;
- void set( int n )
- {
- value = n;
- }
- int get()
- {
- return value;
- }
- };
編寫(xiě)如下所示接口文件“world.pyste”。
- Class("Num", "Num.h")
由于在Windows下文件路徑的問(wèn)題,使用Pyste時(shí)最好將其放到“Num.h”和“world.pyste”所在的目錄。在Windows命令行中進(jìn)入其目錄,運(yùn)行如下命令。
- python pyste.py --module=num world.pyste
在Boost.Python的相關(guān)代碼的運(yùn)行命令后將生成“num.cpp”文件,其內(nèi)容如下所示。
- // Boost Includes ===================================
===========================- #include <boost/python.hpp>
- #include <boost/cstdint.hpp>
- // Includes =====================================
===============================- #include <Num.h>
- // Using ======================================
=================================- using namespace boost::python;
- // Module =================================
=====================================- BOOST_PYTHON_MODULE(num)
- {
- class_< Num >("Num", init< >())
- .def(init< const Num& >())
- ;
- }
以上就是對(duì)Pyste為何是Boost.Python自帶的代碼生成器的緣由的相關(guān)的內(nèi)容的介紹,望你會(huì)有所收獲。
【編輯推薦】