C++函数链接性

函数链接性

C++变量根据链接性可分为外部变量和内部变量,C++函数也有链接性,也可分为外部函数和内部函数。

普通的函数就是外部函数,由static修饰的函数为内部函数。


// 外部函数
void global_fun();

// 内部函数
static internal_fun();

外部函数的使用

C++外部变量的使用规则是一处声明,多处引用,而且要使用extern关键字来引用。

而C++的外部函数也是如此,只不过可以省略extern关键字。但是通常会加上extern关键字,表示是外部函数。

// file1.cpp
void show()
{
    std::cout << "show..." << std::endl;
}
// file2.cpp

// extern 表明使用外部函数,但是可以省略
extern void();

int main()
{
    show();
    return 0;
}

使用C库的函数

C和C++编译函数的原理是不一样的,现在如果有一个C库,如果在C++中链接到C库中的函数呢?

// extern 表示使用外部函数,"C"表示链接的语言为C
extern "C" void show();


int main()
{
    // 使用C库的show()
    show();
    reuturn 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。