VisualStudio2010でgrub-bootableC++カーネルを試してみました。
newとdeleteが書き込まれ、動的に割り当てられた配列などが機能するようになりました。たとえば、STLリストを使用できます。memcpyルーチンを作成した後、それらをソートすることもできます。問題は、std::vectorタイプを使用する場合です。ベクトルを作成するだけで、カーネルがララランドに送られます。
明らかに、ある種の関数の実装が欠けていますが、STLを調べてそれを探し、手ぶらで出てきました。push_backで失敗します:
vector<int> v;
v.push_back(1);
そしてエーテルに消えます。
私が欠けているものについて何か推測はありますか?
はい、それはintのベクトルです。混乱させて申し訳ありません。それだけでなく、失敗するコンストラクターではなく、push_backの呼び出しです。