Linuxカーネルモジュールで定義されたグローバル変数をサブディレクトリ間で使用できるようにする方法はありますか?EXPORT_SYMBOLを使用すると、現在のディレクトリ全体で使用できるようになります。私はヘッダファイルでそれを定義しようとしましたが、ヘッダファイルを "../name_header.h"を使ってサブディレクトリに入れてみましたが、変数を認識していないようです。 具体的には、私はcファイルに変数vport.c(openvswitchの)を1つ持っています。サブディレクトリの中でこの変数にアクセスしたいと思います。カーネル空間内のサブディレクトリ間でグローバル変数にアクセスする方法は?
2
A
答えて
0
EXPORT_SYMBOL
は、動的リンクコード(カーネルモジュール)でシンボルを使用できますが、これは達成しようとしているとは思われません。
異なるコンパイルユニットから変数にアクセスするには、その変数にアクセスしようとしているCファイルにextern
減速を追加します。あるいは、共通のヘッダーファイルを使用して、そのファイルにexternの減速を入れてください。典型的には、コンパイルユニット(例えば、cファイル)が異なるディレクトリまたはサブディレクトリにあるかどうかは問題ではない。
+0
私もそれをやってみました - 私はヘッダーファイルを使ってみましたが、ovs/includeディレクトリ(すべてのグローバルヘッダーが定義されています)と親ディレクトリに配置しようとしましたが、変数を認識していないようです – lavanya
関連する問題
- 1. 名前空間内のC++グローバル変数
- 2. カーネル空間内のmalloc関数
- 3. Linuxカーネル空間内でリングバッファを読み取る方法は?
- 4. 名前空間内の関数にアクセスする方法
- 5. カーネルからユーザー空間で作成されたノードにアクセスする方法は?
- 6. ユーザ空間とカーネル空間の間でメモリを共有する
- 7. Linuxカーネルからユーザー空間のメモリにアクセスするには?
- 8. linuxカーネル空間のユーザー空間スタックトレースを表示するには
- 9. Javaのグローバル名前空間にアクセス
- 10. 別の名前空間内からのC++グローバル名前空間アクセス
- 11. 、Linuxではカーネル空間
- 12. 関数内のグローバル変数にアクセスする方法は?
- 13. 環境変数はカーネル空間の一部ですか?
- 14. jQuery:グローバル変数名前空間問題
- 15. クラス内の名前空間とグローバル変数の問題
- 16. ポインタを使用してLinuxカーネル空間のメモリページにアクセスする方法
- 17. javascriptグローバル名前空間で関数をスタブ/モックする方法
- 18. Linuxユーザー空間とカーネル空間スケジューリング
- 19. クロージャ内のグローバル変数にアクセスする方法は? (Javascript)
- 20. オーディオオブジェクトのエラーイベント内でグローバル変数にアクセスする方法
- 21. Pythonでスレッド間でグローバル変数を共有する方法は?
- 22. カーネル空間からユーザ空間にパケットをバイパスする
- 23. カーネル空間からユーザ空間関数を実行
- 24. XAMLからグローバル名前空間の列挙型にアクセスする方法
- 25. カーネル空間とユーザ空間の時間の差異
- 26. カーネル/ユーザアドレス空間間の共有ロックフリーキュー
- 27. 同じ名前の変数/オブジェクトを持つ名前空間内のグローバル変数/オブジェクトへのアクセス
- 28. メモリマップの構造カーネル空間
- 29. PHPでセッション間で変数にアクセスする方法は?
- 30. TCLの名前空間変数にアクセスする最速の方法
コードとエラーメッセージを貼り付けることはできますか? – Lin