Vraag Bestandsindelingen met gcc


Ik schreef wat c-code in een bestand en bewaarde deze met gedit.

Ik opende toen de terminal en probeerde het met gcc te compileren maar het geeft me een fout dat het het formaat van mijn c-bestand niet herkent.

Welk formaat leest gcc?


1
2017-08-20 02:14


oorsprong




antwoorden:


gcc gebruikt de bestandsextensie (achtervoegsel) om het type te bepalen - heeft u uw bestand een achtervoegsel met de extensie c gegeven? Zo niet, probeer de naam te wijzigen - bijvoorbeeld als ik een bestand heb met de naam 'testc'

$ cat testc
#include<stdio.h>
int main()
{
printf("THIS is a C-file\n");
return 0;
}

Dan

$ gcc -o test testc
testc: file not recognized: File format not recognized
collect2: ld returned 1 exit status

Maar na het hernoemen naar een juist .c-bestand

$ mv testc test.c
$ gcc -o test test.c
$ 
$ ./test
THIS is a C-file

8
2017-08-20 02:24



Over het algemeen, zolang (a) uw broncode alle stukken bevat die nodig zijn voor een compleet programma, inclusief een toegangspunt ('hoofd'-functie); en (b) en je geeft niet expliciet aan gcc om te stoppen voordat je linkt (met de '-c' optie); en (c) u specificeert eventuele aanvullende niet-standaardbibliotheken die uw code op de opdrachtregel nodig heeft, waarna gcc een binair bestand zal produceren dat uitvoerbaar is op het platform waarop het is gecompileerd - steeldriver