C语言多文件编译

来源:互联网 发布:linux shell 嵌套 编辑:程序博客网 时间:2024/05/20 09:44

这是我写的第一个多文件C程序,程序很简单,利用的是VC++6.0,主要是了解了如何编译及使用多文件,以及多文件编译过程中 *.h 与 *.c 文件的一些区别,下面是具体操作和代码,希望与大家分享并且能够给一些刚学习的同学提供参考!

该程序让用户选择一个模式(公制的或美制的),公制是以升每百公里来衡量,美制是以英里每加仑来衡量,然后收集数据来计算油耗。

程序分为主程序文件 pe12_2b.c,源代码文件 pe12_2a.c,头文件 p212_2a.h。

首先新建源代码文件,编写pe12_2b.c并保存关闭,

主程序包括了pe12_2a.h头文件,函数 set_mode()、get_info()、show_info() 在另一个源代码文件pe12_2a.c定义,然后在pe12_2a.h头文件中声明这些函数。


接着编写pe12_2a.c并保存关闭,

#include<stdio.h>static int mode;static float kilm;static float fuel;void set_mode(int m){  mode=m;}void get_info(){  if(mode==0)  {    printf("Enter distance traveled in kilometers: ");scanf("%f",&kilm);printf("Enter fuel consumed in liters: ");scanf("%f",&fuel);  }  else if(mode==1)  {    printf("Enter distance traveled in miles: ");scanf("%f",&kilm);printf("Enter fuel consumed in gallons: ");scanf("%f",&fuel);  }  else if(mode>1)  { printf("Invalid mode specified.Mode 1(US) used.\n");    printf("Enter distance traveled in kilometers: ");scanf("%f",&kilm);printf("Enter fuel consumed in liters: ");scanf("%f",&fuel);  }  else  { printf("Invalid mode specified.Mode 0(metric) used.\n");    printf("Enter distance traveled in kilometers: ");scanf("%f",&kilm);printf("Enter fuel consumed in liters: ");scanf("%f",&fuel);  }}void show_info(){  if(mode==0)  {    printf("Fuel consumption is %4.2f liters  100 kilometers.\n",fuel/(kilm/100.00));  }  else if(mode==1)  {    printf("Fuel consumption is %4.2f miles per gallon.\n",kilm/fuel);  }  else if(mode>1)  {    printf("Fuel consumption is %4.2f miles per gallon.\n",kilm/fuel);  }  else  {    printf("Fuel consumption is %4.2f liters  100 kilometers.\n",fuel/(kilm/100.00));  }}
再来创建pe12_2a.h 头文件,用来声明源代码文件中的函数并保存关闭,

最后重新打开主程序pe12_2b.c文件,先进行编译,这时软件会报错,没关系,我们接着再向其中添加项目文件,具体操作流程为在菜单栏里 Project->Add to project->Files,


将这两个文件添加完之后,再对pe12_2b.c文件重新编译链接,运行测试,

水平有限,欢迎大家指正交流!

0 0
原创粉丝点击