草庐IT

boost-uuid

全部标签

python - Pybind11 或 Boost.Python 或两者都不是-

我很好奇让C++和Python相互对话的最灵活、最高效、最无缝的方法是什么。竞争者似乎是Pybind11、Boost.Python,两者都不是(简单地编写如下函数和包装器)。usingnamespaceboost::algorithm;staticPyObject*strtest(PyObject*self,PyObject*args){std::strings="BoostC++Libraries";to_upper(s);PyObject*python_val=Py_BuildValue("s",s.c_str());returnpython_val;}PyMODINIT_FUNC

c# - 进一步削减uuid以制作短字符串

我需要为给定的唯一字符串生成唯一的记录ID。我尝试使用uuid格式,这似乎不错。但我们觉得那是冗长的。所以我们需要将uuid字符串9f218a38-12cd-5942-b877-80adc0589315缩减到更小。通过删除“-”,我们可以节省4个字符。从uuid中删除最安全的部分是什么?我们不需要普遍唯一的ID,但我们喜欢使用uuid作为来源但减少了字符串。我们需要特定于站点/数据库(SQLServer/ADO.NET数据服务)的唯一ID。来自任何语言的任何想法或样本都可以提前致谢 最佳答案 为什么不直接将其转换为base64字符串

python - 在 cygwin 中为 boost_python 链接 c++ 类

一段时间以来,我一直在使用C++类的包装器将函数导出到Python。现在我想使用Windows将其提供给我的同事。但是,我无法在cygwin中为此创建可用的boost_pythondll。尝试链接另一个dll中的依赖模块时会出现问题,如果我改为将依赖源编译到同一个dll中,它会按预期工作。我创建了一个显示问题的最小示例:设置:moduleB/moduleB.cpp#Theboostwrappercode#include#include#include#include"submodule.hpp"usingnamespaceboost::python;usingnamespacetest

c++ - Boost::python 使用和返回模板公开 C++ 函数

我需要为C++代码库构建Python绑定(bind)。我使用boost::python,但在尝试公开包含使用和返回模板的函数的类时遇到了问题。这是一个典型的例子classFoo{public:Foo();templateFoo&setValue(conststring&propertyName,constT&value);templateconstT&getValue(conststring&propertyName);};典型的T是string,double,vector。看完documentation,我尝试为每种类型使用薄包装。以下是string和double的包装器以及相应的类

c++ - 使用 boost python 将 python 列表传递给 c++ 扩展

我正在尝试编写一个c++扩展来替换以下python函数以加快我的程序python函数如下所示defcalc_dist(fea1,fea2):#fea1andfea2aretwolistswithsamelength...我使用c++和boostpython编写了函数,如下所示:#include#includedoublecalc_dist(vector&fea1,vector&fea2){intlen=fea1.size();doubles=0;for(inti=0;i然后把上面的cpp代码编译成.so这样的文件g++calc_dist.cpp-shared-fPIC-ocalc_di

c++ - 需要帮助开始使用 Boost.Python

我正在尝试构建我的第一个Boost.Python示例。#include#includeusingnamespaceboost::python;classHello{public:std::stringgreet(){std::cout("Hello").def("greet",&Hello::greet);}intmain(){std::cout编辑:正如@cdhowie指出的那样,Python开发header丢失了。我已经找到并包含了所需的头文件。现在链接器在提示:10:43:58****BuildofconfigurationBoostPythonTest-DParforproje

c++ - boost .Python : Callbacks to class functions

我有一个用C++编写并暴露给Python的EventManager类。这就是我打算从Python端使用它的方式:classSomething:def__init__(self):EventManager.addEventHandler(FooEvent,self.onFooEvent)def__del__(self):EventManager.removeEventHandler(FooEvent,self.onFooEvent)defonFooEvent(self,event):pass(add-和remove-作为EventManager的静态函数公开。)上述代码的问题在于回调是在

4.2 C++ Boost 内存池管理库

Boost库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量、可移植、高效的C应用程序。Boost库可以作为标准C库的后备,通常被称为准标准库,是C标准化进程的重要开发引擎之一。使用Boost库可以加速C应用程序的开发过程,提高代码质量和性能,并且可以适用于多种不同的系统平台和编译器。Boost库已被广泛应用于许多不同领域的C++应用程序开发中,如网络应用程序、图像处理、数值计算、多线程应用程序和文件系统处理等。C++的指针操作可以说是继承了C语言的优点,但同时也带来了一些问题,例如内存泄漏、悬挂指针、访问越界等。这些问题不仅会导致程序

python - Boost.Python 向现有 PyObject 添加绑定(bind)(用于异常处理)

为了以实际可行的方式向Python公开C++异常,您必须编写如下内容:std::stringscope=py::extract(py::scope().attr("__name__"));std::stringfull_name=scope+"."+name;PyObject*exc_type=PyErr_NewException(&full_name[0],PyExc_RuntimeError,0);//...但这似乎不会与Boost.Python中的任何其他内容交互。如果我想公开:structError{intcode;};我可以写:py::class_("Error",py::n

python - Boost.Python - 如何通过引用返回?

我正在使用Boost.Python从C++类创建Python模块。我遇到了引用问题。考虑以下情况,我有一个Foo类,它带有重载的get方法,可以通过值或引用返回。一旦我对签名进行了类型定义,指定应该使用按值返回就很容易了。但我认为也应该可以通过使用return_value_policy来返回引用。.但是,使用看起来合适的(doc);return_value_policy似乎没有用。我是不是误解了它的作用?structFoo{Foo(floatx){_x=x;}float&get(){return_x;}floatget()const{return_x;}private:float_x;