我在遵循 C 指南时在 C++ 中编写 postgres 函数时遇到了一些问题: C-Language Functions 。我发现大多数postgres函数都是用C而不是C++编写的,但是我必须使用用C++编写的lib,所以我选择了C++。我的问题是,用 C++ 编写时有什么需要注意的吗?使用 pgxs 编写 makefile 是很常见的,那么我应该如何编写 makefile 使其工作呢?谢谢。

最佳答案

如果您可以避免这样做,请这样做。 PostgreSQL 与 C++ 混合得不是特别好。正如 PostGIS 所示,这是可能的,但这并不过分有趣。

如果可以,请为 C++ 库编写或生成纯 C 包装器,并使用该包装器与库进行交互。如果它大量基于模板(例如:boost)或使用其他更高级的 C++ 功能,那将不实用,但如果它只是 C 对象样式代码,则效果很好。 SWIG 可以帮助您生成包装器。

如果您希望避免使用包装器方法,或者您的库有点过于复杂、过于依赖异常等,那么您应该 read this PostgreSQL manual entry

搜索 PostgreSQL 邮件列表以获取有关此主题的更多讨论。

关于c++ - 用 C++ 编写 PostgreSQL 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8500954/

10-13 07:32
查看更多