C 头文件实验
实验目标
通过本次实验,了解 C 语言如何通过头文件共享方法,为 C 语言模块化开发奠定基础
实验内容
使用以下文件目录结构,实现对应功能
project
- common
- header
- utils.h:声明 hello() 方法,声明并实现 test() 方法
- header
- src
- main
- main.c:调用 hello() 方法 和 test() 方法
- utils
- utils.c:实现一个打印 Hello from utils 的方法
- main
- Makefile
实验过程
- 安装必要的工具
- gcc:GNU 编译器套装
- vim:编辑器
- make:基于 Makefile 的自动化构建工具
- 编写
.c
文件 - 编写
.h
文件 - 编写 Makefile
- 编译程序并运行
代码参考
文件编写
.c
文件编写
main.c
#include <stdio.h>
#include "../../common/header/utils.h"
int main(){
printf("Hello from main\n");
hello();
printf("%d from test\n", test());
return 0;
}
utils.c
#include <stdio.h>
#include "../../common/header/utils.h"
void hello(){
printf("Hello from utils\n");
}
.h
文件编写
#ifndef UTILS_H
#define UTILS_H
void hello();
int test(){
return 1;
}
#endif
Makefile 编写
main: main.o utils.o
gcc utils.o main.o -o main
main.o: src/main/main.c
gcc -c src/main/main.c -o main.o
utils.o: src/utils/utils.c
gcc -c src/utils/utils.c -o utils.o
编译与运行
make
./main
其他
上面给出了 Linux 环境下无 IDE 如何编写带头文件的 C 项目
此处再给出 CLion IDE 中如何配置以实现类似的效果,只需在 CMakeLists.txt 中进行如下配置即可
CMakeLists.txt 配置参考
cmake_minimum_required(VERSION 3.19)
project(c_project_example)
set(CMAKE_CXX_STANDARD 14)
add_executable(main src/main/main.c src/utils/utils.c common/header/utils.h)
知识补充:CMake
在本次实验中可以简单理解为 Makefile 自动化生成工具
实际上 CMake 是 一个跨平台的编译(Build) 工具, 可以用简单的语句来描述所有平台的编译过程。 CMake 能够输出各种各样的 makefile 或者 project 文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏