是否可以在 extern "C" 块中使用 运行 C++ 代码?
Is it possible to run C++ code inside an extern "C" block?
例如
class demo {
public:
static void printDemo(void)
{
std::cout << "Hi there" << std::endl;
}
};
extern "C"{
void myInterrupt(void)
{
demo::printDemo();
}
}
通常 extern "C"
是为了保持 C 风格的链接,所以 myInterrupt
的声明与在另一个文件如 startup.S
中声明的中断向量中的声明相匹配,地址此功能的有效安装在向量中。
但是,在此块内调用其他 C++ 函数会影响它吗?
Is it possible to run C++ code inside an extern “C” block?
是的。
该函数具有 C 接口,可以从 C 程序调用它。但实现可以包含 C++ 代码。
But does calling additional c++ functions inside this block affects it?
没有
例如
class demo {
public:
static void printDemo(void)
{
std::cout << "Hi there" << std::endl;
}
};
extern "C"{
void myInterrupt(void)
{
demo::printDemo();
}
}
通常 extern "C"
是为了保持 C 风格的链接,所以 myInterrupt
的声明与在另一个文件如 startup.S
中声明的中断向量中的声明相匹配,地址此功能的有效安装在向量中。
但是,在此块内调用其他 C++ 函数会影响它吗?
Is it possible to run C++ code inside an extern “C” block?
是的。
该函数具有 C 接口,可以从 C 程序调用它。但实现可以包含 C++ 代码。
But does calling additional c++ functions inside this block affects it?
没有