Linuxでカーネルモジュールを開発する場合、C標準ライブラリを使用することはできません。
しかし、私はstrcat()
のようないくつかの一般的な機能を使用する必要がある場合、どこに行かなければなりませんか?Linuxカーネルのstdlib.h代替?
答えて
をご希望の場合は、Linuxカーネルに実装されていないものは何でも私はstrcpy
を行うことができ、あなたは自分自身を実装するか、別のオープンソースのカーネルモジュールから借りる必要があります。しかし、strcat
がカーネルに実装されていることがわかります。
kernel APIのマニュアルを参照してください。具体的には一般的な質問のBasic C Library Functionsセクション、具体的な質問のString Manipulationセクションはstrcat
です。
linux/string.h
を含めると便利です。
カーネルAPIのドキュメントが実際に関数を取得するためにインクルードする必要があるヘッダーファイルを表示しない理由はわかりません。しかし、何かを探しているなら、カーネルのさまざまな部分で共有されている関数があれば、ヘッダーファイルが移動する場所になるので、検索を/include/linux
に制限することができます。
/include/linux
以外のヘッダーファイルには、ヘッダーと同じディレクトリにあるソースファイルの定義のみが含まれています。例外は/arch/.../include
であり、プラットフォームに依存しないヘッダーの代わりにアーキテクチャ固有のヘッダーが含まれます。
申し訳ありません@eq - 別の機能を考えています。
なぜ
void (char *d, const char *s);
{
if (*d)
{
for (; *d; ++d) {} ;
--d;
}
strcpy(d, s);
}
あなたは
@indiv - 思考は正しいです。これらの機能は、毎日習得することができます。 –
文字列関数がライブラリを必要とするにもかかわらず、私たちはどれほど満足していますか? –
... LinuxカーネルはC言語で書かれていますか? –
- 1. Linuxデフォルトスケジューラの代替
- 2. TOADの代替手段(Linux)
- 3. Linuxカーネルのインストール
- 4. Linuxカーネルのlist.h
- 5. Linuxカーネルのバディシステムアロケータ
- 6. Linuxカーネルのメジャーページフォルトハンドラ
- 7. Linuxカーネルのカスタムネットワークプロトコル
- 8. Linuxカーネルのピンマルチプレキシング
- 9. Linux(mono関連)のDebugView代替
- 10. "locate"マックOSXのLinuxコマンド代替
- 11. Linuxカーネル `min`マクロ
- 12. cleanup_module Linuxカーネル
- 13. Linuxカーネル機能
- 14. ガットエラー:Linuxカーネル
- 15. Linuxカーネルでは
- 16. glibとlinuxカーネル
- 17. Linuxカーネルmmu create_page_tables
- 18. linuxカーネル開発
- 19. 設定Linuxカーネル
- 20. は、Linuxカーネル
- 21. Linuxカーネル開発
- 22. LinuxカーネルのI2Cライトアクノリッジポーリング
- 23. Linuxカーネルでのプリエンプション
- 24. Linuxカーネルのnr_cpusブートパラメータ
- 25. 組み込みLinuxカーネルとデスクトップLinuxカーネルの相違
- 26. どのLinux OSにLinuxカーネル2.6.32
- 27. Linuxカーネルの機能set_user_nice
- 28. LinuxカーネルのTCP/IPスタック
- 29. LinuxカーネルTCPソケットの変更
- 30. Linuxカーネルのメモリ破損
これらの種類の機能が保持されているヘッダファイルのリストはありますか? (あなたが 'linux \ string.h'と言ったように) – Fairview
@Fairview:私が見つけることができなかった、それは奇妙です。カーネルAPIで必要な機能を見つけて、それを '/ include/linux'で検索する必要があるでしょう。私は、カーネルのヘッダーファイルについての答えと、 '/ include/linux'とそのサブディレクトリに検索を制限する理由について、より詳しく説明しました。 – indiv