c语言程序的多文件组织,C代码多文件的组织
現(xiàn)代社會(huì)的競(jìng)爭(zhēng),不再是個(gè)人間的競(jìng)爭(zhēng),而是一個(gè)團(tuán)隊(duì)與其他團(tuán)隊(duì)間的競(jìng)爭(zhēng)。因此,這個(gè)競(jìng)爭(zhēng)將顯的更加激烈。因?yàn)?#xff0c;他的決定因素更多。大型項(xiàng)目的開(kāi)發(fā),團(tuán)隊(duì)協(xié)作更加重要,項(xiàng)目能否按照原計(jì)劃實(shí)施,項(xiàng)目能否高效的開(kāi)發(fā),在一定程度上隊(duì)友間默契的配合和合理的項(xiàng)目分工對(duì)其有重大的影響。合理的項(xiàng)目分工,項(xiàng)目組成員才能各司其職,整個(gè)項(xiàng)目才能有條不紊的進(jìn)展。同時(shí),在項(xiàng)目后期整合和調(diào)試的過(guò)程中才能起到事半功倍的效果(模塊化測(cè)試)。在項(xiàng)目開(kāi)發(fā)過(guò)程中往往按照功能劃分模塊,即模塊化設(shè)計(jì),這樣不但出錯(cuò)了好糾錯(cuò),如果在后期將獨(dú)立的模塊制作成動(dòng)態(tài)鏈接庫(kù)的話,同樣還可以方便軟件在后期的升級(jí)和維護(hù)。用C語(yǔ)言開(kāi)發(fā),常常將獨(dú)立的模塊設(shè)計(jì)成單獨(dú)的文件以便使用和維護(hù),本文將通過(guò)介紹多文件的方式來(lái)組織項(xiàng)目工程,進(jìn)行模塊化設(shè)計(jì)。
1、 設(shè)計(jì)原則
a)???? 在頭文件中定義函數(shù)原型(或全局變量)
b)???? 在源文件中對(duì)函數(shù)進(jìn)行實(shí)現(xiàn)
c)????? 在main(項(xiàng)目主任務(wù)文件)或其他文件中調(diào)用
d)???? 在調(diào)用文件中要么用include將定義函數(shù)(或全局變量)的*.h文件包含進(jìn)來(lái),要么通過(guò)extern對(duì)調(diào)用的函數(shù)(或全局變量)做顯式說(shuō)明,當(dāng)然兩者可同時(shí)存在,但不能同時(shí)不存在
2、 實(shí)例
//multifile.h
#ifndef _MULTIFILE_H_
#define _MULTIFILE_H_ 1
int global;
int add(int src1,int src2);
int sub(int src1,int src2);
#endif
//multifile.c
#include "multifile.h"
int global;
int add(int src1,int src2)
{
global++;
return (src1 + src2);
}
int sub(int src1,int src2)
{
global++;
return (src1 - src2);
}
//main.c
#include
#include "multifile.h"
//extern int global;
//extern int add(int src1,int src2);
//extern int sub(int src1,int src2);
int main()
{
int a = 15,b = 8;
printf("global:%d\n",global);
printf("add(a,b)%d\n",add(a,b));
printf("global:%d\n",global);
printf("sub(a,b):%d\n",sub(a,b));
printf("global:%d\n",global);
return 0;
}
3、 項(xiàng)目編譯
a) gcc -Wall -c main.c //不鏈接,生成main.o文件
b) gcc -Wall -c multifile.c //不鏈接,生成multifile.o文件
c) gcc main.o multifile.o -o main //生成main文件
4、 運(yùn)行結(jié)果
global:0
add(a,b)23
global:1
sub(a,b):7
global:2
總結(jié)
以上是生活随笔為你收集整理的c语言程序的多文件组织,C代码多文件的组织的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何增强国家国防实力
- 下一篇: html贪吃蛇自动走,分享一个用html