C++:翻译单元和链接

本文介绍了C++程序中的翻译单元和链接过程。翻译单元由实现文件及包含的头文件组成,每个单元单独编译后由链接器合并为程序。ODR规则规定同一名称只能定义一次。全局变量和自由函数默认具有外部链接,可在所有翻译单元中可见。通过`static`关键字可声明内部链接,限制对象的可见性。常量、constexpr对象、typedefs和命名空间内的静态对象默认具有内部链接。
摘要由CSDN通过智能技术生成

C++:翻译单元和链接

简介

在 c + + 程序中, 符号(例如变量或函数名)可以在其作用域内任意多次声明,但只能定义一次。 此规则是 (ODR) 的 “一个定义规则”。 声明 会引入 (或重新引入程序) 名称。 定义 会引入一个名称。 如果名称表示一个变量,则定义会对其进行显式初始化。 函数定义 包括签名和函数体。 类定义包含类名,后跟一个列出所有类成员的块。 (可以选择在另一个文件中单独定义成员函数的主体。 )
下面的示例演示了一些声明:

int i;
int f(int x);
class C;

下面的示例演示了一些定义:

int i{
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值