[編輯] 錯誤編號
|
|
展開為與 POSIX 相容的執行緒區域錯誤碼變數的巨集 (巨集變數) [編輯] |
|
|
用於標準 POSIX 相容錯誤狀況的巨集 (巨集常數) [編輯] |
[編輯] 斷言
|
|
若使用者指定的條件不為 true,則中止程式。發行版本 (release builds) 中可被禁用 (函數巨集) [編輯] |
|
|
若常數表達式的值為 false,則發出編譯時診斷訊息 (關鍵字巨集)
|
邊界檢查 (Bounds checking)
標準函式庫提供了一些現有函式的邊界檢查版本 (gets_s, fopen_s, printf_s, strcpy_s, wcscpy_s, mbstowcs_s, qsort_s, getenv_s 等)。此功能為選用,且僅在定義了 __STDC_LIB_EXT1__ 時可用。以下巨集和函式支援此功能。
|
|
|
|
int 型別的別名 (typedef),用於讓回傳 errno 值的函式具備自我說明能力 (typedef)
|
|
|
|
|
與 size_t 相同型別的別名 (typedef),用於讓在執行階段進行參數範圍檢查的函式具備自我說明能力 (typedef)
|
|
|
|
|
邊界檢查函式可接受的最大尺寸,會展開為常數或變數,該值可能在執行階段改變(例如,隨著當前配置記憶體大小的變化而改變) (巨集變數)
|
|
|
|
|
設定邊界檢查函式的錯誤回呼 (error callback) (函式) [編輯] |
|
|
邊界檢查函式的中止回呼 (函式) [編輯] |
|
|
邊界檢查函式的忽略回呼 (函式) [編輯] |
注意:邊界檢查函式的實作可作為開源函式庫 Safe C 與 Slibc 取得,亦為 Watcom C 的一部分。Visual Studio 中也提供了一組不相容的邊界檢查函式。
|
(自 C11 起) |
[編輯] 附註
自 C23 起,static_assert 本身即為關鍵字,也可能是預定義的巨集,因此 <assert.h> 不再提供它。
[編輯] 參考資料
| 延伸內容
|
- C23 標準 (ISO/IEC 9899:2024)
- 7.2 診斷 <assert.h> (頁: 待定)
-
- 7.19 常見定義 <stddef.h> (頁: 待定)
- 7.20 整數型別 <stdint.h> (頁: 待定)
- 7.21 輸入/輸出 <stdio.h> (頁: 待定)
- 7.22 一般公用程式 <stdlib.h> (p: 待定)
- K.3.1.3 errno 的使用 (頁: 待定)
-
-
- K.3.4/2 RSIZE_MAX (頁: 待定)
- 7.31.3 錯誤 <errno.h> (頁: 待定)
- 7.31.10 整數型別 <stdint.h> (頁: 待定)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 待定)
- 7.31.12 一般公用程式 <stdlib.h> (p: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 7.2 診斷 <assert.h> (頁: 待定)
-
- 7.19 常見定義 <stddef.h> (頁: 待定)
- 7.20 整數型別 <stdint.h> (頁: 待定)
- 7.21 輸入/輸出 <stdio.h> (頁: 待定)
- 7.22 一般公用程式 <stdlib.h> (p: 待定)
- K.3.1.3 errno 的使用 (頁: 待定)
-
-
- K.3.4/2 RSIZE_MAX (頁: 待定)
- 7.31.3 錯誤 <errno.h> (頁: 待定)
- 7.31.10 整數型別 <stdint.h> (頁: 待定)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 待定)
- 7.31.12 一般公用程式 <stdlib.h> (p: 待定)
- C11 標準 (ISO/IEC 9899:2011)
- 7.2 診斷 <assert.h> (頁: 186-187)
- 7.5 錯誤 <errno.h> (頁: 205)
- 7.19 常見定義 <stddef.h> (頁: 288)
- 7.20 整數型別 <stdint.h> (頁: 289-295)
- 7.21 輸入/輸出 <stdio.h> (頁: 296-339)
- 7.22 一般公用程式 <stdlib.h> (p: 340-360)
- K.3.1.3 errno 的使用 (頁: 584)
-
-
- K.3.4/2 RSIZE_MAX (頁: 585)
- 7.31.3 錯誤 <errno.h> (頁: 455)
- 7.31.10 整數型別 <stdint.h> (頁: 456)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 456)
- 7.31.12 一般公用程式 <stdlib.h> (p: 456)
- C99 標準 (ISO/IEC 9899:1999)
- 7.2 診斷 <assert.h> (頁: 169)
- 7.5 錯誤 <errno.h> (頁: 186)
- 7.26.3 錯誤 <errno.h> (頁: 401)
- 7.26.8 整數型別 <stdint.h> (頁: 401)
- 7.26.9 輸入/輸出 <stdio.h> (頁: 402)
- 7.26.10 一般公用程式 <stdlib.h> (p: 402)
- C89/C90 標準 (ISO/IEC 9899:1990)
-
-
-
-
-
|
[編輯] 參見
|
|
定義通用數學函式所使用的錯誤處理機制 (巨集常數) [編輯] |
|
|