アカウント名:
パスワード:
カーネルってgcc使ってても自分自身で使う標準ライブラリは自分で用意するの?
カーネルはすくなくともCのホスト環境では書かれていないので、string.h相当がなかったら自分で用意する必要がある。
ふつうにCと言ったらホスト環境でしょう。
カーネルモードでユーザーモードのライブラリをそのまま使えないのは常識だが? WindowsもmsvcrtやUCRTを使えないから独自のRTL用意されているぞ。たとえばユーザーモードでの例外やシグナルはカーネルがいい感じに処理してくれることを前提に書かれている。それをカーネルモードでそのまま使ったらどうなると思う?
一番簡単な例で言うと標準Cライブラリのmalloc()やfree()はカーネルにお願いしてメモリを取ってきたり解放したりすることになる。ゆえにカーネルは標準ライブラリは呼べない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
最近Cを学習してるんだけど (スコア:0)
カーネルってgcc使ってても自分自身で使う標準ライブラリは自分で用意するの?
Re: (スコア:0)
カーネルはすくなくともCのホスト環境では書かれていないので、string.h相当がなかったら自分で用意する必要がある。
ふつうにCと言ったらホスト環境でしょう。
Re: (スコア:0)
カーネルモードでユーザーモードのライブラリをそのまま使えないのは常識だが? WindowsもmsvcrtやUCRTを使えないから独自のRTL用意されているぞ。
たとえばユーザーモードでの例外やシグナルはカーネルがいい感じに処理してくれることを前提に書かれている。それをカーネルモードでそのまま使ったらどうなると思う?
Re: (スコア:0)
一番簡単な例で言うと標準Cライブラリのmalloc()やfree()はカーネルにお願いしてメモリを取ってきたり解放したりすることになる。
ゆえにカーネルは標準ライブラリは呼べない。