是否可以在外部“ C”块中运行C ++代码?

问题描述 投票:4回答:1

例如

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 ++函数会对其产生影响吗?

c++ c interop
1个回答
4
投票

是否可以在外部“ C”块中运行C ++代码?

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

但是在此块中调用其他c ++函数会对其产生影响吗?

编号

© www.soinside.com 2019 - 2024. All rights reserved.