Ja; die ISO Standard C Bibliothek. Es deckt möglicherweise nicht alle Funktionen, die Sie wollen, aber das ist genau, weil es ist generischen, und als solche ist auch niedrigsten gemeinsamen Nenner. Es unterstützt nur Funktionen, von denen vernünftigerweise erwartet werden kann, dass sie auf Hardware einschließlich eingebetteter Systeme vorhanden sind.
Die Vorgehensweise, um dies zu erreichen, besteht darin, den Bereich der zu unterstützenden Zielplattformen und dann die Anwendungsdomänen (z. B. GUI, Netzwerk, Multithreading, Bildverarbeitung, Dateiverwaltung usw.) anzugeben und dann auszuwählen die einzelnen plattformübergreifenden Bibliotheken, die Ihren Anforderungen entsprechen. Es gibt wahrscheinlich keine einzige Bibliothek, die alle Ihre Bedürfnisse erfüllt, und in einigen Fällen keine gemeinsame Bibliothek.
Das heißt, Sie werden immer in dieser Hinsicht besser bedient werden, indem Sie C++, wo Sie jede C-Bibliothek sowie C++ - Bibliotheken verwenden können. Die C++ - Standardbibliothek ist nicht nur größer, sondern Bibliotheken wie Boost, wxWidgets, ACE decken auch ein breiteres Domänenspektrum ab. Ein anderer Ansatz ist die Verwendung einer plattformübergreifenden Sprache wie Java, die das Problem löst, indem die Hardware zu einer virtuellen Maschine abstrahiert wird. Ähnlich können .NET/Mono und C# eine Lösung für geeignet begrenzte Zielplattformen bereitstellen.
Added folgenden Kommentar: Abstraktion Hardware in Echt Maschine Zielsprache (als solche zu einer VM Sprache im Gegensatz Java oder CLR-basierten Sprachen) vom Betriebssystem zur Verfügung gestellt, so was Sie vielleicht brauchen eine gemeinsame Betriebssystem-API. POSIX ist wahrscheinlich das, was Ihnen am nächsten kommt, da es unter Linux, Unix, OSX (das ist Unix), QNX, VxWorks, BeOS und vielen anderen unterstützt wird; aber nicht wichtig Windows. Eine Möglichkeit, POSIX unter Windows zu verwenden, ist die Verwendung von Cygwin. Eine andere Möglichkeit besteht darin, eine VM als Host für ein POSIX-Betriebssystem wie Linux zu verwenden.
Genau! Ich suchte nach einer plattformübergreifenden Bibliothek, die die gleiche Arbeit wie Java und C# durch Abstrahieren der Hardware leistet. Lassen Sie mich auch meine Frage bearbeiten. – bdhar