Objective-C預先處理程式

來源:互聯網
上載者:User

Objective-C學習筆記之預先處理程式是本文要介紹的內容,主要介紹了預先處理程式中語句的使用方法,預先處理程式語句以(#)標記。來看詳細內容。

一、#define

1、更進階的定義類型

給符號名稱指派運算式和其他任何東西。如:

 
  1. #define TWO_PI 2*3.141592654,#define AND && 

預先處理程式假設定義包含在程式的一行中。如果需要第二行,那麼上一行的最後一個字元必須是反斜線符號“\”。如:

 
  1. #define IS_LEAP_YEAR(y) y%4==0&&y0!=0\  
  2. ||y@0==0 

可帶參數。預定義(definition)通常稱作“宏”。

2、#運算子

如果在宏定義中參數之前放置一個#,那麼在調用該宏時,預先處理程式將根據宏參數建立C風格的常量字串。如:

 
  1. #define str(x) #x  
  2. str(testing)——"testing"  
  3. str("hello")——"\"hello"\" 

3、##運算子

用於把兩個標記(token)連在一起。它的前面(或後面)是宏的參數名稱。預先處理程式使用調用該宏時提供的實際參數,並且根據該參數和##之後(或之前)的標記建立單個標記。如:

 
  1. #define printx(n) printf("%i\n",x##n);  
  2. printx(20)——printf("%i\n",x20); 
二、#import語句

.h->標頭檔(或包含檔案)。

設定一組#import語句,將其輸入到一個xxx.h的獨立檔案中,若需要則使用預先處理程式指令:

#import "xxx.h"。

#import <……>導致預先處理程式只在特殊的"system"標頭檔目錄中尋找包含檔案,目前的目錄不會被搜尋。

#import "……"預先處理程式在一個或者多個檔案目錄。

三、條件編譯

通常用於建立可以在不同電腦系統上編譯啟動並執行程式,經常用來開關程式中的各種語句。

1、#ifdef、#endif、#else和#ifndef語句

從一個電腦系統上移植到另一個電腦系統上。

2、#if和#elif預先處理程式語句

運算式結果非零——#else、#elif或#endif為止的所有後續行,否則跳過它們。

特殊運算子:#define (name) 也能用在#if語句中。

3、#undef語句

使一些已經定義的名稱稱為未定義的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.