zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    web安全——代理(nginx)
    2016年3-7月书单推荐
    web安全——系统(Linux)
    web安全——防火墙
    web安全——简介
    系统安全扫描工具(appscan)的扫描类型小记
    知识管理,让生活更美好
    亚马逊如何变成 SOA(面向服务的架构)
    徐小平:关了公司以后,我有这些话要对你说
    网易味央第二座猪场落户江西 面积超过3300亩
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/8334729.html
Copyright © 2011-2022 走看看