Jump to content
Fórum Script Brasil
  • 0

Binários Em C++ Executados Por Java


bonoddr

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...