| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Забавный макрос container_of |
| Автор: newbie2009 16.8.2013, 04:05 | ||
| Доброго времени суток. Наткнулся на такую вот статью - http://linuxkernel51.blogspot.kr/2011/02/how-containerof-macro-works-example.html Решил попробовать для своих целей, но не могу понять почему оно не работает в моем случаи и хотелось бы понять, как оно вообще в целом работает. Подскажите пожайлуста:
Собственно если я расскоментирую вот эту часть *&my_vma->mm;*/, то я уже pid получу не верный, почему? И почему если я вместо struct mm_struct *my_mm = &ts->mm; напишу struct mm_struct *my_mm = ts->mm; , то нефига опять работать не будет, там ведт вроде не должно быть - & ? |
| Автор: mes 16.8.2013, 09:33 |
| проблема в указателе, вам нужен адрес поля mm (т.е. указатель на указатель), а не того обьекта, на который это поле указывает.. |
| Автор: newbie2009 16.8.2013, 10:30 | ||
| Спасибо, в этом я разобрался + вы подвердили. Я не множко переписал тестовое приложение:
Я так понимаю в этом случаи я не смогу получить используя VMA->mm структурку task_struct? Или я опять не правильно использую макрос? Исходя из того, как этот макрос работает я так понял у меня не выйдет сделать. Или я не прав? |