それぞれの型コンストラクタを呼び出すnewによるメモリ割り当てと、 mallocによるメモリ割り当てはそうではないことが知られています。しかし、kmalloc はどうでしょうか。
いくつかのシステム コールを開発しようとしていますが、以下の構造体にメモリを割り当てる必要があります。
struct mailbox{
unsigned long existing_messages;
unsigned long mxid;
struct message *msg;
struct message *last_node;
mailbox(){
existing_messages = 0;
mxid = 0;
msg = NULL;
last_node = NULL;
}
};
kmallocでメモリを割り当てると、割り当て時に構造体メールボックスのコンストラクタが呼び出されますか? そうでない場合、コンストラクターを明示的に呼び出す以外に、コンストラクターを呼び出す合理的な方法は何ですか。カーネルのメモリ割り当てに新しい機能と同等の機能はありますか?