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
- C语言多文件编译
- C语言多文件编译
- C语言多文件编译
- C语言多文件编译
- linux下 c语言多文件编译
- C语言中的多文件编译
- Linux下面C语言多文件编译
- linux下 c语言多文件编译
- Linux下面C语言多文件编译
- Linux下面C语言多文件编译
- linux下 c语言多文件编译
- C语言中的多文件编译问题
- GCC编译c语言文件
- C语言(新建c文件、编译)
- C语言link过程详解(多文件编译过程)
- C 语言中多文件编译的问题
- 关于c语言多文件编译的方法
- 如何在Linux中进行C语言多文件编译
- 交叉编译安装
- 覆盖索引VS非覆盖索引
- oracle日期时间段查询遇到问题to_date ora-01847 day of month must be between 1 and last day of month
- 【记忆化DFS】HDOJ1242 Rescue
- C# Winform跨线程更新UIkongjian
- C语言多文件编译
- 三元逆序对 求i<j<k && a[i]>a[j]>a[k] 的对数 树状数组Codeforces 61E Enemy is weak
- LaTeX调用算法宏包
- Sqlite学习笔记(11)-API(2)
- 详述int,longlong int的大小
- Android笔记
- Callback函数详解
- k-d tree算法
- [Exercises]24 Graphical User Interfaces