LINUX.ORG.RU

Использовании библиотеки на C++

 , ,


0

2

Возможно ли как-то использовать в хаскелле библиотеку, написанную на C++ (а именно exiv2)? Нагуглилось только такое - http://www.haskell.org/haskellwiki/CPlusPlusFromHaskell, но мне не кажется это нормальным решением.

★★★★★

Ответ на: комментарий от jtootf

Ух ты, даже не знал, что можно из C вызывать функции C++. Думал, возможно только обратное. Спасибо.

provaton ★★★★★
() автор топика
Ответ на: комментарий от provaton

Из C можно даже объекты создавать для плюсовых классов.

kike
()
Ответ на: комментарий от d_Artagnan

Мне кажется что мой ответ вполне правомочен с учётом того что ни одного живого и рабочего биндинга к плюсам в cabal'е нет. Можно поразвлекаться с вытаскиванием плюсовых интерфейсов в C или ловлей символов в плюсовых бинарниках, но ничего поленого из этого как правило не выходит. Впрочем, если топикстартеру нужно вызвать одну две функции и не поддерживать получившуюся программу — я не прав, да.

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

с учётом того что ни одного живого и рабочего биндинга к плюсам в cabal'е нет.

Есть, например, freearc с биндингами Haskell -> extern «C» -> C++, хотя и без cabal'а.

quasimoto ★★★★
()
Ответ на: комментарий от KblCb

если есть extern C то проблем нет, если нету, то делается обёртка, где он есть и к нему делаются байндинги. Есть успешный опыт этого. А ещё из примеров есть байндинги к root, он на плюсах.

qnikst ★★★★★
()
Ответ на: комментарий от KblCb

А, ну и ZeroMQ ещё ;)

Просто там есть уже сишный интерфейс, хотя сама библиотека на плюсах.

quasimoto ★★★★
()
Последнее исправление: quasimoto (всего исправлений: 1)
Ответ на: комментарий от KblCb

хотел сделать, но проект умер по независимым от меня обстоятельствам. Есть gccxml [1], которым можно пройтись по header файлу и сгенерировать код, ещё RedHat-овцы делали окамлом обёртки для либгестфс [2], только вокруг сей, с какой-то долей вероятности и плюсы можно приделать.

[1] https://bitbucket.org/Shimuuar/gccxml

[2] https://github.com/libguestfs/libguestfs/blob/master/generator/haskell.ml

qnikst ★★★★★
()
Ответ на: комментарий от KblCb

не знаю - не трогал.

Да, кстати, если будут успехи по автоматическому созданию байндингов или обёрток сообщи как-нить, а то возможно, что придётся что-то подобное использовать.

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.