include cpp 這種用法是什麼意思?

時間 2021-05-12 05:01:15

1樓:

有人說這種寫法是錯的,其實並不是,想明白這個問題先從#include入手,#include巨集其實是從外部檔案讀取文字,替換掉#include這一行,本質依然是文字替換.

那究竟 include cpp 和 include h 有什麼區別,答案是沒有實質性的區別.這個其實是一種習慣,我們習慣將宣告寫入標頭檔案,實現寫入原始檔.不管怎麼寫,必須得保證最後鏈結既不缺少符號定義也不能出現重定義.

只能能保證這一點怎麼寫都無妨.

比如乙個 main.cpp test1.cpp test2.

cpp 1,2裡各有乙個main入口可以在main.cpp裡#include test1.cpp也可以test2.

cpp 但不能重複#include這兩個

2樓:

Mega Compile,或稱Unity Compile、Bulk Compile,是一種『巨量』編譯方式。常用於大型專案的完整重新構建,因為可以減少各個c/cpp檔案中相同的#include的展開,減少磁碟IO。但是不適合原始檔經常小範圍修改的開發模式。

相關參考:

The Magic of Unity Buildsc++ - #include all .cpp files into a single compilation unit?

3樓:汪淘

這種用法,曾經用來提高編譯速度的。

後來慢慢的變成了專門的預編譯標頭檔案了,不過在一些比較特殊的檔案組織情況下,還是有不少人使用的

4樓:lyyfer

語法上,副檔名並沒有什麼特殊的地方,它只是檔名字串的一部分,並不具有什麼特殊的地位。不管你include啥副檔名都可以,你就是#include 都可以。

不過習慣上cpp一般是做函式體實現的,編譯的時候每個cpp單獨編譯為乙個目標檔案。但是如果帶模板,單獨編譯cpp是不可行的,因為模板引數還沒有例項化。所以這種情況可以把cpp實現include到頭檔案裡面。

使用標頭檔案的時候,cpp也就跟著被include了,就可以在使用的地方例項化模板了。

5樓:

以前微軟的Microsoft Visual C++ CRT 也是這種玩法,根據不同的巨集生成MB 和Unicode執行時。

/***

*ManagedMain.cpp - Initialization for Windows EXE using CRT DLL and managed entry point**

*Purpose:

* point int __clrcall main(array^).

* It calls the user's main routine after performing C Run-Time Library initialization.

*#define _MANAGED_MAIN

#define WPRFLAG 1

/* Flag used by startup code to indicate wide strings */

#ifndef _UNICODE

#define _UNICODE 1

#endif

/* _UNICODE */

#ifndef UNICODE

#define UNICODE 1

#endif

/* UNICODE */

#undef _MBCS

/* UNICODE not _MBCS */

#include

"mcrtexe.cpp"

C++ include本質上就是插入替換,然後你想怎麼玩就怎麼玩了。

如何看待 有 動詞 這種用法?

很多台灣的或者閩南地區的人喜歡在說普通話的時候這麼用 作為福建人我也有點不理解,閩方言裡 有 發作 在說方言的時候其實順嘴的,而且大量使用。而講普通話的時候,動詞前面加個 y u 不太順口也彆扭 所以這個可以叫普通話閩語化?狗頭 應該和英語的關係不大,我10後 1910s 的奶奶在世的時候也經常這麼...

se rendre compte que用法是什麼?

alex6666 加上也行,不過經常這種連線的詞太多了就不都放了。口語也會用這個,je me suis rendu compte que je devrais bosser plus 比如 毀廚房能手 Que後面跟的內容裡包括了時態變位了的動詞。贊同另乙個回答,和英語That用法差不離。最常用的方式...

用 邁 代表 km h (千公尺每小時)這種錯誤用法是怎樣形成的?

左三三 準確點說,應該叫 公里 邁 碼每小時 我們口頭上一般把 每小時 略去了。邁 是英製英里mile的音譯,1 mile 1609M 約 1.6KM,100邁就是160KM,在速度表上就是160KM H,比如某人說他在路上開到過180 邁 換算為公里應該是180 1.6 288KM,這個速度是在開...