(Un)portable defer in C
C 언어에서 자원 해제를 자동화하는 defer 기능은 여러 제안과 구현이 존재하지만 표준으로 채택되지는 않았다. GCC의 cleanup 속성과 nested function, Clang의 blocks, MSVC의 structured exception handling 등 각 컴파일러별로 다른 방식으로 구현 가능하나, 보안 문제나 호환성 한계가 있다. 간단한 for 루프나 스택 기반 구현도 있지만 조기 종료 시 동작 보장이 어렵거나 별도의 반환 매크로 사용이 필요하다. C23 표준에 defer가 포함될 가능성이 있으나, 현재는 컴파일러별 트레이드오프를 고려해 선택해야 한다.



