Pular para o conteúdo

Executar um programa em Rust

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Executar um programa em Rust

Enviado em 30/04/2026 - 10:08h

Olá?
Como não tem Forum em Rusti! Vim aqui perguntar sobre Rust
Queria saber como executo um programa em Rust?
Executar o programa tipo:
c:/java/jdk-23/bin/java.exe -jar /MeuApp/WindowJAR.jar
Exemplo:

    pub fn r_open_program(&self, nome_programa: &str) {
let _ = Command::new(nome_programa).spawn();
}

r.r_open_program("c:/java/jdk-23/bin/java.exe -jar /MeuApp/WindowJAR.jar");

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Executar um programa em Rust

Enviado em 30/04/2026 - 11:39h




Se já está compilado é só chamar o meliante
./nome-do-arquivo 




------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


3. Re: Executar um programa em Rust

Enviado em 30/04/2026 - 16:07h

Isso aí eu sei!
Quero execultar o código abaixo dentro do código Rust!

c:/java/jdk-23/bin/java.exe -jar /MeuApp/WindowJAR.jar


4. Re: Executar um programa em Rust

Enviado em 02/05/2026 - 15:07h

não sou programador mas se te ajudar minha IA me deu a seguinte resposta
O problema aí é que você está passando tudo como um único argumento, mas o Command::new não funciona como um shell — ele não interpreta a string inteira com espaços.

Ou seja, isso aqui:
Command::new("c:/java/jdk-23/bin/java.exe -jar /MeuApp/WindowJAR.jar") 

ele tenta encontrar um executável com esse nome inteiro, o que obviamente não existe.

* Forma correta

Você precisa separar o comando dos argumentos:
use std::process::Command;
pub fn r_open_program(&self, nome_programa: &str, args: &[&str]) {
let _ = Command::new(nome_programa)
.args(args)
.spawn();
}


E chamar assim:
r.r_open_program(
"c:/java/jdk-23/bin/java.exe",
&["-jar", "/MeuApp/WindowJAR.jar"]
);

* Resumo direto
- Command::new() -> só o executável
- .args() -> cada pedaço separado
Não é shell -> nada de string única com tudo junto

* Alternativa (não recomendada, mas útil)
Se você quiser passar tudo como string (tipo terminal), teria que usar o shell:

Command::new("cmd")
.args(&["/C", "c:/java/jdk-23/bin/java.exe -jar /MeuApp/WindowJAR.jar"])
.spawn();


Mas isso:
- é menos seguro
- depende do sistema (Windows vs Linux)


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder