記一筆 關於檔案包含

2021-06-01 10:36:24 字數 958 閱讀 2559

**:《pointers on c》  kenneth a. reek 著

一、函式庫檔案包含

編譯器支援兩漢走不同型別的#include 檔案包含:函式庫檔案和本地檔案。事實上,它們之間的區別很小。

函式庫標頭檔案包含使用下面的語法。

#include

對於filename,並不存在任何限制,不過根據約定,標準庫檔案以乙個.h字尾結尾。

編譯器通過觀察由編譯器定義的「一系列標準位置」查詢函式庫標頭檔案。你所使用的編譯器的文件應該說明這些標準位置是什麼,以及你怎樣修改它們或者在列表中新增其他位置。例如,在典型情況下,執行於unix系統上的c編譯器在/usr/include目錄查詢函式庫標頭檔案。這種編譯器有乙個命令列選項,允許你把其他目錄新增到這個列表中,這樣你就可以建立你自己的標頭檔案函式庫。同樣,請查閱你使用的編譯器的文件,看看你的系統在這方面是怎樣規定的。

二、本地檔案包含

下面是#include 指令的另一種形式。

#include "filename"

標準允許編譯器自行決定是否把本地形式的#include 和函式庫形式的#include 區別對待。你可以對本地標頭檔案先使用一種特殊的處理方式,如果失敗,編譯器再按照函式庫標頭檔案的處理方式對它們進行處理。處理本地標頭檔案的一種常見策略就是在原始檔所在的當前目錄進行查詢,如果該標頭檔案並未找到,編譯器就像查詢函式庫標頭檔案一樣在標準位置查詢本地標頭檔案。

你可以在所有的#include 語句中使用雙引號而不是尖括號。但是,使用這種方法,有些編譯器在查詢函式庫標頭檔案時可能會浪費少許時間。對函式庫標頭檔案使用尖括號的另乙個較好的理由是它能給讀者提供一些資訊。使用尖括號,下面這條語句

#include

顯然顯然引用的是乙個函式庫標頭檔案。如果使用另一種形式,

#include "errno.h"

就無法弄清楚這個和上面相同的檔案到底是乙個函式庫標頭檔案還是乙個本地檔案。要想農明白它究竟是哪種型別?唯一的方法是檢查執行編譯過程的目錄。

專案一筆記

1.hibernate持久層的通用實現 public class basedaoimplextends hibernatedaosupport implements ibasedao 在父類 basedaoimpl 的構造方法中動態獲得entityclass public basedaoimpl 2...

理解矩陣 一 筆記

僅記錄學習孟巖老師的 blog 時的收穫,孟巖老師的原文章見 1 空間的本質特徵 容納運動。事實上,不管是什麼空間,都必須容納和支援在其中發生的符合規則的運動 變換 你會發現,在某種空間中往往會存在一種相對應的變換,比如拓撲空間中有拓撲變換,線性空間中有線性變換,仿射空間中有仿射變換,其實這些變換都...

Python基礎一筆記

變數.rstrip 是刪除字串末尾空白,變數.lstrip 是刪除字串開頭空白,變數.strip是同時剔除字串兩端的空白 在列表中插入元素 使用變數.insert 引數1 列表中的位置,引數2 在這個位置處插入乙個元素 在列表中刪除元素 使用del語句 del 變數名 位置索引 注 使用del語句刪...