Articles of gcc

/ usr / bin / ld: imansible trovare -lc durante la compilazione con makefile

Contesto prima: ho un’intestazione (event.h), un programma chiamato event.c e il programma principale main.c. Questo programma verrà compilato, generando prima un programma object (event.o), quindi una libreria statica (libevent.a) in una cartella separata e quindi il programma eseguibile work1.exe Per fare questo ho creato questo makefile: work1 : main.c libevent.a gcc -static main.c -L./lib -levent […]

Restituzione di struct contenente array

Il seguente codice semplice segfaults sotto gcc 4.4.4 #include typedef struct Foo Foo; struct Foo { char f[25]; }; Foo foo(){ Foo f = {“Hello, World!”}; return f; } int main(){ printf(“%s\n”, foo().f); } Cambiare la linea finale a Foo f = foo(); printf(“%s\n”, ff); Funziona bene. Entrambe le versioni funzionano quando compilate con -std=c99 […]

Compilare con -static-libgcc -static-libstdc ++ produce ancora dipendenza dynamic su libc.so

Sto cercando di rendere un eseguibile il più portabile ansible. Dopo aver rimosso alcune dipendenze, mi sono imbattuto in quanto segue quando eseguo il binario su un altro sistema: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.15′ not found (required by foob) /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15′ not found (required by foob) /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14′ not found (required by foob) Preferirei che […]

Ottieni l’indirizzo iniziale e finale della sezione di testo in un file eseguibile

Ho bisogno di ottenere l’indirizzo di partenza e di fine della sezione di testo di un eseguibile. Come posso averlo? Posso ottenere l’indirizzo iniziale dal simbolo _init o dal simbolo _start , ma per quanto riguarda l’indirizzo finale? Devo considerare l’indirizzo finale della sezione di text come l’ultimo indirizzo prima di iniziare la sezione .rodata […]

Misurazione dell’overhead di gestione delle eccezioni in C ++

Qual è il modo migliore per misurare il sovraccarico / le prestazioni di gestione delle eccezioni in C ++? Si prega di fornire campioni di codice standalone. Ho scelto come target Microsoft Visual C ++ 2008 e gcc. Ho bisogno di ottenere risultati dai seguenti casi: Sovraccarico quando non ci sono blocchi try / catch […]

GCC: il tipo di matrice ha un tipo di elemento incompleto

Ho dichiarato una struct e cerco di passare una matrice di quelle strutture (oltre a una doppia matrice di double e un intero) in una funzione. Ricevo un messaggio di tipo “array ha un tipo di elemento incompleto” da gcc quando lo compilo. Cosa ho sbagliato nel modo in cui passo la struttura nella funzione? […]

Perché si dovrebbe usare #include_next in un progetto?

Per citare la documentazione di iOS sulle intestazioni Wrapper : #include_next non distingue tra l’inclusione di e di “file”, né controlla che il file specificato abbia lo stesso nome del file corrente. Cerca semplicemente il nome del file, iniziando dalla directory nel percorso di ricerca dopo quella in cui è stato trovato il file corrente. […]

Le espressioni “j = ++ (i | i) e j = ++ (i & i); dovrebbero essere un errore di lvalue?

Mi aspettavo questo nel mio codice seguente: #include int main(){ int i = 10; int j = 10; j = ++(i | i); printf(“%d %d\n”, j, i); j = ++(i & i); printf(“%d %d\n”, j, i); return 1; } espressioni j = ++(i | i); e j = ++(i & i); produrrà errori lvalue come […]

c problemi di linker matematici su Ubuntu 11.10

Qualche errore strano è apparso dopo aver aggiornato la mia Ubuntu da (10.11, 11.04 i dont know) a 11.10. Ricevo un undefined reference to ‘sqrt’ mentre utilizzo math.h e il collegamento con -lm Sto compilando gcc -Wall -Werror -g -Iinclude/ -lm lib/matrix.c src/analyse.c -o bin/analyse.o entrambi i file sorgente usano e includono math.h. Questo codice […]

Come compilare ed eseguire un semplice programma C con Sublime Text 2?

Voglio compilare un semplice programma C con GCC. Cosa devo inserire nel file sublime-build per farlo?