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áriaEu 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.