我有「Hello World」代碼使用函數fhi從另一個hi.cpp文件,它有它的頭。處理包含和使用標頭
糾正我,如果我的理解是錯誤的。根據以下幾點:
我可以做的包括CPP文件中像#include "c:\c\hi.cpp"
而不是用頭不只是事實,即它會在頭文件更可讀的任何問題。
如果我包括我的主程序hi.h
頭樣,必須hi.h
包括hi.cpp
,或者它是根據相同的文件名hi
自動完成。我想知道編譯器如何知道函數fhi
正文。
是否有可能爲頭文件和cpp文件有不同的名稱?
PROGRAMM:
#include "stdafx.h"
#include "c:\c\hi.h"
int _tmain(int argc, _TCHAR* argv[])
{
fhi(1);
return 0;
}
hi.h
#include <cstdlib>
#include <iostream>
int var;
int fhi(int f);
hi.cpp
#include <cstdlib>
#include <iostream>
int fhi(int f)
{
return 0;
}
hi.c和hi.cpp位於與項目不同的目錄中。我通過'#include「c:\ c \ hi.h」'告訴編譯器哪裏頭的標頭是抵制的。如何告訴編譯器hi.cpp在哪裏?你對絕對路徑是正確的。 – vico 2012-08-08 11:06:45
使用相對路徑。類似'#include「../otherDir/otherFile.h」 – SuperSaiyan 2012-08-08 11:40:04
'「../ otherDir/otherFile.h」'是的,這會告訴編譯器.h。但編譯器如何知道.cpp在哪裏?在我的情況下,cpp在'../ otherDir /' – vico 2012-08-08 16:15:50