Написание функций PostgreSQL на C ++ - PullRequest
2 голосов
/ 14 декабря 2011

У меня возникли некоторые проблемы при написании функций postgres на C ++ при выполнении инструкций для C: Функции языка C .Я обнаружил, что большинство функций postgres написаны на C, а не на C ++, но я должен использовать библиотеку, написанную на C ++, поэтому я выбрал C ++.У меня вопрос, есть ли что-то, чтобы заметить при написании на C ++?Обычно пишут make-файлы с использованием pgxs, так как мне написать make-файл, чтобы он работал?Спасибо.

1 Ответ

5 голосов
/ 14 декабря 2011

Если вы можете избежать этого, сделайте это. PostgreSQL не особенно хорошо сочетается с C ++. Возможно, , как показывает PostGIS , но это не слишком весело.

Если вы можете, напишите или сгенерируйте чистую оболочку C для вашей библиотеки C ++ и используйте эту оболочку для взаимодействия с библиотекой. Это не будет практичным, если он в большой степени основан на шаблонах (например, boost) или использует другие более продвинутые функции C ++, но работает хорошо, если это просто код стиля C-with-objects. SWIG может помочь вам создать обертки.

Если вы предпочитаете избегать использования метода-оболочки или если ваша библиотека слишком сложна, слишком зависима от исключений и т. Д., То вам следует прочитать эту запись в PostgreSQL .

Просмотрите список рассылки PostgreSQL для дальнейшего обсуждения этой темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...