Mostra notizie nelle discussioni
Avatar
☺
Scritto da
::1
il 2011-10-06 00:09:00.0 alle 2011-10-06 00:09:00.0
Trollate totali: 12321
[c] dubbio su funzioni inline
//test.h
#ifndef test_h_guard
#define test_h_guard
inline int add(int a, int b) {
    return a + b;
}
int addPlusOne(int,int);
#endif

//test.c
#include "test.h"
int addPlusOne(int a, int b) {
    return add(a, b) + 1;
}

//toast.c
#include <stdio.h>
#include "test.h"
int main(int argc, char **argv) {
    printf("%d\n", addPlusOne(2,3));
    return 0;
}


$ gcc -c -o test.o test.c
$ gcc test.o -o toast toast.c
/tmp/cc0JQ54v.o: In function `add':
toast.c:(.text+0x0): multiple definition of `add'
test.o:test.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
$


In lacrimeIn lacrimeIn lacrimeIn lacrimeIn lacrime


qual'è il modo giusto di condividere le funzioni inline tra più files? Ho sostituito con una macro, ma vorrei capire come si fa.
Young professional woman and busy mom.

Pagina generata in 88 millisecondi

Utenti attivi: 12 nell'ultimo minuto, 21 negli ultimi cinque minuti, 45 negli ultimi 15 minuti