#pragma一度#ifndefのと

C言語のヘッダファイルは、単純にコピー&ペースト。
C言語変数、関数、および2つの独立したプロセスの構造の宣言型定義。免責事項は通常、繰り返し文を防ぐために、あなたはOBJファイルを構築する際にヘッダファイルの内容が一度だけ含まれていることを確認する必要があり、ヘッダファイルを置きました。これは、によって行われ#ifndefたマクロと#pragma once二つの方法で実現します。

#ifndefマクロ定義モード:

#ifndef SOME_UNIQUE_NAME_HERE
#define SOME_UNIQUE_NAME_HERE
 
// contents of the header
...
 
#endif // SOME_UNIQUE_NAME_HERE

#pragma once

#pragma once
 
// contents of the header
...

2つの方法の長所と短所:

  • #pragma once互換性が悪い、いくつかのコンパイラは、このマクロコマンドをサポートしていません。より広範なサポートを得るためにマクロ定義された方法。
  • マクロ定義は、より柔軟であり、ユーザ特定のコードがコンパイルされる制御するための柔軟性を可能にします。#pragma once一度だけコンパイル全体のコードファイルを制御する唯一の方法。#pragma once機能は、マクロ定義関数のサブセットです。
  • マクロ定義のエラーは非常に微妙で、紛争後、マクロ名をマクロ名を定義する必要があります。
  • #pragma once構文は、より簡潔読みやすく、そしてマクロが3つの文章で書くことにする方法です。

おすすめ

転載: www.cnblogs.com/weiyinfu/p/11043237.html