自定義函數(shù)是由用戶按需要寫(xiě)的函數(shù)。這與庫(kù)函數(shù)相對(duì)應(yīng)的,庫(kù)函數(shù)是由c系統(tǒng)提供的函數(shù),已經(jīng)定義好了如printf
豐順網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,豐順網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為豐順成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的豐順做網(wǎng)站的公司定做!
、
scanf
、
getchar
、putchar、gets、puts、strcat等函數(shù)均屬此類。
說(shuō)白了,自定義函數(shù)是是自己寫(xiě)的,想實(shí)現(xiàn)什么功能就寫(xiě)什么,然后在用的時(shí)候和庫(kù)函數(shù)(系統(tǒng)定義的)的一樣調(diào)用就是了,相當(dāng)于自己增加了一個(gè)自己的庫(kù)函數(shù)。
沒(méi)有強(qiáng)制規(guī)定,但一般遵循以下原則:
1 功能類似或相關(guān)的一組函數(shù)寫(xiě)在同一個(gè)頭文件中;
2 頭文件命名應(yīng)簡(jiǎn)單,盡量短,但可以通過(guò)文件名得知內(nèi)部函數(shù)功能;
3 頭文件名由數(shù)字、字母、下劃線組成,不要有空白字符或其它符號(hào);
4 為防止頭文件重復(fù)引用,或嵌套引用,頭文件應(yīng)使用條件編譯包含;
5 頭文件中,應(yīng)遵循先類型定義,后函數(shù)聲明的順序;
6 當(dāng)頭文件函數(shù)聲明中,用到其它頭文件中定義的類型時(shí),在頭文件開(kāi)始處進(jìn)行引用。
1、存為xx.h文件放在自創(chuàng)的文件夾下,聲明#include“xx.h” 2、還可以存為xx.h文件直接與系統(tǒng)庫(kù)文件放一起,聲明#includexx.h(這樣會(huì)快些)
簡(jiǎn)單的一個(gè)例子,但是基本的程序編譯的思想都在里面了,具體的需要你自己體會(huì)和查資料
跟著下面的步驟走
------------------------
第一步:我的電腦-屬性-高級(jí)-環(huán)境變量
添加3個(gè)變量
1.名字:path 值:vc的安裝目錄里面包含cl.exe的bin目錄路徑+";"+vc目錄下包含mspdb80.dll的目錄的路徑
比如我的是D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE;
2.名字:include 值:vc安裝目錄下的include目錄,主要是為了找到頭文件,我的是D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include;
3.名字:lib 值:vc目錄下包含庫(kù)文件的目錄路徑
我的是D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib;
第二步:需要下面兩個(gè)文件
//-------------libdemo.c
#include stdio.h
void lib_func()
{
printf("this routine in lib\n");
}
//------------main.c
void lib_func();
int main(int argc, char *argv[])
{
lib_func();
}
第三步:命令
cl /c libdemo.c '編譯libdemo.c 生成libdemo.obj
lib libdemo.obj '生成libdemo.lib 庫(kù)文件
cl /c main.c '編譯main.c
link main.obj libdemo.lib '生成main.exe
---------------------------------------------------
呵呵 加點(diǎn)東西,參看4樓的建議,在做個(gè)dll,COM組件就不做了,有點(diǎn)復(fù)雜了
1。把libdemo.c 稍微改下
//-------------libdemo.c
#include stdio.h
__declspec (dllexport) void lib_func()
{
printf("this routine in lib\n");
}
2。命令
cl /c libdemo.c main.c
link libdemo.obj /dll '生成libdemo.lib
link main.obj libdemo.lib