Abrir um aplicativo com apenas 2 cliques.

Iniciado por Gusth, 25 de Maio de 2009, 18:14

tópico anterior - próximo tópico

Gusth

Eu fiz um programa em C usando geany, e gostaria agora de abrir ele sem ter que ficar abrindo o geany, usando apenas 2 cliques.
usando ./ no terminal eu sei também.
Me falaram para dar um chmod +x programa.c mas ele fica perguntando se é pelo terminal ou outro local que quero abrir, eu escolho terminal e abre uma tela de terminal mas já fecha sem nem mostrar o programa.
Como faço isso?

supershow

Vou tentar explicar, mas você lembrou da regra básica do forista? Antes de perguntar  procure (Google, forum, etc).

Você tem de dar permissão de execução o arquivo compilado, não ao código fonte (no caso o arquivo .c). Existem linguagens de programação compiladas (caso de C), linguagens interpretadas (caso bash - que a maioria dos terminais linux roda). Pra uma linguagem compilada você tem executar o programa objeto.

Isso é de teoria de programação. Um humano escreve um programa num código fonte em uma LP (linguagem de programação) qualquer. Esse código fonte é um arquivo de texto. Depois ele passa esse arquivo de texto por um programa chamado compilador que cria um outro arquivo, dessa vez binário (ligado a arquitetura do processador, sistema operacional, etc - enfim o ambiente para qual foi compilado). Esse programa é executável naquele ambiente.

O arquivo .c está referenciado pelo seu ambiente gráfico par ser aberto pelo geany, assim depois de abrir você pede pra executar e o geany compila, e depois executa o código compilado (por isso um click para abrir e outro para executar). Via de regra (o que o geany faz também), o código objeto compilado é gerado com permissão de execução. O que você precisa é dar um duplo click no programa compilado. O geany trata-se apenas de uma IDE, ele junta o editor de texto, compilador e outras funcionalidades num lugar só. Não uso geany, mas acredito que ele compila para um arquivo de mesmo nome sem  extensão .c, é esse que você usa. Espero que tenha ficado claro.

Somanmbulist [999th Night... ] - OTHAKU
Ubuntu 10.04

Natureba

Quanto ao caso dele abrir e fechar logo em seguida, é por que quando o programa é executado abre-se o terminal para exibir sua saída, e quando o programa termina, o terminal se fecha. Como a velocidade de processamento das CPU's atuais é beeeem alta, o programa "pisca" na tela...

Para contornar este problema você deve parar a execução do programa em algum ponto para que nós meros mortais possamos ver a saída.
Tente colocar um getch(); antes do return da função main.

Espero ter ajudado.
Abs.