-1

デバイスのドライバーを書いているとします。いくつかのルーチン (B) で特別に処理する必要があるレジスター (A) のリストがあります。しばらくすると、いくつかのレジスタ (C) 値をさまざまな状況で変更する必要があることに気付くかもしれません (たとえば、ワイヤレス カードの場合、状況はさまざまなチャネルである可能性があります)。ただし、これを行うことにした場合は、このレジスター (C) をリスト (A) に追加して、ルーチン (B) がレジスター (C) を特別に処理できるようにする必要もあります。

したがって、問題は、このタイプのレジスタが、開発の初期段階で多くまたは頻繁に見つかることです。これを維持する良い方法があるかどうか疑問に思っています。

プログラマーがレジスターで何かを行うときにリストと同期するのを忘れた場合、それを静的に維持し、コンパイルエラーを発生させることを考えていました。しかし、それは悪い選択のようです (http://stackoverflow.com/questions/12412742/how-to-throw-a-compiling-error-in-c)

このようなリスト (A) を動的に維持するには、ドライバーにとって重すぎる可能性があります...ヒントはありますか?

gcc コンパイラを使用した Linux ドライバに限定して説明します。

4

1 に答える 1

1

ドライバーにリストを維持させ、ioctl 呼び出しで項目を追加または削除することができます。

ハックだろう。

于 2012-09-13T21:55:50.763 に答える