|
查看: 1104|回复: 7
|
C++ 有關header file 的問題
[复制链接]
|
|
|
发表于 11-12-2008 02:38 PM
|
显示全部楼层
你所謂的“連接”是指什麽? |
|
|
|
|
|
|
|
|
|
|
我要怎麽把header file 連接起來
有好的說明和教學
給我打個例子都可以 希望大家的幫到忙謝謝
 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 11-12-2008 08:06 PM
|
显示全部楼层
回复 2# Sunyata 的帖子
就好像 xx.cpp 是main program 然後 有 xx1.h 和 xx2.h
將它compil起來 |
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2008 01:42 AM
|
显示全部楼层
原帖由 cod 于 11-12-2008 08:06 PM 发表 
就好像 xx.cpp 是main program 然後 有 xx1.h 和 xx2.h
將它compil起來
簡單的就是
#include "xx1.h"
#include "xx2.h"
再不就把你所要的header file都放在同一個header file裏邊。
另外,xx.cpp也是可以include的。
還有要確保能夠找到你的header file, 以 #include "xx.h" 的,
必須要在當前的目錄裏頭。
如果是以 #include <xx.h>的,
那麽你必須確定你的IDE(compiler,如果是在command prompt)的include與Lib 必須設定去正確的途徑。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 12-12-2008 02:44 AM
|
显示全部楼层
如果 是這樣呢能嗎
file name 是 :emp.h
program 裏是
#ifndef emp_h
#define emp_h
class emp
{
private
..
}
然後再
#include <emp.h>
void main()
{
。。
}
 |
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2008 11:33 AM
|
显示全部楼层
回复 5# cod 的帖子
其實
#ifndef emp_h
#define emp_h
是可以省下的。
除非你要使用使用emp_h以便來區分 emp.h 與其他file裏不同的defination。
否則 #define emp_h 就是多餘的。
如果你的header file (頭文件)被include去許多文件裏頭,
爲了要加快編譯,你可以加上
#pragma once
另外如果你的emp.h 與你編譯文件都同在一個目錄,
用#include “emp.h” 就可以了,編譯器在編譯時只搜索當前目錄而已。
如果用#include <xx.h> 的話,
編譯器會去搜索 include environment parameter 裏頭的目錄而已。
它首的要條件就是你的IDE 裏include參數設定必須指向你全部的頭文件目錄。
如果在command prompt編譯的話,你必須要執行
SET INCLUDE=C:\MinGW\Include;C:\MyLib\Include;
你可加在你的autoexec.bat 裏頭,或是自己編寫一個batch file。
[ 本帖最后由 Sunyata 于 12-12-2008 11:59 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2008 10:41 PM
|
显示全部楼层
原帖由 cod 于 12-12-2008 02:44 AM 发表 
如果 是這樣呢能嗎
file name 是 :emp.h
program 裏是
#ifndef emp_h
#define emp_h
class emp
{
private
..
}
然後再
#include
void main()
{
。。
}
你的 #endif 在哪里?
如果不是很了解preprocessor define的话还是省一点麻烦好 |
|
|
|
|
|
|
|
|
|
|
发表于 14-12-2008 02:03 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|