НЕ ИСПОЛЬЗУЙТЕ ЩЕЛЧОК СЛУЧАТЕЛЕЙ В КЛАССЕ ВИДЕОХОЗЯЙКА
он всегда будет возвращать ноль, поскольку не инициализируется.
Используйте прослушиватели щелчков в методе onBindViewHolder () Адаптера просмотра.
ЦП может быть переключен от режима выполнения на 64 бита до 32 битов, когда это захватывает в контекст ядра, и ядро на 32 бита может все еще быть создано, чтобы понять, что структуры передали в из приложений пространства пользователя на 64 бита.
MacOS X ядер непосредственно не разыменовывают указатели из пользовательского приложения так или иначе, поскольку это находится свое собственное отдельное адресное пространство. Указатель пространства пользователя в вызове ioctl, например, должен сначала быть разрешен к его физическому адресу и затем новому виртуальному адресу, созданному в адресном пространстве ядра. Действительно не имеет значения, был ли тот указатель в ioctl 64 битами или 32 битами, ядро не разыменовывает его непосредственно ни в одном случае.
Настолько смесительное ядро на 32 бита и двоичные файлы на 64 бита могут работать, и наоборот. Вещь, которую Вы не можете сделать, смешать библиотеки на 32 бита с приложением на 64 бита, поскольку указатели передали между ними, будет усеченным. MacOS X предоставлений больше ее платформ в обеих версиях на 32 и 64 бита в каждом выпуске.
Это не ядро, которое выполняет двоичный файл. Это - процессор.
двоичный файл действительно называет библиотечные функции, и те должны быть 64 бита. И если они должны сделать системный вызов, это - их обязанность справиться с тем, что они сами - 64 бита, но ядро - только 32.
, Но это не что-то, о чем необходимо было бы волноваться.
Обратите внимание, что не весь 32-разрядные ядра способны к выполнению 64-разрядных процессов. Windows, конечно, не имеет этого свойства, и я никогда не видел сделанный на Linux.
Ядро на 32 бита, которое способно к загрузке и рабочим двоичным файлам на 64 бита, должно иметь код на приблизительно 64 бита для обработки размещения в ОЗУ, загрузки программы и нескольких других проблем на 64 бита.
Однако планировщик и много других операций ОС не требуются, чтобы работать в режиме на 64 бита, чтобы заниматься другими проблемами - это переключает процессор на режим на 32 бита и назад по мере необходимости обработать драйверы, задачи, выделение памяти и отображение, прерывания, и т.д.
На самом деле, большинство вещей, которые делает ОС, не обязательно выполнило бы немного быстрее достигание 64 битов - ОС не является тяжелым процессором данных, и те части, которые являются (потоки, дисковый ввод-вывод, и т.д.), вероятно, преобразовываются в 64 бита (плагины к ОС так или иначе).
, Но само пустое ядро, вероятно, не был бы переключение задач немного быстрее, и т.д., если бы это были 64 бита.
Это в особенности имеет место, когда большинство людей все еще запускает приложения на 32 бита, таким образом, переключение мод не всегда необходимо, даже при том, что это - низкая служебная операция, она действительно занимает время.
-Adam
Для ядра, чтобы быть 64-разрядным только принес бы эффективное преимущество, что расширения ядра (т.е. обычно драйверы) могли быть 64-разрядными. На самом деле у Вас должны были бы быть или все 64-разрядные расширения ядра, или (как имеет место теперь), все 32-разрядные; они должны быть собственными к архитектуре рабочего ядра.
Файл ELF32 может содержать 64-битные инструкции и работать в 64-битном режиме. Единственное, что он имеет, это то, что организация заголовка и символов в 32-битном формате. Смещения таблицы символов - 32 бита. Записи в таблице символов имеют ширину 32 бита и т. Д. Файл, содержащий как 64-битный, так и 32-битный код, может быть представлен как 32-битный файл ELF, если он использует 64-битные регистры для своих внутренних вычислений. mach_kernel - один из таких исполняемых файлов. Его преимущество в том, что с ним можно связать 32-битные драйверы ELF. Если он позаботится о передаче указателей, расположенных ниже 4 ГБ, в другие связанные двоичные файлы ELF, он будет работать нормально.