Ir para conteúdo
Fórum Script Brasil
  • 0

Binários Em C++ Executados Por Java


bonoddr

Pergunta

Olá pessoal. Eu estou desenvolvendo uma aplicação em Java, mas preciso executar (em segundo plano) um binário previamente compilado em C++ (de acordo com o sistema operacional da ferramenta).

Para isso, faço algo assim:

String s = "c:/bin/binario.exe";
Runtime.getRunime(s);

Isso fica tachado que eu usaria o Windows como SO e que estaria especificamente nesta pasta. A minha idéia, por se tratar de um programa em java, é tornar a minha aplicação multiplataforma. Então, eu quero poder ter definido o caminho onde este binário estará sem que o usuário precise sequer conhecer que ele existe, supondo que o binário fique na mesma pasta em que se encontram os .class, ou ainda na mesma pasta em que se encontra o JAR. Eu creio que há uma maneira de saber qual o diretório que a aplicação se encontra no momento, isto resolveria este problema. Eu já pesquisei bastante, mas não obtive muito sucesso.

Qualquer ajuda eu ficarei bastante agradecido. Valeu pessoal!!! cool.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Essa historia de "adivinhar" onde está o programa é bem chata mesmo, principalmente em ambientes Windows, já que cada programa está em seu próprio diretório. Sendo assim, você pode focar cada sistema operacional por vez, e se concentrar em achar uma solução para o Windows. Em ambientes Unix-like, basta indicar /usr/bin, então, você não terá maiores problemas.

Sinceramente, acho bem melhor você "forçar" o usuário a colocar o programa no path, ou então, durante o instalador, varrer as chaves no registro e criar um arquivo de configuração que a tua aplicação possa ler. Bem melhor do que varrer o disco rigido na hora da execução..

[]'s

iSoron.

Link para o comentário
Compartilhar em outros sites

  • 0

valeu aí pela ajuda... Para SO Unix like, você me deu uma boa idéia, colocar estes binários na pasta usr/bin. smile.gif

Mas eu tava pensando em se eu tenho como, dentro do meu programa, identificar se está sendo executado em unix-like ou windows-like. Já ouvi falar que tem como sim, mas desconheço. Você ou alguém sabe como fazer isso?

no caso se for unix, eu coloco pra procurar os binários em /usr/bin. Pra windows, eu defino alguma outra pasta.

Valeu cara!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...