gpt4 book ai didi

c++ - 是否可以在 extern "C" block 内运行 C++ 代码?

转载 作者:行者123 更新时间:2023-12-01 14:05:24 25 4
gpt4 key购买 nike

例如

class demo {
public:
static void printDemo(void)
{
std::cout << "Hi there" << std::endl;
}
};

extern "C"{

void myInterrupt(void)
{
demo::printDemo();
}

}

通常是 extern "C"是为了维护 C 风格的链接,所以声明 myInterrupt匹配在另一个文件中声明的中断 vector 中的那个,例如 startup.S ,并且该函数的地址有效地安装在 vector 中。

但是,在这个 block 内调用额外的 C++ 函数会影响它吗?

最佳答案

Is it possible to run C++ code inside an extern “C” block?



是的。

该函数具有 C 接口(interface),因为它可以从 C 程序中调用。但是实现可以包含 C++ 代码。

But does calling additional c++ functions inside this block affects it?



不。

关于c++ - 是否可以在 extern "C" block 内运行 C++ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61001587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com