为什么要将c程序放到各个文件中?
1、模块化、可复用
2、可单独编译,缩短编译时间
3、版本控制、团队协作
4、方便修bug
一般怎么划分?
两个维度
1、各种宏,全局变量和函数啥的一般都是定义在.H文件里(头文件里),类似于java中的接口。实现放在.C文件中
2、按照职责进行划分,比如一个游戏程序可以划分多个c文件,一个负责主引擎,一个负责渲染,一个负责算法,一个负责映射等等
怎么写?
先写h头文件
比如test.h
extern void test();
test.c
void test()
printf("test!\n",i);
}
这样在其他程序中,只要引入test.h 就可以使用test函数了,从而实现了复用
比如main.c
#include "test.h"
main()
{
test();
}
如何编译和执行?
不同编译器下方法不同
拿windows下的gcc举例
gcc -g test.c main.c -o test
-g:生成调试信息
-o:生成可执行文件,名字为test
这样目录下就多了一个test.exe,可以直接在命令行下输入“test.exe”
可以看到执行结果:test!
其他环境可以参考:http://blog.csdn.net/xiaoqinpeng/article/details/6556843
分享到:
相关推荐
c程序的多文件编译
用了这个MINGW编译器,至少多活5000年,自己玩CLION的时候,百度一堆教程,都是失败的!有此文件,编译环境毕成功!有此文件,编译环境毕成功!有此文件,编译环境毕成功!有此文件,编译环境毕成功!有此文件,编译...
turboc 的编译文件 c语言软件 c语言学习软件
vscode VSCode C/C++ 单目录+多文件编译配置的实现示例 vscode VSCode C/C++ 单目录+多文件编译配置的实现示例 vscode VSCode C/C++ 单目录+多文件编译配置的实现示例 vscode VSCode C/C++ 单目录+多文件编译配置的...
MATLAB编译单个或者多个.CPP文件,包括使用OPENCV的编译方法,使用参考博客:https://blog.csdn.net/qq_17783559/article/details/88682663
C语言exe文件编译过程[归纳].pdf
vscode c/c++多文件项目模板。 ps:含cmake编译方法,vscode下搭建c/c++多文件项目框架,linux下编译多文件方法分享
Zynq petalinux 多文件编译环境配置示例文件,配合博文说明petalinux 下如何使petalinux 编译多文件C应用程序源文件不报错。
C语言基础汇总代码,多文件编译
LINUX下多个c程序编译链接的程序,经验证可以执行,并搭配了MAKEFILE文件
C语言程序专用编译软件2.0版本RAR压缩文件无须解压密码
如何使用Eclipse编译C 环境
mtk_hif_sdio-objs := linux/hif_sdio.o mtk_hif_sdio-objs += linux/hif_sdio_chrdev.o mtk_hif_sdio-objs += linux/osal.o
C语言的编译过程 编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为...C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件
Linux将多个C源文件编译进一个KO模块驱动示例 博文:https://blog.csdn.net/p1279030826/article/details/108040129
VSCode C/C++ 分目录+多文件编译配置2 实现示例 VSCode C/C++ 分目录+多文件编译配置2 实现示例 VSCode C/C++ 分目录+多文件编译配置2 实现示例
Dev-C++ 编译多文件程序的方法 : 使用 Dev-C++ 编译运行程序会出现窗口一闪而过的现象,这不是程序的问题,而是因为程序运行结束,自动关闭了。在 return 0; 前面加上 getchar();(对于 C 程序)或者 std::cin.get()...
做学生的经常编译一些C代码,所以每次都会产生一些编译文件。对我们来说那些是没有任何意义的。所以本人自制的删除工具。C写的。欢迎使用,不过最好不要在C盘下运行。 还有就是可能会被误查出都毒,其实很安全的。
在a.c中使用main.c中定义的全局变量,在main.c中调用a.c中定义的函数。供参考和挑错。DEV C++中编译通过。
FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译环境,自动上传,配置文件 FTP下载文件命令操作支持windows和linux以及交叉编译...