我试图用 C++ 编写操作系统的基础代码。为了管理中断,我不得不编写一些 asm 行,这些行使用在 asm 中声明的外部 C++ 代码,带有 external name_of_the_function
。我将其中一个函数放在一个类中,但我不知道如何从程序集中访问类方法(external Class::method
不起作用)。我发现这样做的唯一方法是创建一个调用类方法的函数,但是是否可以直接从程序集访问该方法? (假设这些方法是静态的)
最佳答案
- 查看您的 C++ 目标文件,找到您要调用的函数的错位符号名称。
- 在汇编文件中声明该错位函数名称
external
或global
或您的汇编程序所需的任何语法。 - 像调用 C 函数一样调用它(如果它是实例方法,您可能需要找到一个
this
指针)。
关于c++ - 从程序集中访问类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17201335/