zoukankan      html  css  js  c++  java
  • C语言Makefile文件使用

    C语言中代码Makefile文件的写法

    单文件,例:

    #定义变量

    CFLAGS=gcc

    #具体命令都需要一个入口,all: 这个就相当于入口,默认情况,执行第一次入口,

    #后面执行其他入口进行依赖,如果依赖入口未执行过,那么,先执行依赖入口,否则,不用执行

    all: cp run

    cp:

    @echo "编译文件开始"

    $(CFLAGS) -o test test.c

    @echo "编译文件结束"

    #在这样的情况下,cp只执行了一次

    run: cp

    @echo "运行开始"

    @./test

    @echo "运行结束"

    特别注意:这里Makefile文件中,文件不认空格,只能使用制表符[tab],

    如果使用了入口,那么,必须下一行需要使用制表符[tab]来进行处理

    多文件,例:

    test.c 

    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char **argv) {
      printf("hello world
    ");
      exit(0);
    }

    当C存在头文件和文件间的引用的时候,

    示例代码:

      test01.h(定义函数名称,后续直接引用该文件名就可以指向对应的实际方法中)

      

    #ifndef TEST01_H
    #define TEST01_H
    
    #include <stdbool.h>
    #include <unistd.h>
    
    void test_init();
    #endif

      test01.c

      

    #include <stdlib.h>
    #include <stdio.h>
    #include "test01.h"
    
    void test_init() {
        printf("test01, test!");
        exit(0);
    }

      test02.c

    #include <stdio.h>
    #include "test01.h"
    
    int main(int argc, char **argv) {
        test_init();
    }

    编译命令:

      gcc test01.c test02.c -o test02.out

    运行命令:

      ./test02.out

    结果:

      test01, test!

      

    多文件也是可以使用Makefile方式进行管理的,具体的方式,将对应的命令替换掉就可以了。

  • 相关阅读:
    数据结构-索引
    CAS自旋volatile变量
    深入理解AQS
    EL表达式
    JSTL 核心标签库 使用
    JSP 九个隐含JSP对象
    jsp基本语法总结
    Commons FileUpLoad 两种上传方式解
    Servlet 异常处理
    Servlet 过滤器 Filter
  • 原文地址:https://www.cnblogs.com/rainy-shurun/p/5864606.html
Copyright © 2011-2022 走看看