objective c 十 關於巨集的使用

2022-09-04 01:48:10 字數 951 閱讀 4065

在objective-c中,有一種類似於jsp小指令碼的東西,叫做巨集。這種東西實際上就是在編譯是才對實際使用的值與物件進行確認,主要針對的是編譯過程。

預編譯的乙個使用是

#define 巨集名稱 值

在以上是定義乙個類似於記憶體的東西。巨集名稱是自定義的。可以等同於變數名,有不成文的約定是使用全部大寫的字母。 後面的值可以標量,也可以函式**。非常靈活

當定義好了以後。這就是乙個預編譯常量。開始在**的任何地方使用。

以上只是乙個最基本的還可以這樣使用

#define 巨集名稱(x,y) nslog(@"",(x),(y));

這樣。只需要在下面的**中呼叫如下

巨集名稱(1,2);

即可呼叫以上的列印;

還有以下專門為巨集準備的內建巨集變數

__file__  獲取當前執行檔案位置

__line__  獲取當前呼叫行數

__date__  獲取當前日期

__time__  獲取當前時間

這些都是在編譯時獲取的。所以自定義的變數不可使用"__"開頭和結尾

前面講過巨集不僅可以定義常量,還可以定義函式。那麼當函式不是一行時。可以使用 \+enter 來實現多行函式

還有乙個小技巧是。可以獲取乙個變數的變數名

#define 巨集名稱(value) nslog(@"%s---%@",#value,value);

如上:#value列印出來的是變數的變數名稱,value可以列印出變數的值。用於內部檢查非常適合。

最後介紹的是

#ifdef 巨集名稱

code

#else if 巨集名稱

code

#else

code

#endif

這樣就可以實現在預編譯階段區分一些**。如果是測試環境,和正式環境區分使用就可以通過這個方法來實現。

其實內建巨集還有很多。具體使用的時候可以到gcc文件查閱

前端基礎之十 關於文字和顏色

1 涉及到的長度單位 1 px畫素 這個是我們最常用的單位,我們螢幕就是乙個乙個畫素點構成的,乙個畫素點就是乙個畫素。不同的螢幕乙個畫素的大小是不同的。2 百分比 當設定乙個百分比時,瀏覽器會自動根據其父元素的屬性來計算大小。優點是,當父元素的屬性發生改變時,子元素按照比例相應改變。百分比相對的屬性...

Django學習筆記(十) 關於中介軟體的介紹

在django處理的請求的各個處理階段,可以插入自己的邏輯 介於request與response處理之間的一道處理過程 輕量級 在全域性上改變django的輸入 輸出 從瀏覽器發出乙個請求requset,得到乙個響應後的內容httpresponse 每乙個請求都是先通過中介軟體中的process r...

十 關於MySQL 標識列,你該了解這些!

又稱為自增長列 含義 可以不用手動的插入值,系統提供預設的序列值 特點 1 標識列必須和主鍵搭配嗎?不一定,但要求是乙個key 2 乙個表可以有幾個標識列?至多乙個!3 標識列的型別只能是數值型 4 標識列可以通過 set auto increment increment 3 設定步長 可以通過 手...