亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我應該在標題中使用#include嗎?

我應該在標題中使用#include嗎?

C C++
拉丁的傳說 2019-07-02 10:33:02
我應該在標題中使用#include嗎?有必要#include某些文件,如果在標題(*.h)中,使用在該文件中定義的類型?例如,如果我使用glib并希望使用gchar在我的標題中定義的結構中的基本類型,是否需要執行#include <glib.h>知道我已經把它放在我的*.c文件里了嗎?如果是的話,我也必須把它放在#ifndef和#define或在#define?
查看完整描述

3 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

一個好的做法是,只有在包含文件需要時,才將#include放在包含文件中。如果給定包含文件中的定義僅在.C文件中使用,則只將其包含在.C文件中。

在您的示例中,我將它包含在#ifdef/#endif之間的include文件中。

這將最小化依賴項,這樣如果包含文件更改,不需要給定包含的文件就不必重新編譯。


查看完整回答
反對 回復 2019-07-02
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

在編譯過程中,預處理器只是用指定的文件內容替換#include指令。為了防止無止境的循環,它應該使用

#ifndef SOMEIDENTIFIER#define SOMEIDENTIFIER....header file body........#endif

如果某個頭被包含到另一個包含到您的文件中的頭中,則不需要再次顯式地包含它,因為它將遞歸地包含到文件中。


查看完整回答
反對 回復 2019-07-02
  • 3 回答
  • 0 關注
  • 507 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號