assert(3) - wariua/manpages-ko GitHub Wiki

NAME

assert - 단언이 거짓이면 ν”„λ‘œκ·Έλž¨ μ€‘λ‹¨ν•˜κΈ°

SYNOPSIS

#include <assert.h>

void assert(scalar expression);

DESCRIPTION

이 λ§€ν¬λ‘œλŠ” μ œν•œλœ 디버깅 좜λ ₯을 λ‚΄λ†“λŠ” ν¬λž˜μ‹œλ₯Ό 톡해 ν”„λ‘œκ·Έλž˜λ¨Έκ°€ 자기 ν”„λ‘œκ·Έλž¨μ˜ 버그λ₯Ό μ°Ύκ±°λ‚˜ μ˜ˆμ™Έμ  경우λ₯Ό λ‹€λ£¨λŠ” 데 도움을 μ€€λ‹€.

expression이 거짓이면 (즉 0κ³Ό λΉ„κ΅ν•΄μ„œ κ°™μœΌλ©΄) assert()κ°€ ν‘œμ€€ 였λ₯˜λ‘œ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό 찍고 abort(3) 호좜둜 ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œμ‹œν‚¨λ‹€. 였λ₯˜ λ©”μ‹œμ§€μ—λŠ” assert() ν˜ΈμΆœμ„ λ‹΄κ³  μžˆλŠ” 파일과 ν•¨μˆ˜μ˜ 이름, 호좜의 μ†ŒμŠ€ μ½”λ“œ ν–‰ 번호, 인자 ν…μŠ€νŠΈκ°€ ν¬ν•¨λœλ‹€. λ‹€μŒκ³Ό 같은 식이닀.

prog: some_file.c:16: some_func: Assertion `val == 0' failed.

<assert.h>λ₯Ό λ§ˆμ§€λ§‰μœΌλ‘œ ν¬ν•¨ν•˜λŠ” μ‹œμ μ— 맀크둜 NDEBUGκ°€ μ •μ˜λ˜μ–΄ 있으면 assert() λ§€ν¬λ‘œκ°€ 아무 μ½”λ“œλ„ λ§Œλ“€μ§€ μ•Šκ³ , κ·Έλž˜μ„œ 아무것도 ν•˜μ§€ μ•ŠλŠ”λ‹€. 였λ₯˜ 쑰건 탐지에 assert()λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 NDEBUGλ₯Ό μ •μ˜ν•˜μ§€ μ•ŠκΈ°λ₯Ό κΆŒν•œλ‹€. μ†Œν”„νŠΈμ›¨μ–΄κ°€ λΉ„κ²°μ •μ μœΌλ‘œ λ™μž‘ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.

RETURN VALUE

아무 값도 λ°˜ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
assert() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, C89, C99. C89μ—μ„œλŠ” expression이 int νƒ€μž…μ΄μ–΄μ•Ό ν•˜κ³  μ•„λ‹Œ 경우 λ™μž‘ κ²°κ³Όκ°€ κ·œμ •λ˜μ–΄ μžˆμ§€ μ•Šλ‹€. ν•˜μ§€λ§Œ C99μ—μ„œλŠ” μ–΄λ–€ 슀칼라 νƒ€μž…λ„ 될 수 μžˆλ‹€.

BUGS

assert()λŠ” 맀크둜둜 κ΅¬ν˜„λ˜μ–΄ μžˆλ‹€. κ²€μ‚¬ν•˜λŠ” 식에 λΆ€λŒ€ νš¨κ³Όκ°€ 있으면 NDEBUGκ°€ μ •μ˜λ˜μ–΄ μžˆλŠ”μ§€ 여뢀에 따라 ν”„λ‘œκ·Έλž¨ λ™μž‘μ΄ λ‹¬λΌμ§ˆ μˆ˜λ„ μžˆλ‹€. 이 λ•Œλ¬Έμ— 디버깅을 켜면 사라져 λ²„λ¦¬λŠ” ν•˜μ΄μ  λ²„κ·Έκ°€ 생길 수 μžˆλ‹€.

SEE ALSO

abort(3), assert_perror(3), exit(3)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️