C語言標頭檔引用

來源:互聯網
上載者:User

標籤:oid   system   不同的   一個   名稱   檔案中   make   條件編譯   height   

1,引用分為兩種

firs:include<fileName.h> 引用系統標頭檔一般用<>。

second:include"fileName.h" 引用自己定義的標頭檔一般用" "。

區別是<>首先去系統中去找," "則在自己當前檔案夾找。

2,只引用一次標頭檔

如果一個標頭檔被引用兩次,編譯器會處理兩次標頭檔的內容,這將產生錯誤。為了防止這種情況,標準的做法是把檔案的整個內容放在條件編譯語句中,如下:

_test.c 

#include"_preprocess.h"int main(){    testPreprocess();}

_preprocess.h

#ifndef PREPROCESS#define PREPROCESS #include<stdio.h>#include<stdlib.h>void testPreprocess();#endif

_preprocess.c

#include"_preprocess.h"void testPreprocess(){    printf("Test preprocess");}

命令 gcc _test.c _preprocess.c產生 .exe運行就可以了

3,有條件引用

有時需要從多個不同的標頭檔中選擇一個引用到程式中。例如,需要指定在不同的作業系統上使用的配置參數。您可以通過一系列條件來實現這點,如下:

#if SYSTEM_1   # include "system_1.h"#elif SYSTEM_2   # include "system_2.h"#elif SYSTEM_3   ...#endif

 

但是如果標頭檔比較多的時候,這麼做是很不妥當的,前置處理器使用宏來定義標頭檔的名稱。這就是所謂的有條件引用。它不是用標頭檔的名稱作為 #include 的直接參數,您只需要使用宏名稱代替即可:

 #define SYSTEM_H "system_1.h" ... #include SYSTEM_H

SYSTEM_H 會擴充,前置處理器會尋找 system_1.h,就像 #include 最初編寫的那樣。SYSTEM_H 可通過 -D 選項被您的 Makefile 定義。

C語言標頭檔引用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.