• Linuxc


    多文件使用,一起编译

    定义max.h

    int max(int a,int b);
    

    定义max.c

    #include "max.h"
    int max(int a,int b)
    {
        if (a > b) {
            return a;
        } else {
            return b;
        }
    }
    

    定义主c文件

    #include <stdio.h>
    #include "max.h"
    int main()
    {
        int a1 = 22;
        int a2 = 33;
        int maxNum = max(a1,a2);
        printf("the max value is %d
    ",maxNum);
        return 0;
    }
    
    

    编译执行!

    root@jiqing-virtual-machine:~/cspace/les2# gcc max.c main.c -o main.out
    

    查看

    root@jiqing-virtual-machine:~/cspace/les2# ./main.out
    the max value is 33
    
    

    分别编译

    头文件的好处,一次编译,多次使用。
    只需要引入声明就可以了。

    root@jiqing-virtual-machine:~/cspace/les2# gcc max.o min.o main.c
    main.c: In function ‘main’:
    main.c:8:18: warning: implicit declaration of function ‘max’ [-Wimplicit-function-declaration]
         int maxNum = max(a1,a2);
                      ^
    main.c:9:18: warning: implicit declaration of function ‘min’ [-Wimplicit-function-declaration]
         int minNum = min(a1,a2);
                      ^
    
    

    没有声明,会报错。

    #include <stdio.h>
    //#include "max.h"
    //#include "min.h"
    int main()
    {
        int a1 = 22;
        int a2 = 33;
        int maxNum = max(a1,a2);
        int minNum = min(a1,a2);
        printf("the max value is %d
    ",maxNum);
        printf("the min value is %d
    ",minNum);
        return 0;
    }
    
    

    将注释的去掉就可以了。

    单个编译max.c,min.c

    root@jiqing-virtual-machine:~/cspace/les2# gcc -c max.c -o max.o
    root@jiqing-virtual-machine:~/cspace/les2# gcc -c min.c -o min.o
    
    

    编译成max.o和min.o之后,计算机就能够识别了。

    以后可以在多个c文件中使用。只需要引入头文件h就可以了。

    root@jiqing-virtual-machine:~/cspace/les2# gcc max.o min.o main.c -o main.out
    
    
    root@jiqing-virtual-machine:~/cspace/les2# ./main.out
    the max value is 33
    the min value is 22
    
  • 相关阅读:
    JavaScript获取后台C#变量以及后台方法
    无刷新二级联动dropdownlist
    如何使用验证控件对DropDownList进行验证
    对某项目中Vuex用法的分析
    JavaScript中的深拷贝和浅拷贝
    Vue开发中的中央事件总线
    Vue项目中使用Vuex + axios发送请求
    html文件引用本地js文件出现跨域问题的解决方案
    数组的一些与遍历相关的方法总结
    《EMCAScript6入门》读书笔记——16.Generator函数的语法
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/8334729.html
Copyright © 2020-2023  润新知