Ist es möglich, GMP in einer freistehenden Umgebung zu verwenden?Verwendung von GMP in freistehenden Programmen
Ich arbeite an einem Programm, das auf Bare Metal laufen muss (um Overhead zu reduzieren und auch für Sicherheitszwecke - außerhalb Code ist nicht erlaubt), zwingt mich, einen minimalistischen Kernel zu erstellen, aber ich muss auch GMP verwenden für beliebig große ganze Zahlen. Ich habe mir Mini-GMP angeschaut, allerdings scheint es um Größenordnungen langsamer zu sein als echter (voller) GMP.
Bitte beachten Sie: Ich habe bei this Frage sah, aber es scheint keine Antworten anderer als der, in dem die OP sagte er mit Mini-GMP glücklich war ..
Welche Probleme treten bei der Verwendung von GMP auf? –
@OliverCharlesworth GMP funktioniert gut für normale Programme, aber wenn es in einem Programm verwendet wird, das mit -freestanding kompiliert wird, meldet der Linker undefinierte Referenzfehler, wenn eine GMP-Funktion verwendet wird. – aleks
Eine freistehende Umgebung stellt nicht unbedingt die C-Standardbibliothek bereit. Wenn Sie Standardbibliotheksfunktionen in einer solchen Umgebung verwenden oder eine Bibliothek eines Drittanbieters verwenden möchten, müssen Sie bereit sein, eigene Implementierungen der erforderlichen Funktionen bereitzustellen. Das ist sicherlich möglich, aber es könnte sich herausstellen, dass es sich um eine ziemlich große Anzahl von Funktionen handelt, die bereitgestellt werden müssen, und Sie müssen darauf achten, dass Ihre Implementierungen konform sind. –