Como chamar um programa em C através de outro programa

Olá pessoal…

Hoje vou mostrar como criar um código fonte em C, e executar essa função através de outro código fonte.



O recurso de se criar funções separadas em arquivos está em reaproveitá-las em outras funções, como por exemplo, uma função genérica para pegar a data de nascimento e retornar a idade, poderia fazer em um arquivo .c e usar em outras rotinas.

No nosso caso, serão criados dois fontes, o primeiro o teste2.c, sendo esse apenas para ler a variável e retorná-la à outra função.

#include <stdio.h>

int teste2(){
	int valor;

	//Lê a variável valor
	printf("ok: ");
	scanf("%d", &valor);

	//Retorna a variável valor
	return valor;
}

O segundo fonte é o teste1.c, nele devemos declarar no include que será utilizado o arquivo teste2.c (entre aspas), e dentro do meu fonte, basta chamar a função teste2() que existe dentro do teste2.c.

#include <stdio.h>
#include "teste2.c"

int main(){
	//Chamando a função para pegar o valor
	int aux = teste2();

	//Demonstrando valor lido e esperando usuário apertar o -Enter-
	printf("\n-->%d", aux);
	getch();

	//Finalizando a rotina
	return 0;
}

Esses e outros códigos, estão disponíveis gratuitamente no nosso GitHub, acesse em github.com/dan-atilio/Linguagem_C.

Abaixo um print de teste de utilização do programa.

Teste de execução da rotina
Teste de execução da rotina

Obs.: No exemplo demonstrado acima, os dois arquivos .c devem estar no mesmo diretório.

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

2 opiniões sobre “Como chamar um programa em C através de outro programa

  • setembro 3, 2016 em 5:36 pm
    Permalink

    Boa tarde amigo!

    fiz seu exemplo, porem esta me dando erro de multipla definicao!

    estou usando linux (ubuntu 16.04).

    abs.

    Resposta
    • setembro 3, 2016 em 8:46 pm
      Permalink

      Boa tarde xará, tudo bem?
      Você fez exatamente igual? Se sim, poderia postar aqui o erro completo ao compilar?
      Está utilizando o GCC para compilar?
      Fico no aguardo.

      Resposta

Deixe uma resposta