Ich habe folgendes Programm in C: „Fun“Austausch der Eintrittspunktfunktion führen Segmentierungsfehler
#include<stdio.h>
int main()
{
printf("Normal.\n");
return 0;
}
int fff()
{
printf("Fun!\n");
return 0;
}
Ich wollte es kompilieren, so dass, wenn ich das Programm ausführen, es mir gibt. Früher habe ich folgende Zeile mein Programm zu kompilieren:
gcc deneme.c -e fff -o deneme
Als ich Programm mit dem Namen „deneme“ laufen, ich erhielt:
Fun!
Segmentation fault (core dumped)
Wie Sie sehen, ich habe, was ich will, aber nicht verstehen, "segmentation fault" Teil. Was ist der Grund?
Sie versuchen 'fff angeben()' als Entry-Funktion, aber die '-e' Flagge ersetzt nicht' main' - es ersetzt ' _start_, was eine Montage-Routine ist. –
Wie kann ich es kompilieren, so dass es mir das gleiche ohne "segmentaion fault" gibt? – ertugrul
Ihre Eingabe-Funktion sollte vom Typ "void" sein und mit einem Aufruf von "_exit (ret)" enden, wobei "ret" der Rückgabecode ist. Eventuell müssen Sie auch mit '-nostartfiles' kompilieren. –