不知道你用的是什么編譯器,如果用的是VC的話,可以嘗試下我的做法:
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出龍港免費(fèi)做網(wǎng)站回饋大家。
創(chuàng)建兩個(gè)源代碼文件:1.cpp和2.cpp
1.cpp中內(nèi)容:
#includestdio.h
#include"2.cpp"/*采用包含命令調(diào)用2.cpp中的函數(shù)*/
int max(int x,int y)
{
return xy?x:y;
}
int main()
{
int a,b,m,n;
a=10;
b=30;
m=max(a,b);
n=min(a,b);
printf("%3d%3d\n",m,n);
return 0;
}
2.cpp中內(nèi)容:
int min(int x,int y)
{
return xy?x:y;
}
把這兩個(gè)源代碼放到一個(gè)文件夾下,編譯并運(yùn)行1.cpp即可。注意,2.cpp中沒有main函數(shù),所以不能直接編譯2.cpp。其實(shí)由于最終1.cpp和2.cpp要連接到一起形成一個(gè)可執(zhí)行文件1.exe,所以2.cpp中也不能有main函數(shù)。
寫一個(gè)頭文件命名為max.h
#ifndef MAX_H
#define MAX_H
void max(void);
#endif
然后主函數(shù)的文件包含max.h頭文件
#include stdio.h
#include "max.h"
int main(void) {
max();
return 0;
}
子函數(shù)文件也要包含max.h
#include stdio.h
#include "max.h"
void max(void) {
printf("世界,你好!\n");
}
當(dāng)然可以啦。\x0d\x0a舉個(gè)例子吧:兩個(gè)文件 main.c function.c\x0d\x0a我們?cè)趂unction.c 中寫一個(gè)函數(shù) func();\x0d\x0a與此同時(shí),我們需要寫一個(gè).h文件來聲明這個(gè)函數(shù),即function.h\x0d\x0a// 以下是function.h 的內(nèi)容\x0d\x0a#ifndef __FUNCTION_H__\x0d\x0a#define __FUNCTION_H__\x0d\x0a\x0d\x0avoid func();\x0d\x0a#endif\x0d\x0a\x0d\x0a// 以下是function.c 的內(nèi)容\x0d\x0a#include "function.h"\x0d\x0a\x0d\x0avoid func()\x0d\x0a{\x0d\x0a // do something\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a這樣一來,我們想要在另外一個(gè)文件,也就是main.c 中調(diào)用這個(gè)函數(shù)的時(shí)候,只需要包含它對(duì)應(yīng)的頭文件,就可以直接調(diào)用了。\x0d\x0a// 以下是main.c 的內(nèi)容\x0d\x0a#include "stdio.h"\x0d\x0a#include "function.h"\x0d\x0a\x0d\x0aint main()\x0d\x0a{\x0d\x0a func();\x0d\x0a\x0d\x0a return 0;\x0d\x0a}