C语言项目工程目

1.文件类型

  头文件(Header Files):通常以.h作为扩展名,头文件包含了程序中所需要的各种函数、变量、宏定义等的声明,以及各种库函数的引用等

  源文件(Source Files):通常以.c作为扩展名,源文件包含了程序的实现代码

  库文件(Library Files):库文件是一些预编译好的对象文件的集合,包含了大量的函数和变量的实现代码

  Makefile:Makefile是一个用于编译程序的脚本文件,可以自动化编译过程,避免手动编译过程中的错误和重复操作

  文档(Documentation):通常以README.md的格式编写,文档包含了程序的说明、说明书、使用手册等,可以帮助用户更好地了解和使用程序

2.简单目录结构

project/

|—— include/                存放头文件

  | |—— header1.h

  | | —— header2.h

|—— src/                        存放源文件

  | |—— file1.c

  | |—— file2.c

|—— lib/                        存放库文件

  | |—— lib1.a

  | |—— lib2.a

|—— Makefile                用于编译程序

|—— README.md            用于说明项目的信息和用法

|—— LICENSE                用于说明项目的版权和许可整信息

3.复杂目录结构

project/

|—— bin  存放产物的目录,产物可能是静态库、动态库、可执行程序

|—— build  存放Makefile的目录

    | |—— Makefile  分为编译动态库、静态库,和编译可执行程序

|—— lib  编译过程中依赖的动态库、静态库

|—— docs  存放工程的设计文档、资料,便于后续维护人员理解整个工程

|—— include  存放头文件的目录
    
    | |—— inner  一般是工程内部使用的头文件
   
    | |—— xx1  代表存放需要和其他工程交互的头文件目录,一般采用映射方式保持同步

    | |—— xx2

|—— patch  存放补丁文件的目录

|—— src  存放源文件的目录

|—— test  存放工程测试代码的目录

|—— tool  编译工程依赖的工具目录

 4.其他

  1) 库文件

    库文件的提供方式:静态库/动态库 + 头文件说明。使用库的开发者需要根据头文件来使用库;

    库文件的实质:将很多.o文件打包在一起

    库文件作用:加快项目开发、保密、便于维护代码

  2)静态库

    命名:libxxx.a

    可执行程序不依赖静态库,可执行程序的运行环境无需移植静态库

  3)动态库

    命名:libxxx.so

    可执行程序依赖动态库,可执行程序运行的环境里必须存在对应的动态库

参考文章地址:

  1. C 语言完整项目的结构说明_c语言项目结构-CSDN博客

  2. 实际工作开发中C语言工程的目录结构分析_c语言目录结构-CSDN博客

  3. 静态库和动态库介绍以及Makefile_makefile编译动态库和静态库-CSDN博客

posted @ 2024-03-16 11:17  simonalwayson  阅读(413)  评论(0)    收藏  举报