- Apakah menggunakan linux/*.h yang disertakan dalam kode ruang pengguna merupakan ide yang buruk?
Ya, biasanya. Situasi umumnya adalah Anda harus menggunakan header C-library (dalam hal ini, stdint.h
dan teman), dan berinteraksi dengan pustaka C melalui tipe ruang pengguna tersebut, dan biarkan pustaka menangani percakapan dengan kernel melalui tipe kernel.
Anda tidak berada dalam situasi yang khas. Dalam kasus Anda, Anda menulis pustaka driver . Jadi, Anda harus menghadirkan antarmuka ke ruang pengguna menggunakan stdint.h
, tetapi menggunakan linux/*.h
header saat Anda berinteraksi dengan driver kernel Anda.
Jadi jawabannya tidak, dalam kasus Anda.
- Apakah penggunaan stdint.h dalam kode kernel-space merupakan ide yang buruk?
Pasti ya.
Lihat juga:http://lwn.net/Articles/113349/
Mengapa pilih digunakan di Linux
Bagaimana saya bisa meneruskan semua argumen dengan xargs di tengah perintah di linux