Frage

Ich versuche, eine API für eine proprietäre Schnittstelle Gerät auf einem Embedded-System (Freescale HCS08) zu verwenden, und die zur Verfügung gestellten Dateien enthalten Header (.h) und Bibliotheken (LIB). Der Header kompiliert fein mit dem Rest meines Codes (Standard-C), aber wenn sie auf Link gegen die Bibliothek versucht, erhalte ich Speicherfehler dass die Datei beschädigt werden könnte.

Mein Verständnis von Bibliotheken in C ist etwas begrenzt, da ich auf Embedded-Systemen fast ausschließlich arbeiten, wo magische Dinge wie stdio, Dateien und DLLs nicht existieren; aber würde die (oder jede) Bibliotheksplattform konkretisieren? Ist es vollständig enthalten (wenn es irgendeine Art von Ebene gibt es) kompilierten Code? Einige der anderen Dateien vorgesehen sind VS-Projektdateien, so dass, wenn es der Fall ist, dass die LIB-Plattform-spezifisch ist, ist es nicht unerwartet sein würde, dass eine Datei verknüpfen bedeutete für x86-Windows auf einen 8-Bit-Compiler fehlschlagen würde; es könnte nur ich sein.

War es hilfreich?

Lösung

Nicht nur ein LIB-Datei CPU spezifisch ist (es wäre keine Möglichkeit, Link HCS08 Code zu x86-Code zu sein), ist es Toolchain spezifische (Codewarrior nicht an SDCC, GCC / binutils reden zu Visual Studio nicht sprechen ).

Andere Tipps

Ja, die LIB enthält kompilierten Code, so dass es plattformspezifisch ist. Wenn Sie die Quelle haben, sollten Sie in der Lage sein, es zu Ihrer Plattform neu zu kompilieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top