爲什麼有些人在頭文件中寫方法?頭文件中的方法
在過程文件和頭文件中編寫方法有什麼區別?
下面的代碼:
Work.h
#include <time.h>
void DoWork(int n)
{
clock_t t = clock() + n * CLOCKS_PER_SEC/1000;
while(clock() < t);
}
Program.c
#include <stdio.h>
#include "work.h"
int main(void)
{
printf("Starting work\n");
DoWork(100);
printf("Work has finished\n");
}
是否有一個程序文件和頭寫的方法有什麼區別文件還是相同?
編輯1:我知道的唯一區別是如果我在過程文件中編寫DoWork(),那麼我必須在編譯主程序時編譯過程文件,然後傳遞目標代碼。
謝謝。
這是一件壞事,在'C'做。不過,我相信這在'C++'中很常見。 – pmg 2010-09-16 10:18:04
@pmg你能告訴我,爲什麼它不好?是否有任何性能問題或任何其他問題? – Searock 2010-09-16 10:19:56
@pmg:通常在C++中將'inline'函數放入頭文件中。使用非'inline'函數它和C一樣糟糕。(但是,請注意,類成員函數不僅在_declared_中,而且在它們類的定義中_defined_也被隱式地內聯。) – sbi 2010-09-16 10:20:06