[編輯] 錯誤碼
|
擴充套件為 POSIX 相容的執行緒區域性錯誤碼變數的宏 (宏變數) [編輯] |
|
標準 POSIX 相容錯誤條件的宏 (宏常量) [編輯] |
[編輯] 斷言
|
如果使用者指定的條件不為 true,則中止程式。可以在釋出版本中停用。 (函式宏) [編輯] |
|
如果常量表達式的值為 false,則發出編譯時診斷。 (關鍵字宏)
|
邊界檢查
標準庫提供了一些現有函式的邊界檢查版本(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)
|
|
|
邊界檢查函式可接受的最大大小,展開為常量或變數,該變數在執行時可能發生變化(例如,噹噹前分配的記憶體大小變化時)。 (宏變數)
|
|
|
為邊界檢查函式設定錯誤回撥。 (函式) [編輯] |
|
邊界檢查函式的中止回撥。 (函式) [編輯] |
|
邊界檢查函式的忽略回撥。 (函式) [編輯] |
注意:邊界檢查函式的實現可在開源庫 Safe C 和 Slibc 中找到,並且是 Watcom C 的一部分。Visual Studio 中也有一組不相容的邊界檢查函式。
|
(C11 起) |
[編輯] 注意
自 C23 起,static_assert 本身就是一個關鍵字,也可能是一個預定義宏,因此 <assert.h>
不再提供它。
[編輯] 參考
擴充套件內容
|
- C23 標準 (ISO/IEC 9899:2024)
- 7.2 診斷 <assert.h> (p: TBD)
- 7.5 錯誤 <errno.h> (p: TBD)
- 7.19 常見定義 <stddef.h> (p: TBD)
- 7.20 整型 <stdint.h> (p: TBD)
- 7.21 輸入/輸出 <stdio.h> (p: TBD)
- 7.22 通用工具 <stdlib.h> (p: 待定)
- K.3.1.3 errno 的使用 (p: TBD)
-
-
- K.3.4/2 RSIZE_MAX (p: TBD)
- 7.31.3 錯誤 <errno.h> (p: TBD)
- 7.31.10 整型 <stdint.h> (p: TBD)
- 7.31.11 輸入/輸出 <stdio.h> (p: TBD)
- 7.31.12 通用工具 <stdlib.h> (p: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 7.2 診斷 <assert.h> (p: TBD)
- 7.5 錯誤 <errno.h> (p: TBD)
- 7.19 常見定義 <stddef.h> (p: TBD)
- 7.20 整型 <stdint.h> (p: TBD)
- 7.21 輸入/輸出 <stdio.h> (p: TBD)
- 7.22 通用工具 <stdlib.h> (p: 待定)
- K.3.1.3 errno 的使用 (p: TBD)
-
-
- K.3.4/2 RSIZE_MAX (p: TBD)
- 7.31.3 錯誤 <errno.h> (p: TBD)
- 7.31.10 整型 <stdint.h> (p: TBD)
- 7.31.11 輸入/輸出 <stdio.h> (p: TBD)
- 7.31.12 通用工具 <stdlib.h> (p: 待定)
- C11 標準 (ISO/IEC 9899:2011)
- 7.2 診斷 <assert.h> (p: 186-187)
- 7.5 錯誤 <errno.h> (p: 205)
- 7.19 常見定義 <stddef.h> (p: 288)
- 7.20 整型 <stdint.h> (p: 289-295)
- 7.21 輸入/輸出 <stdio.h> (p: 296-339)
- 7.22 通用工具 <stdlib.h> (p: 340-360)
- K.3.1.3 errno 的使用 (p: 584)
-
-
- K.3.4/2 RSIZE_MAX (p: 585)
- 7.31.3 錯誤 <errno.h> (p: 455)
- 7.31.10 整型 <stdint.h> (p: 456)
- 7.31.11 輸入/輸出 <stdio.h> (p: 456)
- 7.31.12 通用工具 <stdlib.h> (p: 456)
- C99 標準 (ISO/IEC 9899:1999)
- 7.2 診斷 <assert.h> (p: 169)
- 7.5 錯誤 <errno.h> (p: 186)
- 7.26.3 錯誤 <errno.h> (p: 401)
- 7.26.8 整型 <stdint.h> (p: 401)
- 7.26.9 輸入/輸出 <stdio.h> (p: 402)
- 7.26.10 通用工具 <stdlib.h> (p: 402)
- C89/C90 標準 (ISO/IEC 9899:1990)
-
-
-
-
-
|
[編輯] 另見
|
定義常用數學函式使用的錯誤處理機制 (宏常量) [編輯] |
|