Pull to refresh

Comments 3

Большое спасибо! Давно искал статью с простым примером нативного расширения.
Приходилось для своего проекта дорабатывать node-привязку замечательной либы для работы с аудиотегами taglib2. В привязке были реализованы только статические популярные теги, нужно было реализовать динамические. До этого с С++ дела не имел — познал немного боли, но в итоге за пару вечеров справился. Крутой опыт на самом деле.
Пользовался, да. Надо было как-то предоставить доступ к методам нативной плюсовой библиотеки через веб-сервис. Решили проинтегрировать в виде модуля к NodeJS. Полезли дикие какие-то крэши, когда библиотека пыталасть проинициализировать себя. Выяснилось, что расширения для NodeJS не дружат с плюсовым std::unordered_map от слова совсем. Даже на StackOverflow поднимали этот вопрос: Error with node-gyp addon when in use of insert method — std::unordered_map. В итоге пришлось workaround делать: библиотеку обернули в демон-процесс, с которым общались из нативного NodeJS расширения через пайпы. В целом, опыт позитивный: все быстро и красиво. Еще б эти странности с unordered_map пофиксили…
Sign up to leave a comment.