Обзор/справочник для Открытых Микропрограммных Деревьев устройств

Короткий ответ, "потому что это - то, как разрешение перегрузки работает в C++".

компилятор ищет функции F в классе C, и если он находит кого-либо, он останавливает поиск и пытается выбрать кандидата среди тех. Это только смотрит в базовых классах, если никакие функции соответствия не были найдены в производном классе.

Однако можно явно ввести функции базового класса в пространство имен производного класса:

struct C : public B {
  void f(void*) {}
  using B::f; // Add B's f function to C's namespace, allowing it to participate in overload resolution
};
6
задан TheCodeArtist 19 July 2013 в 15:05
поделиться

1 ответ

Похоже, что документации очень мало, особенно по драйверам. поговорил со знакомым мне давним разработчиком ядра Linux, и он посоветовал по существу взглянуть на код других драйверов.

я нашел некоторые справочные материалы: Grant Likely презентация , Grant Likely Linux Symposium paper, довольно хороший обзор структуры данных.

Обнаружено наиболее распространенное использование открытой системы микропрограмм в драйверах Freescale fsl_x.c в arch / powerpc / tree в ядре Linux, более поздних, чем 2.6.16.

4
ответ дан 17 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: