功能測試巨集

2021-07-10 20:47:55 字數 775 閱讀 5301

unix的功能測試巨集,在標頭檔案中定義了很多posix.1和xpg3的符號。但是除了posix.1和xpg3定義外,大多數實現在這些標頭檔案中也加上了他們自己的定義。如果在編譯乙個程式時,希望它只是用posix定義而不使用任何實現定義的限制,那麼就需要定義常數_posix_source,所有posix.1標頭檔案中都是用此常數。當該常數定義時,就能排除任何實現專有的定義。

常數_posix_source及對應的常數_xopen_source被稱為功能性測試巨集(feature test macro)。所有功能測試巨集都以下劃線開始。要使用他們時,通常在cc命令列中以下列方式定義:

cc -d_posix_source file.c
這使得在c程式包括任何標頭檔案之前,定義了功能測試巨集。如果我們僅想用posix.1定義,那麼也可以將原始檔的第一行設定為:

#define _posix_source 1
另乙個功能測試巨集是:stdc,它由符合ansi c標準的編譯程式自動定義。這樣就允許我們編寫ansi c編譯程式和非ansi c編譯程式都能編譯的程式。例如,乙個標頭檔案可能會是:

#ifdef __stdc__  

void *myfunc(const char*, int);

#else

void *myfunc();

#endif

這樣就能發揮ansi c原型功能的長處,要注意在開始和結束的兩個連續的下劃線常常列印成乙個長下劃線。

關於UNIX功能測試巨集

unix的 功能測試巨集,在標頭檔案中定義了很多posix.1和xpg3的符號。但是除了posix.1和xpg3定義外,大多數實現在這些標頭檔案中也加上了他們自己的定義。如果在編譯乙個程式時,希望它只是用posix定義而不使用任何實現定義的限制,那麼就需要定義常數 posix source,所有po...

巨集定義測試

include 得到filed在結構體中的偏移量 define foffset type,field size t type 0 field typedef struct test reg test reg test reg int main void unsigned char test 0 te...

CPPUnit 測試巨集

測試方法的主要是根據要測試的物件寫一部分呼叫 和檢查 檢查 當然首先要產生期望值,然後呼叫cppunit提供的assert巨集check。the macro provided by cppunit is as following a cppunit assert condition 判斷condit...