Wie öffne ich C-Bibliotheken und Funktionsimplementierungen?

Wie öffne ich C-Bibliotheken und Funktionsimplementierungen?

Ich habe das Problem, dass ich die Headerdateien/Bibliotheken nicht durchsuchen kann, um die Implementierung der C-Funktionen wie mssget, msgsnd, shmat usw. zu erhalten.

Wie soll ich diese Dateien öffnen?

Antwort1

Wenn Sie sich speziell auf die Header-Datei beziehen sys/msg.h, sollte diese vom libc6-devEntwicklungspaket bereitgestellt werden

Stellen Sie zunächst sicher, dass das Paket installiert ist, entweder über die Anwendung „Software Center“ oder über ein Terminal mit

sudo apt-get install libc6-dev

Danach sollten Sie in der Lage sein, die Header-Datei unter

/usr/include/i386-linux-gnu/sys/msg.h

(für 32-Bit-Systeme) oder

/usr/include/x86_64-linux-gnu/sys/msg.h

(für 64-Bit-Systeme).


Um die tatsächliche Implementierung einer Bibliotheksfunktion zu sehen, müssen Sie das entsprechende Quellcodepaket herunterladen: Zuerst müssen Sie das entsprechende Quellcode-Repository aktivieren (sieheWie aktiviere ich die Quellcode-Repositories?wenn Sie nicht wissen, wie das geht) und dann beispielsweise in einem Verzeichnis Ihrer Wahl

apt-get source libc6-dev

lädt das Quell-Tarball herunter, entpackt es und patcht es in dieses Verzeichnis (in diesem Fall wird „eglibc“ als Quellpaket anstelle von „libc6-dev“ ausgewählt). Es msggetscheint sich jedoch msgsndnur um Stub-Funktionen zu handeln – ich weiß nicht genug über Linux IPC, um Ihnen darüber hinaus Ratschläge zu geben.

verwandte Informationen