コンテンツにスキップ

C言語/C23で不要になったヘッダー

出典: フリー教科書『ウィキブックス(Wikibooks)』

C23 で不要になったヘッダー

[編集]

C23 では、以下のヘッダーが不要になりました。これらは、C11/C17 で提供されていた機能が C23 で言語に直接組み込まれたためです。

<stdbool.h>

[編集]
  • 理由: C23 では、booltruefalse がキーワードとして直接サポートされるようになりました。
  • 詳細:
    • C11/C17: booltruefalsestdbool.h でマクロとして定義されていました。
    • C23: これらのマクロがキーワードとして直接サポートされるようになり、stdbool.h は不要になりました。

<stdalign.h>

[編集]
  • 理由: C23 では、alignasalignof がキーワードとして直接サポートされるようになりました。
  • 詳細:
    • C11/C17: alignasalignofstdalign.h でマクロとして定義されていました。
    • C23: これらのマクロがキーワードとして直接サポートされるようになり、stdalign.h は不要になりました。

<stdnoreturn.h>

[編集]
  • 理由: C23 では、[[noreturn]] 属性が直接サポートされるようになりました。
  • 詳細:
    • C11/C17: noreturnstdnoreturn.h_Noreturn へのマクロとして定義されていました。
    • C23: [[noreturn]] 属性が直接サポートされるようになり、stdnoreturn.h は不要になりました。

<threads.h>

[編集]
  • 理由: C23では、thread_local がキーワードとして直接サポートされるようになりました。これにより、threads.h をインクルードして thread_local マクロを利用する必要がなくなりました。
  • 詳細:

まとめ

[編集]

C23 で不要になったヘッダーは以下の通りです: