• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bertolo

duvida:: programa em modulos

2 mensagens neste tópico

main:

#include <stdio.h>
#include "l.h"

int main (void){
ui();
return 0;
}

função ui

void ui(void){
printf("OIiioi\n");
}

include

void ui(void);

tenho estes três textos em ficheiros diferentes e quero compilar tudo num executavel. consegui....mas os warnings sao suspeitos.....e deu pa compilar com e sem o include. alguem que me explique esta cena sff, que tenho eu de fazer ao certo pa criar modulos e compilar tudo num executavel?

[[]]

ps:output:

public@alenquer ~ $ gcc -Wall -pedantic -ansi m.c a.c -o oi

m.c: In function ‘main’:

m.c:5: warning: implicit declaration of function ‘ui’

a.c: In function ‘ui’:

a.c:2: warning: implicit declaration of function ‘printf’

a.c:2: warning: incompatible implicit declaration of built-in function ‘printf’

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assumindo que tens o main no m.c e o ui no a.c.

Deves colocar a declaração da função ui num ficheiro .h e incluir-lo, não precisas de compilar os dois ficheiros, basta o m.c. Tipo

#in teste.h
void ui(void){
printf("OIiioi\n");
}

#in main.c

#include <stdio.h>
#include "teste.h"

int main (void){
ui();
return 0;
}

compilar:  gcc -Wall -pedantic -ansi main.c -o oi

Outra possibilidade é quando forças o standard ansi e usas a opção pedantic teres de fazer o cast (void) na função ui, pois o C assumente que as funções devolvel int quando não expecificado.

Penso que seja por ai, (espero eu  ;) )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora