zoukankan      html  css  js  c++  java
  • C语言学习012:将代码文件分成多个文件

      如果将所有的代码都写到一个文件中,当对于小项目来说不会有什么问题,但是当它一个很大的工程的时候,如果将所有代码都写到一个文件中,不但开发起来很困难,维护更是头疼,所以我们应该将代码按不同的功能分别建立相应的代码文件,下面我们将program.c的代码分成多个文件

     1 #include <stdio.h>
     2 
     3 int main(){
     4     int n=10;
     5     int m=5;
     6     int result;
     7     result=add(n,m);
     8     printf("n+m=%i
    ",result);
     9     result=sub(n,m);
    10     printf("n-m=%i
    ",result);
    11     return 0;
    12 }
    13 
    14 int add(int n,int m){
    15     return n+m;
    16 }
    17 
    18 int sub(int n,int m){
    19     return n-m;
    20 }

      首先,我们将功能代码放到另一个文件cal.c文件中

    1 #include "cal.h"
    2 
    3 int add(int n,int m){
    4     return n+m;
    5 }
    6 
    7 int sub(int n,int m){
    8     return n-m;
    9 }  

      然后将函数声明放在另一个文件cal.h头文件中

    int add(int n,int m);
    int sub(int n,int m);

      现在我们再来看主程序中该怎么去调用这些方法

     1 #include <stdio.h>
     2 #include "cal.h"
     3 
     4 int main(){
     5     int n=10;
     6     int m=5;
     7     int result;
     8     result=add(n,m);
     9     printf("n+m=%i
    ",result);
    10     result=sub(n,m);
    11     printf("n-m=%i
    ",result);
    12     return 0;
    13 }

      只需在主程序文件开头处引用"cal.h"头文件就行,注意这里的cal.h头文件是用双引号而不是<>括号;

      通过双引号引用的头文件是程序的相对路径,而通过尖括号引用的是程序的绝对路径

      最后,我们来看看该如何编译多个文件的程序,其实和和编译单个文件没有多大区别,就是在gcc后面逐个添加c文件

  • 相关阅读:
    Arduino语法-变量和常量
    Arduino-函数库和程序架构介绍
    第十章浮力题汇总
    pyqt5-按钮基类-QAbstractButton
    在Windows上安装Arduino-IDE
    Arduino-接口图
    python-文件及文件夹操作
    Qt WebRTC demo
    多线程使用信号量sem_init,sem_wait,sem_post
    华为公司内部培训资料_介绍RTSP的消息、信令等
  • 原文地址:https://www.cnblogs.com/liunlls/p/C_any_file_build.html
Copyright © 2011-2022 走看看