2022的猫 2024-01-25 15:54 采纳率: 40%
浏览 12
已结题

cmd如何编译不同文件夹下的.c和.h

cmd如何执行C语言工程,即如何编译不同文件夹下的.c和.h,并生成.hex或者.exe,求详细过程解答

  • 写回答

2条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-25 16:24
    关注

    要编译和链接多个 C 源文件,我们通常会通过 gcc 编译器来实现。
    假设你有以下的文件目录结构:

    project_folder
    │   
    ├── src
    │   ├── main.c
    │   └── utils.c
    │    
    └── include
        └── utils.h
    
    
    

    在这种情况下,一般来说,".h"文件会放在"include"目录下,而对应的".c"文件则会放在"src"目录下。
    你可以在命令行中,按照以下步骤来编译和链接你的 C 程序:

    使用 cd 命令切换到项目文件夹的路径。
    然后,编译单个 C 源文件,使它们变为目标文件(.o文件)。你可以使用 -I 参数来包含头文件的目录。例如:

    gcc -c -Iinclude src/main.c -o main.o
    gcc -c -Iinclude src/utils.c -o utils.o
    
    

    这将在你的项目文件夹下生成 main.o 和 utils.o 这两个目标文件。

    最后,链接这些目标文件以生成可执行文件:

    gcc main.o utils.o -o my_program.exe
    
    

    现在,你的项目框架下应该可以看到一个名为 my_program.exe 的可执行文件。在命令行中输入 my_program.exe 就可以运行你的程序。
    以上是手动一个个编译链接的过程,但在实际使用中,为了提高效率,我们一般会使用 Makefile 或 CMake 等构建工具来自动化这个过程。
    如果每次都需要编译很多文件,可以考虑学习使用 Makefile,这样只需一次命令make就能完成全部的编译和链接工作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月29日
  • 已采纳回答 1月29日
  • 创建了问题 1月25日