Я пытался кодировать базы ОС с помощью C++. Чтобы управлять прерываниями, мне пришлось написать несколько строк asm, которые используют внешний код C++, объявленный в asm с external name_of_the_function
. Я поместил одну из этих функций в класс, но я не знаю, как получить доступ к методу класса из сборки (external Class::method
не работает). Единственный способ, которым я нашел это, - создать функцию, которая вместо этого вызывает метод класса, но можно ли получить доступ непосредственно к методу из сборки? (при условии, что эти методы являются статическими)Доступ к методу класса из сборки
ответ
- Загляните в свой объектный файл на C++, чтобы найти искомое имя символа для функции, которую вы хотите вызвать.
- Заявить, что искомое имя функции
external
илиglobal
или любой другой синтаксис, необходимый для ассемблера в файле сборки. - Назовите это так, как если бы вы использовали функцию C (вам может понадобиться указатель
this
, если это метод экземпляра).
3. (помня, чтобы передать 'this' в качестве первого параметра для функции) – Massa
@ Масса - я думаю, что мой ответ уже говорит об этом. Может быть, вы видите кешированную версию? Кроме того, если это статический (класс) метод, как говорит OP, там не подразумевается 'this', не так ли? –
Большое спасибо, он решил мою проблему! – palra
- 1. Доступ к методу класса
- 2. Доступ к методу из другого класса
- 3. Доступ к методу подкласса из другого класса
- 4. Доступ к защищенному методу из родительского класса
- 5. Доступ к UIView-методу из класса Cocos2D
- 6. Доступ к методу анонимного класса
- 7. ZF2: Доступ к методу из другого класса из класса
- 8. Доступ к методу класса MooTools извне класса
- 9. Доступ к методу из JSTL
- 10. Не удается получить доступ к методу класса из внутреннего класса
- 11. Доступ к пользовательскому методу делегата класса UIView из родительского класса
- 12. Доступ к методу основного класса и запуска из другого класса
- 13. Как получить доступ к методу расширенного класса из вложенного класса?
- 14. Как получить доступ к методу супер класса из другого класса?
- 15. Доступ к методу базового класса только из производного класса
- 16. Доступ к методу класса для объекта из другого класса, C++
- 17. Доступ к методу класса tornado websocket из другого класса
- 18. TypeScript: доступ к статическому методу класса
- 19. Доступ к методу в другом файле класса
- 20. Доступ к методу класса $ _SERVER в классе
- 21. Доступ к методу из параметров из другого класса
- 22. Как получить доступ к методу из фрагмента из другого класса?
- 23. Доступ к члену/методу виртуального производного класса
- 24. доступ к статическому методу в переменной класса
- 25. Доступ к методу класса в классе реализации
- 26. Доступ к методу класса PHP в Joomla
- 27. Доступ к методу родительского класса в подклассе
- 28. Доступ к методу разного класса в jsp
- 29. Доступ к внешнему методу изнутри класса
- 30. Доступ к методу класса полезности в groovy
Вы можете посмотреть * имя коверкая *: https://en.wikipedia.org/wiki/Name_mangling – templatetypedef
Посмотрите на [призывающих конвенции] Agner противотуманными в (http://www.agner.org /optimize/calling_conventions.pdf). –