SIMPLE SOLUTIONS

CTASSERT(9FREEBSD) - man page online | system kernel interfaces

Compile time assertion macro.

Chapter
September 5, 2008
CTASSERT(9)                       BSD Kernel Developer's Manual                       CTASSERT(9)

NAME CTASSERT — compile time assertion macro
SYNOPSIS #include <sys/param.h> #include <sys/systm.h> CTASSERT(expression);
DESCRIPTION The CTASSERT() macro evaluates expression at compile time and causes a compiler error if it is false. The CTASSERT() macro is useful for asserting the size or alignment of important data struc‐ tures and variables during compilation, which would otherwise cause the code to fail at run time.
IMPLEMENTATION NOTES The CTASSERT() macro should not be used in a header file. It is implemented using a dummy typedef, with a name (based on line number) that may conflict with a CTASSERT() in a source file including that header.
EXAMPLES Assert that the size of the uuid structure is 16 bytes. CTASSERT(sizeof(struct uuid) == 16);
SEE ALSO KASSERT(9)
AUTHORS This manual page was written by Hiten M. Pandya ⟨@FreeBSD.org⟩.
BSD September 5, 2008 BSD
This manual Reference Other manuals
CTASSERT(9freebsd) referred by
refer to KASSERT(9freebsd)