Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Wie kompiliere und führe ich ein C-Programm in einer Linux-Umgebung aus? (ausführliche Erklärung)

Wie kompiliere und führe ich ein C-Programm in einer Linux-Umgebung aus? (ausführliche Erklärung)

青灯夜游
Freigeben: 2018-10-25 16:47:56
nach vorne
4815 Leute haben es durchsucht

Der Inhalt dieses Artikels besteht darin, vorzustellen, wie man C-Programme in einer Linux-Umgebung kompiliert und ausführt. (ausführliche Erklärung). Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

1 Kompilierung und Ausführung einer einzelnen Datei

Erstellen Sie die Datei main.c mit folgendem Inhalt:

#include <stdio.h>#include <stdlib.h>int main(void){
printf("Hello world!\n");return 0;
};
Nach dem Login kopieren

Kompilieren:

gcc -o main main.o
Nach dem Login kopieren

Ausführung:

root@ubuntu:/ybg/python# ./main
Input an integer:10sum=55
Nach dem Login kopieren

2 Kompilierung und Ausführung mehrerer Dateien
Sum.c-Datei mit folgendem Inhalt erstellen:

#include <stdio.h>#include <stdlib.h>int sum(int x){int i, result=0;for(i=0; i<=x; i++){
result+=i;
}if(x > 100)
exit(-1);return result;
};
Nach dem Login kopieren

main.c-Datei erstellen mit folgendem Inhalt:

#include <stdio.h>#include <stdlib.h>int main(void){int x;
printf("Input an integer:\n");
scanf("%d", &x);
printf("sum=%d\n", sum(x));return 0;
};
Nach dem Login kopieren

Kompilieren

gcc -c sum.c -fPIC -o sum.ogcc -c main.c -fPIC -o main.o
Nach dem Login kopieren

Um eine ausführbare Datei zu generieren, lautet der Dateiname main

gcc -o main sum.o main.o
Nach dem Login kopieren
Nach dem Login kopieren

Führen Sie das Programm aus

./main
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Ausführung Das Ergebnis ist das gleiche wie oben

3 Verwenden Sie die Dynamic Link Library-Methode

, um eine Dynamic Link Library zu generieren

gcc sum.o -shared -o sum.so
Nach dem Login kopieren

, um eine ausführbare Datei mit zu generieren der Dateiname main

gcc -o main sum.o main.o
Nach dem Login kopieren
Nach dem Login kopieren

execute

./main
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn der folgende Fehler gemeldet wird, bedeutet dies, dass die gerade generierte sum.so nicht im Standardpfad der Dynamic Link Library gefunden wurde

./main: Fehler beim Laden gemeinsam genutzter Bibliotheken: sum.so: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

Führen Sie den folgenden Befehl aus, um das aktuelle Verzeichnis zur Umgebungsvariablen für den Suchpfad der Dynamic Link Library hinzuzufügen

export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH
Nach dem Login kopieren

Erneut ausführen

./main
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das Ausführungsergebnis ist das gleiche wie oben

4 Python ruft die .so Dynamic Link Library auf

Erstellen Sie die test.py-Datei mit folgendem Inhalt:

import ctypes
so = ctypes.CDLL('./sum.so')print "so.sum(50) = %d" % so.sum(50)
Nach dem Login kopieren

Execute

root@ubuntu:/ybg/python# python test.py 
so.sum(50) = 1275
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kompiliere und führe ich ein C-Programm in einer Linux-Umgebung aus? (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage