assert_perror(3) - wariua/manpages-ko GitHub Wiki
assert_perror - ์ค๋ฅ ๋ฒํธ ๊ฒ์ฌํด์ ์ค๋จํ๊ธฐ
#define _GNU_SOURCE /* feature_test_macros(7) ์ฐธ๊ณ */
#include <assert.h>
void assert_perror(int errnum);
<assert.h>
๋ฅผ ๋ง์ง๋ง์ผ๋ก ํฌํจํ๋ ์์ ์ ๋งคํฌ๋ก NDEBUG
๊ฐ ์ ์๋์ด ์์ผ๋ฉด assert_perror()
๋งคํฌ๋ก๊ฐ ์๋ฌด ์ฝ๋๋ ๋ง๋ค์ง ์๊ณ , ๊ทธ๋์ ์๋ฌด๊ฒ๋ ํ์ง ์๋๋ค. ๊ทธ ์ธ์ ๊ฒฝ์ฐ์๋ errnum
์ด 0์ด ์๋ ๊ฒฝ์ฐ์ assert_perror()
๋งคํฌ๋ก๊ฐ ํ์ค ์ค๋ฅ๋ก ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฐ๊ณ abort(3) ํธ์ถ๋ก ํ๋ก๊ทธ๋จ์ ์ข
๋ฃ์ํจ๋ค. ๋ฉ์์ง์๋ ๋งคํฌ๋ก ํธ์ถ์ด ์๋ ํ์ผ๋ช
, ํจ์๋ช
, ํ ๋ฒํธ, ๊ทธ๋ฆฌ๊ณ strerror(errnum)
์ ์ถ๋ ฅ์ด ๋ด๊ธด๋ค.
์๋ฌด ๊ฐ๋ ๋ฐํํ์ง ์๋๋ค.
์ด ์ ์์ ์ฌ์ฉํ๋ ์ฉ์ด๋ค์ ๋ํ ์ค๋ช ์ attributes(7)๋ฅผ ๋ณด๋ผ.
์ธํฐํ์ด์ค | ์์ฑ | ๊ฐ |
---|---|---|
assert_perror() |
์ค๋ ๋ ์์ ์ฑ | MT-Safe |
GNU ํ์ฅ์ด๋ค.
assert ๋งคํฌ๋ก์ ๋ชฉ์ ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๊ธฐ ํ๋ก๊ทธ๋จ์์ ์ฝ๋ฉ ์ค์๊ฐ ์๋๋ฉด ๋ฐ์ํ ์ ์๋ ์ข
๋ฅ์ ๋ฒ๊ทธ๋ค์ ์ฐพ๋ ๋ฐ ๋์์ ์ฃผ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์์คํ
ํธ์ถ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์์๋ ์ํฉ์ด ์ข ๋ฌ๋ผ์, ์ค๋ฅ ๋ฐํ์ด ์ผ์ด๋ ์ ์๊ณ , ์ผ์ด๋ ๊ฒ์ด๊ณ , ๊ทธ๋์ ๊ฒ์ฌ๋ฅผ ํด์ผ ํ๋ค. NDEBUG
๊ฐ ์ ์๋์ด ์์ผ๋ฉด ๊ฒ์ฌ๊ฐ ์ฌ๋ผ์ง๋ assert๋ฅผ ํตํด์์๊ฐ ์๋๋ผ ์ฌ๋ฐ๋ฅธ ์ค๋ฅ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ํตํด์ ๋ง์ด๋ค. ์ ๋ ์ด ๋งคํฌ๋ก๋ฅผ ์ฐ์ง ๋ง๋ผ.
abort(3), assert(3), exit(3), strerror(3)
2017-09-15