フリースタンディング環境でGMPを使用することは可能ですか?フリースタンディングプログラムでGMPを使用する
私はベアメタル(オーバーヘッドを減らすため、セキュリティ上の理由から - 外部コードは許可されていません)で動作しなければならないプログラムに取り組んでおり、最小限のカーネルを作成する必要がありますが、GMP任意の大きな整数に対して。私はミニGMPを見てきましたが、実際の(完全な)GMPよりもはるかに遅いです。
ご注意:私はthis質問を見てきました、しかし、OPは、彼がミニGMP満足していたことを特徴とする1以外の答えはないように思える。..
GMPに対して/リンクを使用しようとすると、どのような問題が発生しますか? –
@OliverCharlesworth GMPは通常のプログラムでは正常に動作しますが、-ffreestandingでコンパイルされたプログラムで使用すると、GMP関数が使用されるたびに未定義の参照エラーが報告されます。 – aleks
フリースタンディング環境では必ずしもC標準ライブラリが提供されるとは限りません。そのような環境で標準ライブラリ関数を使用したい場合や、そうしたサードパーティのライブラリを使用する場合は、必要な関数の実装を独自に用意する必要があります。確かに可能ですが、提供される必要がある関数の数がかなり多いことが判明し、実装が適合するように注意する必要があります。 –