Glibc common: Difference between revisions
Jump to navigation
Jump to search
(Created page with "== Overview == GNU C library 내용 정리 == assert.h == 컴파일 시, -DNDEBUG 옵션을 함께 사용하면 assert() 관련 함수들이 동작하지 않는다. 조심할...") |
|||
Line 12: | Line 12: | ||
*/ | */ | ||
</pre> | </pre> | ||
mysql 라이브러리 연동시, mysql_config --cflag 옵션을 함께 사용하는 경우가 많다. 그런데 개발 환경에 따라서 -DNDEBUG 옵션이 추가되는 경우가 있다. 조심해야 한다. | |||
<source lang=bash> | |||
$ mysql_config --cflags | |||
-I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG | |||
</source> | |||
=== assert() === | === assert() === |
Revision as of 22:30, 11 July 2016
Overview
GNU C library 내용 정리
assert.h
컴파일 시, -DNDEBUG 옵션을 함께 사용하면 assert() 관련 함수들이 동작하지 않는다. 조심할 것.
/* void assert (int expression); If NDEBUG is defined, do nothing. If not, and EXPRESSION is zero, print an error message and abort. */
mysql 라이브러리 연동시, mysql_config --cflag 옵션을 함께 사용하는 경우가 많다. 그런데 개발 환경에 따라서 -DNDEBUG 옵션이 추가되는 경우가 있다. 조심해야 한다. <source lang=bash> $ mysql_config --cflags -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG </source>
assert()
<source lang=c>
- include <assert.h>
void assert(scalar expression); </source> Expression 의 내용이 false 일 경우, 코어 덤프 생성 후, 프로그램을 종료한다.