用C ++编写PostgreSQL函数

时间:2011-12-14 07:41:19

标签: c++ postgresql

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

1 个答案:

答案 0 :(得分:5)

如果可以避免这样做,请执行此操作。 PostgreSQL与C ++的搭配并不是特别好。有可能,如PostGIS 所示,,但它并不过分有趣。

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

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

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