PDA

Visualizza la versione completa : [C] Utilizzo di bit_print() su Linux


HdS619
17-06-2007, 09:14
Ciao a tutti! Il mio primo post sul forum di HTML.it ^_^ speriamo che non sbaglio niente... dunque volevo chiedervi se c' qualche differenza con l'uso di bit_print() tra windows e linux.

Perch vi spiego...

Ho scritto questo codice:

#include <stdio.h>

typedef struct {
unsigned b0 : 8, b1 : 8, b2 : 8, b3 : 8;
} word_bytes;

typedef struct {
unsigned
b0 : 1, b1 : 1, b2 : 1, b3 : 1, b4 : 1, b5 : 1, b6 : 1, b7 : 1,
b8 : 1, b9 : 1, b10 : 1, b11 : 1, b12 : 1, b13 : 1, b14 : 1, b15 : 1,
b16 : 1, b17 : 1, b18 : 1, b19 : 1, b20 : 1, b21 : 1, b22 : 1, b23 : 1,
b24 : 1, b25 : 1, b26 : 1, b27 : 1, b28 : 1, b29 : 1, b30 : 1, b31 : 1;
} word_bits;

typedef union {
int i;
word_bits bit;
word_bytes byte;
} word;

int main(void)
{
word w = {0};
void bit_print(int);

w.bit.b8 = 1;
w.byte.b0 = 'a';

printf("w.i = %d\n", w.i);
bit_print(w.i);
return 0;
}

e mi da come output questo:


/tmp/cc00IkR0.o: In function `main':
prova.c:(.text+0x40): undefined reference to `bit_print'
collect2: ld returned 1 exit status


avviso che uso linux ubuntu 7.04... e compilo con gcc. Come risolvere questo problema?

P.s.: Scusate se ho usate una formattazione per il CODICE PHP ma non so se ce n' un'altra per i codici in generale...

Ciauz

oregon
17-06-2007, 09:36
Scusa, ma la funzione bit_print non e' standard ... non fa parte di nessuna libreria ... e non la vedo nel codice ...

HdS619
17-06-2007, 09:40
Allora nel codice la trovi verso la fine.. e comunque quel codice l'ho copiato pari pari dal mio manuale di C.

Comunque nel manuale la definisce come un utily (software tools).. sar per quello che non la riconosce??

oregon
17-06-2007, 10:02
Questa

void bit_print(int);

va inserita prima del main.

Per il resto, mostra il codice completo della bit_print ...

Il fatto di essere una utility non ha importanza ...

HdS619
17-06-2007, 10:08
Ho provato ad inserirla prima del main ma mi d lo stesso errore d'output quando vado a compilare il file... comunque che codice completo? il codice completo questo...

oregon
17-06-2007, 10:30
La dichiarazione va prima del main ma non ti ho detto che risolve il problema.

Che vuol dire il codice completo e' questo?

Manca il codice della bit_print!

Lo devi inserire nel tuo programma!

Avevi scritto:

Allora nel codice la trovi verso la fine..

... e quindi?

HdS619
17-06-2007, 10:37
ma.. ma... :confused:

non ho codici per la funzione bit_print...

oregon
17-06-2007, 10:53
Originariamente inviato da HdS619
ma.. ma... :confused:

non ho codici per la funzione bit_print...

Ed e' questo il problema ... forse e' contenuto in una libreria (hai un CD con il tuo libro?), ma il codice lo devi inserire ...

HdS619
17-06-2007, 10:55
no niente cd... comunque ne parla come se fosse una istruzione standard... mah...

oregon
17-06-2007, 10:56
No ... non e' una funzione standard ...

Di quale libro si tratta ...?

P.S. Se cerchi con google, hai un bel po' di esempi su come scrivere quella funzione ...

Loading