當前位置:首頁 » 編程軟體 » cpp獲取代碼編譯的時間

cpp獲取代碼編譯的時間

發布時間: 2022-08-06 23:44:34

① *c和*cpp文件編譯問題

如何你將改的代碼依然放在擴展名為cpp的文件里,你在VC中選擇將這個文件用c來編譯。
重載的函數起不同的名字,C++中的inline函數一般是在頭文件中定義的,在轉變為c應將它的定義放在源文件中,取消inline申明。
引用數據類型在c中是不存在的需要改為指針型。
c語言中變數申明一般要放在函數的前面,而c++中可以放在使用的地方,需要改變後這些變數申明位置。
for(int i = 0; i < n; ++i)這是c++的語句,而在c中是不允許的,需要
int i
...
for(i = 0; i < n; ++i)

② C++編譯時,是從哪一個cpp開始的,然後各cpp的編譯順序是如何定的

所有的C程序都是從main函數開始的(當然,如果main函數上邊還有全局變數等等還會從他們開始執行),而你所說的編譯順序說白了,就是程序中的頭文件在代碼中放置的順序和嵌套的順序……
你只看包含有main函數的.cpp,然後把所有的頭文件展開,就自然明白了……

③ 工程中用不到的cpp文件怎麼能夠在運行的時候不編譯以節省時間

不是用不到樓主,是看你改的哪裡的代碼.
如果你改動的地方被別的.cpp .h所引用了,那麼你改的地方編譯了,必然導致別的地方也會編譯一遍.
如果你改的地方沒有被別的地方引用,那麼除非你重新編譯,否則是不會全部給你重新編譯的.

④ C++輸出系統當前時間,並保存於文件中,求解

不太明白你c寫的轉換為c++的意思,.c寫的本來就可以直接復制到.cpp作為c++代碼進行編譯

利用time.h 獲取時間是c/c++的標准方法,也就是說,這樣寫出來的代碼,windows和linux都能用;
而system("time")不是c++專用的方法,c語言也可以用,它本質就是在命令行cmd輸入命令time 一樣,只能顯示出結果,無法獲得返回值。我估計你是因為這個無法寫入文件。

我推薦你是用timer.h來獲取時間

給你一段代碼參考吧,可以獲取當前的時間(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //獲取1970.1.1至當前秒數time_t
struct tm * timeinfo= localtime ( &timeSec ); //創建TimeDate,並轉化為當地時間,
//struct tm * timeinfo = gmtime ( &timeSec ); //創建TimeDate,並轉化為GM時間,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//獲取年 月 日 時 分 秒 對應的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的時間獲取方法,要寫入文件也是很簡單的了:

FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);

⑤ c++primer3中,有一句話:「在多個文件之間編譯相同的函數模板定義增加了不必要的編譯時間」……

簡單點說,對於一個vector<int>的函數,比如size(),如果在不同的cpp中出現,在這些文件編譯的時候都要把vector<int>::size()編譯一遍。然後在鏈接的時候把重復的函數去掉。很顯然增加了編譯時間。

補充里你的理解是錯的,模板的聲明是不編譯的,更沒有空間,它根本不是實際的類型或函數,編譯器根本不管它。只有實例化的時候,才生成真正的類型、函數,而實例化的地方不在一起,必然造成同一個類型、函數被編譯了多次。反觀類的編譯,只在它的cpp中編譯一次,其他地方都使用它的頭文件得到聲明。

⑥ CPP文件是什麼文件

是C++語言中的源文件,是用來寫程序實現代碼的。

⑦ vs2013打開的cpp文件如何編譯

Visual Studio無法對單個源代碼文件直接編譯。

VisualStudio工程(.sln)編譯需要許多的參數,比如頭文件源文件,依賴庫等。如果沒有他們,強大的Studio只是廢物。


解決思路:

建立一個空VisualStudio工程->導入源代碼->編譯運行。


Step1 建立空項目

1.1 打開VisualStudio,按快捷鍵Ctrl + Shift + N,即可彈出新建項目的窗口。

(或,文件(FILE)->新建(NEW)->工程(Project)即可彈出新建項目的窗口。)


⑧ Linux裡面.cpp文件編譯的問題

直接vi操作:wq保存退出的時候就自動生成了文件 以下是一個簡單的例子可以說明 $vi h.cpp h.cpp的內容如下: #include int main() { std::cout

⑨ cpp文件是怎麼變成可執行文件的動態鏈接庫又是什麼呢

1.cpp是編譯產生2進制代碼,這個2進制代碼就是exe
2.qt庫就是一大堆已經寫好的函數,跟你引用<stdio.h>就能輸入輸出一樣,引用了QT就能寫圖形。
3.makefile是用來幫助計算機編譯C源文件的。在linux裡面比較常用,告訴了計算機,要編譯我的C源文件,需要什麼版本的編譯器,需要什麼包,什麼頭文件,如果不滿足就提示,如果滿足就編譯,還記錄了C源文件的位置(因為不止一個),編譯之後放到哪。等等。
4.靜態鏈接庫是lib,在編譯的時候,將裡面的代碼直接寫入exe中,隨身帶。
dll因為裡面東西比較通用,一般電腦都有,所以在用的時候從系統裡面拿就行。於是就不寫這部分了,只標記在哪個dll裡面。

熱點內容
多個文件夾建立 發布:2024-04-24 00:21:27 瀏覽:457
pythonurllib3安裝 發布:2024-04-24 00:12:33 瀏覽:901
伺服器部署錯了怎麼重置 發布:2024-04-24 00:02:30 瀏覽:348
色選機腳本 發布:2024-04-23 23:52:35 瀏覽:257
吉利博越推薦買哪個配置 發布:2024-04-23 23:52:34 瀏覽:635
java字典排序 發布:2024-04-23 23:52:34 瀏覽:162
sky光遇測試服怎麼下安卓 發布:2024-04-23 23:46:40 瀏覽:798
access如何使用sql 發布:2024-04-23 23:29:39 瀏覽:910
ug10編程優缺點 發布:2024-04-23 23:08:47 瀏覽:335
房產配置怎麼設置 發布:2024-04-23 22:59:26 瀏覽:850