<ブロック引用> <オール> ユーザー空間コードで linux/*.h インクルードを使用するのは悪い考えですか?
カーネル空間のコードで stdint.h を使用するのは悪い考えですか?
Linux
はい、通常。典型的な状況では、C ライブラリ ヘッダーを使用する必要があります (この場合、stdint.h
および友人)、およびそれらのユーザー空間型を介して C ライブラリとインターフェイスし、ライブラリがカーネル型を介してカーネルとの対話を処理できるようにします。
しかし、あなたは典型的な状況ではありません。あなたのケースでは、ドライバー ライブラリを作成しています。 .したがって、 stdint.h
を使用してユーザー空間へのインターフェースを提示する必要があります 、ただし linux/*.h
を使用 カーネル ドライバーに接続するときのヘッダー。
したがって、あなたの場合、答えはノーです。
<ブロック引用> <オール>間違いなくそうです。
参照:http://lwn.net/Articles/113349/