1. gzyueqian
      13352868059

      嵌入式開發:為何頭文件聲明時加extern定義時不要加

      更新時間: 2023-11-23 18:06:54來源: 粵嵌教育瀏覽量:1345

        在嵌入式開發中,頭文件的聲明和定義是一個常見的問題。在C和C++中,通常會使用頭文件來聲明函數、變量和類型等,以便在不同的源文件中共享這些聲明。然而,在使用頭文件時,有時會遇到需要在頭文件中進行聲明但不進行定義,或者需要在源文件中進行定義但不進行聲明的情況。在這種情況下,我們通常會使用`extern`關鍵字來進行聲明,但不會在定義時使用`extern`關鍵字。下面我們將詳細探討為什么要這樣做。

        頭文件中的聲明

        在頭文件中進行聲明時,通常使用`extern`關鍵字來表示這是一個外部的聲明,而不是定義。例如,當我們在頭文件中聲明一個全局變量或者函數時,我們會使用`extern`關鍵字來表示這只是一個聲明,而不是定義。這樣做的目的是為了告訴編譯器,這個變量或函數的定義在其他的源文件中,需要在鏈接時進行解析。

        源文件中的定義

        在源文件中進行定義時,我們不需要再次使用`extern`關鍵字,因為在這里我們要進行的是定義,而不是聲明。在源文件中,我們會給變量分配內存或者給函數提供具體的實現,這就是定義。因此,我們不需要再次使用`extern`關鍵字來表示這是一個外部的聲明。

        為什么這樣做?

        這種區分聲明和定義的方式有助于提高代碼的可維護性和可移植性。通過在頭文件中使用`extern`進行聲明,我們可以清晰地表明這只是一個聲明,而不是定義,這樣可以避免在多個源文件中包含同一個頭文件時引起的重復定義錯誤。而在源文件中進行定義時,我們不需要再次使用`extern`,這樣可以使代碼更加清晰和簡潔。

        實際應用

        在實際的嵌入式開發中,我們通常會遵循這種聲明和定義的方式來管理頭文件。這樣做有助于避免因為重復包含頭文件而引起的重復定義錯誤,同時也有助于提高代碼的可讀性和可維護性。

        總結

        在嵌入式開發中,頭文件的聲明和定義是一個重要的問題。為了提高代碼的可維護性和可移植性,我們通常會在頭文件中使用`extern`進行聲明,而在源文件中進行定義時不再使用`extern`。這種區分聲明和定義的方式有助于避免重復定義錯誤,并使代碼更加清晰和簡潔。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 在线中文字幕第一页 | 五码三级级精品国产宾馆 | 最新亚洲人成在线观看 | 午夜男女爽刺激视频在线 | 五月亭亭中文字幕 | 尹人香蕉久久99天天拍欧美 |