C語言可以在程序中調用其他文件中的函數。
創新互聯公司是一家專注于成都網站設計、網站制作與策劃設計,武穴網站建設哪家好?創新互聯公司做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:武穴等地區。武穴做網站價格咨詢:18980820575
在大型的程序軟件開發中,為了代碼的可讀性,或多人同時進行代碼開發,可以各寫自己的源文件,然后,在編譯時,將多個源文件鏈接到一起,就可以形成最終的目標程序。
各程序中的函數可以是共用的,參考代碼如下:
//a.c
#include stdio.h
int funa( int n )
{
printf("n=%d\n", n );
return n*2 ;
}
//main.c
#include stdio.h
extern int funa(int); //聲明funa為外部函數
void main()
{
int x=5,y;
y=funa(x);
printf("y=%d\n", y );
}
在linux下,編譯方法為:gcc main.c a.c -o test
在windows下,可建立一個工程,將兩個文件添加到該工程中,編譯,運行即可
1.
請使用預編譯指令
#include。加入外部文件,就可以使用外部文件的函數了。
#include放在代碼文件頭,用于告訴編譯器,文件中包含的頭文件,屬于預處理文件的一部分
。
語法為:
#include
iostream.h
(這句是程序編譯時搜索系統目錄文件)
#include
“HName.h"
(這句是程序編譯時搜索當前項目的文件)
2.
例如:
//函數實現 a.c文件:
int add(int x, int y){
return x+y;
}
//主文件 main.c文件:
#include stdio.h
#include "a.c" //引入外部函數
int main(){
int i;
i = add(1,2);
printf("%d",i);
return 0;
}
調用函數庫的話用#include?XXX.h或者#include"XXX.h"區別是你庫文件放在同一個文件夾還是在IDE的安裝目錄下面,如果你庫文件在你工程文件夾里面用#includeXXX.h,否則用#include?"XXX.h"
如果你說自己寫庫的話是需要兩個宏命令,#ifndef?_XXX_H?#define?_XXX_H,然后你函數名用extern表示
如果你說編譯的話,你應該說的是編譯原理吧,你可以反匯編一下一個編譯好的程序,如果該處編譯了一個其他函數庫的函數,你可以看到程序把參數PUSH到內存后CALL或者LCALL了一個這個函數的地址,這就完成了匯編中調用函數的部分,我記得X86里面CALL的機器碼是E8H吧,有興趣的話可以自己用反匯編看一下
這個CALL的話就是調用函數的功能