Recomendação para o wrapper C ++ para ligações de bibliotecas dinâmicas em processo entre plataformas (ou seja, um COM leve ou de alto desempenho ou CORBA) [fechado]

Estamos desenvolvendo um aplicativo que terá uma "arquitetura" de plug-in para permitir que os consumidores do aplicativo forneçam seus próprios algoritmos proprietários. (Basicamente, teremos um conjunto de analisadores e permitiremos que terceiros forneçam os seus próprios também)

O espaço de domínio requer um desempenho muito alto, portanto, as ligações fora do processo não funcionarão e preferimos deixar as coisas pesadas como CORBA e COM sozinha.

Basicamente, estamos procurando por um wrapper simples de plataforma cruzada:

carregar biblioteca de um caminho relativofornecer um mapeamento do dll particular / .so para alguma configuração / nomefazer alguma inicialização e consultar a biblioteca para garantir que ela forneça a funcionalidade necessária

Eu acho que isso é realmente apenas um wrapping around loadlibrary () e as chamadas de método exportadas. Podemos escrever isso por nós mesmos, mas preferimos usar o código existente, já que temos o suficiente no nosso prato.

Mais uma vez, o rendimento e o desempenho são muito importantes.

Perguntas semelhantes são:

Alternativa entre plataformas para COM - este é próximo, mas queremos apenas em processo - não há necessidade de falta de processo e nossas necessidades são um pouco "mais leves".

Bibliotecas dinâmicas de plataforma cruzada C ++; Linux e Windows

Isso é para o C ++ não gerenciado - não podemos usar o .NET

EDITAR - o que encontramos

Nós achamos issoPoco funciona muito bem para as nossas necessidades. Como um bônusEsta página é um comentário muito apreciado sobre o estado do desenvolvimento de C ++ e a direção da linguagem ...

Foi uma simples embalagem de plataforma cruzada que precisávamos que o Poco fornecesse. Realmente não há muito, mas ainda nos poupa tempo e testes. Nenhuma sobrecarga adicional durante o tempo de execução.

questionAnswers(2)

yourAnswerToTheQuestion