C++函数链接性

2020-05-14  本文已影响0人  不惜留恋_

函数链接性

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;
}
上一篇 下一篇

猜你喜欢

热点阅读