boost. Python 如何导出 c char array?

2017-11-09 12:47:43 +08:00
zhiqiang  zhiqiang

问题类似于 https://stackoverflow.com/questions/17885639/exposing-a-c-style-array-data-member-to-python-via-boost-python.

直接用它的例子吧:

struct S
{
  char arr[4128];
};

void foo( S const * )
{}

BOOST_PYTHON_MODULE( test )
{
  using namespace boost::python;

  class_<S>( "S" )
    .def_readwrite( "arr", &S::arr )
    ;

  def( "foo", foo );
}

这是编译会出错:

error C2440: '=' : cannot convert from 'const char [4128]' to 'char [4128]'

我不但想导出,而且想在 python 里直接当作一个 string 使用。有办法吗?

1876 次点击
所在节点   Python  Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/404900

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX