c語言中實現超連結(多檔案程式的編譯和連線)
一個實用價值的c語言應用程式往往較大,需要劃分成不同的檔案,那麼如何把這些檔案編譯,連線成一個統一的可執行的檔案並執行呢?
c語言提供了編譯預處理“#include“檔名””來實現‘檔案包含”的操作,其特點是一個原始檔可以將另外一個原始檔的全部包含進來。預處理程式將#include語句所指的檔案<源程式>程式碼完全嵌於編譯程式中“#include"所在的位置,以參加正式編譯形成目的碼。
例項:
假定從鍵盤上任意輸入10個整數,按從小到大的次序排列並輸出,假定該程式用自定義函式實現。
包含三個檔案,檔名分別為file1.c,file2.c和file3.c。三個檔案的源程式如下:
file1.c
#include<stdio.h>
#include"file2.c"
#include"file3.c"
void main(){
int enter_data(int a[10]),sort_data(int a[10]),print_data(int a[10]);
int a[10];
enter_data(a);
sort_data(a);
print_data(a);
system("pause");
}
file2.c,其中enter_data(int a[])自定義函式的功能是輸入10整數,sort
-data(int a[])自定義函式的功能是對輸入的10個整數進行排序。
enter_data(int a[]){
int i;
printf("..........");
...............
}
sort_data (int a[]){
.........
.......
}
file3.c print_data (int a[]){
.....
.....
.....
}
試用行的時候一定要關閉檔案2.3的工作間,可能會造成雙重的定義 。
學資料結構的時候才發現這個超連結是真的有用,資料結構講究的是一個把程式模組化,而就是超連結實現了各個模組的重組實現。