我在遵循 C 指南时用 C++ 编写 postgres 函数时遇到了一些问题:C-Language Functions .我发现大多数 postgres 函数是用 C 而不是 C++ 编写的,但我必须使用用 C++ 编写的库,所以我选择了 C++。我的问题是,用C++写的时候有什么要注意的吗?使用pgxs编写makefile很常见,那么我应该如何编写makefile才能使其工作呢?谢谢。
最佳答案
如果你能避免这样做,那就去做吧。 PostgreSQL 不能与 C++ 很好地结合。这是可能的,如 PostGIS 所示,但并不过分有趣。
如果可以,请为您的 C++ 库编写或生成一个纯 C 包装器,并使用该包装器与该库进行交互。如果它大量基于模板(例如:boost)或使用其他更高级的 C++ 功能,那将不切实际,但如果它只是 C-with-objects 样式代码,则效果很好。 SWIG 可以帮助您生成包装器。
如果您更愿意避免包装方法,或者如果您的库有点过于复杂、过于依赖异常等等,那么您应该 read this PostgreSQL manual entry .
搜索 PostgreSQL 邮件列表以获取有关此主题的更多讨论。
关于c++ - 用 C++ 编写 PostgreSQL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500954/