C++编译单元 内部链接 外部链接
生活随笔
收集整理的這篇文章主要介紹了
C++编译单元 内部链接 外部链接
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 編譯單元 內部鏈接 外部鏈接簡單解釋
- 代碼解釋
- 外部鏈接
- 內部鏈接
- C++ 中的內部鏈接 和外部鏈接 類型
編譯單元 內部鏈接 外部鏈接簡單解釋
這是一個最簡單最表面的解釋,深入的解釋應該要深入了解計算機程序運行的原理(在深入理解計算機操作系統中應該有)
編譯單元 :一個cpp文件就是一個編譯單元。
內部鏈接:在一個編譯單元中的對象不可以被其他編譯單元使用。
外部鏈接:在一個編譯單元中的對象可以被其他編譯單元使用
鏈接問題在代碼中可以未解析的外部符號來報錯,這就是編譯單元聲明了函數,但是卻沒有提供函數的實現,而且其他編譯單元也沒有提供此函數的外部鏈接。
代碼解釋
外部鏈接
如下兩個cpp文件中,other.cpp中實現了函數f(),main()函數中聲明了f(),但是沒有實現f(),在編譯的時候,由于f()是外部鏈接,所以main函數編譯時可以鏈接到other.cpp中的f()
other.cpp
main.cpp
#include <iostream> void f(); int main() {f(); }內部鏈接
當對函數f(),用inline修飾時,f()就是內部鏈接 此時再運行程序就會報錯。
#include<iostream> inline void f() {std::cout << "I'm other file cpp" << std::endl; }C++ 中的內部鏈接 和外部鏈接 類型
內部鏈接:
外部鏈接:
總結
以上是生活随笔為你收集整理的C++编译单元 内部链接 外部链接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode :string字符串和
- 下一篇: C++编程思想:指针,引用,拷贝构造函数