Gcc

De whats Wiki

Dreceres ràpides: navegació, cerca

Disable gcc protections

-mpreferred-stack-boundary=2 -z execstack 
--fno-stack-protection (disables SSP stack guard)
-z execstack (enables executable stack)

Compilar un arxiu en ensamblador

gcc arxiu.s -o executable

Per afegir informacio de debug als executables

gcc arxiu.c -o executable -ggdb

Incloure carpeta de includes per compilar

gcc -I$HOME/sub/dir -c main.c

incloure carpete de llibreries

gcc -L$HOME/sub/dir -lnomllibreriaaafegir main.o -o m3

Generar codi assembler a partir de c

gcc -S pi.c -o pi.s

Definir l'rpath d'un executable

gcc -Wl,-dynamic-linker,/my/lib/ld-linux.so.2 ...

Veure llistat de defines

cpp -dM
^D

Flags del compilador de C

  • -c Elimina la fase de muntatge (link). No s esborren els fitxers objecte produïts (sense aquesta opció, els fitxers objecte s esborren)
  • -o nom Genera un executable anomenat nom. Sense aquesta opció l executable rebrà el nom a.out Aquesta opció no té sentit combinada amb -c
  • -Idir Inclou el directori dir a la llista de directoris on buscar els fitxers d include
  • -Ldir Inclou el directori dir a la llista de directoris on buscar les llibreries
  • -lnom Munta amb la llibreria libnom.a (o libnom.so)