Linuxカーネルのヘッダを含むLinuxユーザ空間プログラムをビルドする必要があります。しかし、これらのヘッダーは順番に他のヘッダーなどを使用するように見えます。だから私の質問は、私は自分のMakefileに必要な可能性のあるディレクトリをすべて含めるための適切な/良い方法は何ですか?ありがとうございました。Linuxユーザ空間プログラム用の適切なビルド環境
1
A
答えて
1
Linuxカーネルヘッダーを使用するほとんどのユーザー空間プログラムは、特別な操作を行う必要はありません。 linux/
はデフォルトのインクルードパスに既に含まれています。 #include <linux/netlink.h>
。ディストリビューションには、これらのファイルがstanh> dardデベロッパーパッケージの一部として含まれています(例えば、Debianのbuild-essential
)。
カーネルモジュールをビルドするときに必要なカーネルバージョン固有のヘッダーを取得することもできますが、ユーザー空間プログラムは通常ソケットとパイプとのみ対話するため、これらのチャネルの構造定義やプロトコルヘルパーが必要です例、Netlink)。
関連する問題
- 1. .Net環境での適切なレポートソリューション
- 2. AT91SAM9 ARMプロセッサのLinuxユーザ空間プログラムの最適化されたFFTと数学
- 3. Linux環境、タイマーコールバックとアプリケーションスレッド間の同期
- 4. ないカスタムLinux環境
- 5. ユーザ空間とLinuxカーネルモジュールとの対話
- 6. ユーザ空間バスエラーからのLinux DMA
- 7. Linux環境のpyqt4
- 8. 環境と名前空間の相違
- 9. ネイティブのための適切な開発環境
- 10. PS1環境変数でLinux sedプログラムが動作しない
- 11. Clion linux環境モジュール
- 12. 適切な技術と環境の選択
- 13. 最適なプログラミング環境
- 14. haskell開発環境用ツール? (Linux)の
- 15. Gentoo Linuxのグローバル環境(ルート用)
- 16. キャッシュのためにLinuxユーザ空間メモリを使用する
- 17. Linux環境でのApexデータローダ?
- 18. Java OutOfMemory Linux環境のみ
- 19. Linuxで安全なPython環境
- 20. 環境に基づくハイパーメディアリンクの適用
- 21. Linuxバッファオーバーフロー環境変数
- 22. Linux MAKEFILEアクセス環境変数
- 23. テスト環境の空中GET
- 24. プログラム環境のWSO2アプリケーションインスタンスID
- 25. C++プログラムのメモリリークJNI環境
- 26. ビルド用の環境変数がDockerfileに表示されない
- 27. CMake環境でフラグを適用する
- 28. Javaシステム環境変数現在のユーザ
- 29. React Native - 不正な環境変数を使用したXcodeビルド
- 30. npmなしでjs環境用にビルドしますか?
私はLinuxカーネルプログラミングの基礎を学んでおり、モジュールを構築しています。今私は、私が/ dev/mem /と/ proc /のカスタムファイルとやりとりする "ユーザスペースデバイスドライバ"と呼ばれるものを構築しようとしています。私は、いくつかのプリプロセッサの変数と、アーキテクチャのページテーブルヘッダのいくつかに定義されている構造体にアクセスしたいと思います。そのような状況に対して、あなたのお勧めは何ですか?再度、感謝します。 – Tyler
私のお勧めは、同じことをする既存のプログラムを見て、彼らが何をしているのかを見ることです。残念ながら、私はアーキテクチャー固有のユーザー・ドライバーを一度も実行していません。ルーティング、ファイルシステム、アカウンティングのみです。 –
もう少し詳しく見ていきます。一般的に言えば、コード抜粋がありますが、Makefileは付いていません。 – Tyler