boost 1.34 终于简化了内嵌python的支持
boost 1.34 终于简化了内嵌python的支持。
还支持了python2.5。
在中文windows下用vc8编译boost的过程中,虽然仍有代码页字符警告,但是可以正常编译成功,不再象1.33.1那样造成正则表达式库不修改源码不能够编译通过的问题了。
下面的例子是从boost文档中来的:
还支持了python2.5。
在中文windows下用vc8编译boost的过程中,虽然仍有代码页字符警告,但是可以正常编译成功,不再象1.33.1那样造成正则表达式库不修改源码不能够编译通过的问题了。
下面的例子是从boost文档中来的:
#include
<
iostream
>
#include < string >
#include < boost / python.hpp >
#include < boost / ref .hpp >
#include < vector >
using namespace boost::python;
void greet()
{
object main = import( " __main__ " );
object global(main.attr( " __dict__ " ));
// Define greet function in Python.
object result = exec(
" def greet(a): /n "
" return 'Hello %s from Python!' % a /n " ,
global, global);
object greet = global[ " greet " ];
list lst;
lst.append( 1 );
lst.append( 2 );
object r = greet(lst);
std:: string message = extract < std:: string > (r);
std::cout << message << std::endl;
}
int _tmain( int argc, _TCHAR * argv[])
{
Py_Initialize();
greet();
system( " Pause " );
return 0 ;
}
#include < string >
#include < boost / python.hpp >
#include < boost / ref .hpp >
#include < vector >
using namespace boost::python;
void greet()
{
object main = import( " __main__ " );
object global(main.attr( " __dict__ " ));
// Define greet function in Python.
object result = exec(
" def greet(a): /n "
" return 'Hello %s from Python!' % a /n " ,
global, global);
object greet = global[ " greet " ];
list lst;
lst.append( 1 );
lst.append( 2 );
object r = greet(lst);
std:: string message = extract < std:: string > (r);
std::cout << message << std::endl;
}
int _tmain( int argc, _TCHAR * argv[])
{
Py_Initialize();
greet();
system( " Pause " );
return 0 ;
}