タグ

ブックマーク / kaworu.jpn.org (1)

  • C言語のインクルードガードはpragma onceを使う - C言語入門

    インクルードガードとは、ソースコードのinclude処理が重複して発生することを防ぐためのものです。C言語では、define/ifndefのプリプロセッサディレクティブを利用して、インクルードガードを実現していました。処理系の拡張により pragma once が追加されました。 読み方 pragma once ぷらぐま わんす インクルードガード いんくるーどがーど include guard いんくるーどがーど 概要 C言語のプリプロセッサ(cpp) は、プリプロッサディレクティブ の include が出現するたびに、ヘッダファイル(.h)を展開しようとします。 インクルードガードは、ヘッダファイルの相互インクルードで無限ループに陥ることを防ぐことができます。ただし、defineの重複を排除することができないため、思わぬ副作用を産んでしまうこともありました。 何度もインクルードするこ

    reboot_in
    reboot_in 2020/10/30
    “インクルードガードとは、includeディレクティブによる相互インクルードの無限ループを防ぐために利用されます。 C言語では、インクルードガードは pragma once を利用します。”
  • 1