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環境のpyqt4
- 4. 適切な技術と環境の選択
- 5. 最適なプログラミング環境
- 6. キャッシュのためにLinuxユーザ空間メモリを使用する
- 7. Gentoo Linuxのグローバル環境(ルート用)
- 8. haskell開発環境用ツール? (Linux)の
- 9. Linux環境でのApexデータローダ?
- 10. Linuxで安全なPython環境
- 11. Linuxバッファオーバーフロー環境変数
- 12. プログラム環境のWSO2アプリケーションインスタンスID
- 13. C++プログラムのメモリリークJNI環境
- 14. CMake環境でフラグを適用する
- 15. Javaシステム環境変数現在のユーザ
- 16. resqueがレール環境を適切にロードしていません
- 17. linuxのデスクトップ環境の開発
- 18. Linuxカーネルハッキングのための仮想環境
- 19. 32および64ビットアプリケーション(C++)をビルドするためのLinux環境
- 20. MacからLinuxへの仮想環境
- 21. Linux/Unix環境でのJfreeChartエラー
- 22. Linuxの動的環境変数は?
- 23. Accurev - 64ビットマシンで環境無視ルールが適用されない
- 24. アプリケーションのWDKビルド環境でのブーストを使用しますか?
- 25. Java/Java EE用のビルドと統合環境
- 26. AndroidスタジオのGradleビルドに環境変数を使用する
- 27. Linux環境に相当するPyFMIパッケージ
- 28. 環境変数値内の空白
- 29. 最適化Jinja2の環境の作成
- 30. カーネル空間とユーザ空間の時間の差異
私はLinuxカーネルプログラミングの基礎を学んでおり、モジュールを構築しています。今私は、私が/ dev/mem /と/ proc /のカスタムファイルとやりとりする "ユーザスペースデバイスドライバ"と呼ばれるものを構築しようとしています。私は、いくつかのプリプロセッサの変数と、アーキテクチャのページテーブルヘッダのいくつかに定義されている構造体にアクセスしたいと思います。そのような状況に対して、あなたのお勧めは何ですか?再度、感謝します。 – Tyler
私のお勧めは、同じことをする既存のプログラムを見て、彼らが何をしているのかを見ることです。残念ながら、私はアーキテクチャー固有のユーザー・ドライバーを一度も実行していません。ルーティング、ファイルシステム、アカウンティングのみです。 –
もう少し詳しく見ていきます。一般的に言えば、コード抜粋がありますが、Makefileは付いていません。 – Tyler