Pergunta

Estou tentando usar a funcionalidade DLL do Windows no Linux. Minha solução atual é uma compilação de um aplicativo de vinho separado, que usa solicitações/respostas de transferência de DLL entre a DLL e o aplicativo principal sobre o IPC.

Isso funciona, mas é uma sobrecarga real em comparação com uma simples chamada de DLL.

Vejo que o programa compilado por vinho geralmente é um script de bootstrapping e alguns .so, que (de acordo com Arquivo utilitário) é o Linux normal Linux Linked Library.

Existe alguma maneira de vincular isso diretamente ao meu aplicativo? Existe algum manual?

Foi útil?

Solução

Você pode usar Winelib Para gravar um aplicativo Linux que pode usar o Windows DLLS.

EDITAR:

Para referência futura:

libtest.c:

#include <stdio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
  HMODULE h;

  h = LoadLibrary("cards.dll");
  printf("%d\n", h);
}

Execução:

$ winegcc -m32 libtest.c 
$ ./a.out
536936448
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top