include-guards

    0熱度

    5回答

    我想了解multiple-include optimization如何與gcc一起使用。 最近,我一直在讀那有包括標準的頭文件警衛像這樣 #ifndef _STDIO_H_ #include <stdio.h> #endif 大量的代碼,我試圖找出是否這個結構有什麼好處。 下面是我寫的一個例子,以更好地理解這一點。 那麼header1.h #ifndef _HDR_H_ #define

    2熱度

    4回答

    我的頭文件是這樣的: // A.hpp --- A's interface #ifndef MY_H #define MY_H #include<string> #include<vector> class A { public: A(const std::string& name); std::vector<double> foo() const; pri

    0熱度

    1回答

    我有幾個不同的類。很少有人需要彼此瞭解。爲了防止頭痛,我創建了一個文件來保持所有麻煩類的聲明以及適當的包含順序。 #ifndef GLPROJECT_H #define GLPROJECT_H class MainWindow; class Scene; class ShaderProgram; class Shape; #include "ShaderProgram.h" #i

    0熱度

    1回答

    我和我的團隊正在研究一個非常大的項目,其中包含許多具有各自頭文件和源文件的類。我們試圖將所有包含C++庫和項目類頭文件的內容合併到一個名爲「Includes.h」的文件中,該文件包含在每個頭文件中。我在做這件事時遇到的一個問題是類頭文件基本上包含它們自己。我在每個頭文件的頂部都包含了#pragma once。當我在「#Includes.h」文件中註釋掉#include "Controller.h"

    6熱度

    3回答

    我總是把#include放在#ifdef/#define Include-Guard之後。現在,我的IDE(Qt Creator)的重構機制將它放在Include-Guard之前,例如 #include "AnotherHeader.h" #ifndef MYHEADER_H #define MYHEADER_H 這可能導致任何問題,或者我可以這樣離開嗎?

    1熱度

    2回答

    守衛我已經看到這樣的代碼通常是在源文件的開始用C #ifndef _INCLUDE_GUARDS_C #define _INCLUDE_GUARDS_C main() { } function1() { } #endif function2() { } 我感到困惑的這個目的..? 我知道如果包括警衛在頭文件定義,但 什麼的這些目的包括在源文件中後衛?和 爲什麼f

    4熱度

    2回答

    我有3個*.c文件(file1.c,file2.c和file3.c)和1個*.h文件(file3.h)在項目(Visual Studio中)。 /******************************* file3.h ********************************/ #ifndef FILE3_H #define FILE3_H int gintVariable

    1熱度

    1回答

    通常使用包括警衛,當我寫出來,像這樣: #ifndef FILENAME_H #define FILENAME_H ... #endif // FILENAME_H 現在,在一些圖書館的我見過類似的東西: #ifndef FILENAME_H #define FILENAME_H 1 ... #endif // FILENAME_H 一些啓發式算法後,我沒有找到任何理由

    4熱度

    2回答

    我一直在頭文件中使用警衛一段時間,我理解爲什麼他們被使用的唯一原因是在編譯時啓用這個(頭文件有警衛正在考慮中)的單個包含。 我想知道是否有使用頭衛兵的其他任何原因,他們爲什麼沒有在.c文件中使用,如果用於.c文件也衛兵會發生什麼? Ans。從下面的回覆中收集。 通常所有的定義進入.c文件,並且頭文件(.h文件)包含所有的聲明。包含.c文件不是一個好習慣。 爲了在編譯時只將一個可用於.c文件的聲明與

    1熱度

    5回答

    我總是得到以下錯誤,即使我已經把頭文件中的include guard。 duplicate symbol _Bittorrent in: /Users/tracking/Library/Developer/Xcode/DerivedData/SHT-giuwkwyqonghabcqbvbwpucmavvg/Build/Intermediates/SHT.build/Debug/SHT.b