zoukankan      html  css  js  c++  java
  • linux 下makefile

    linux下c编程中makefile是必须会的,我刚开始学,将我对makefile的理解记录下来。

    通常我们在windows下编写c程序,有各种ide工具为我们执行makefile工作但在linux下没有这些工具,编代码要靠你,测试要靠你,最后自动化编译设计也要靠你自己。所以我们要学会如何在linux下makefile。

    首先编写首先编写add.c文件,

     1 #include "test.h"
     2 #include <stdio.h>
     3 
     4 int add(int a, int b)
     5 {
     6     return a + b;
     7 }
     8 
     9 int main()
    10 {
    11     printf(" 2 + 3 = %d
    ", add(2, 3));
    12     printf(" 2 - 3 = %d
    ", sub(2, 3));
    13     return 1;
    14 }

    接着编写sub.c文件

    1 #include "test.h"
    2 
    3 int sub(int a, int b)
    4 {
    5     return a - b;
    6 }

    编写test.h

    1 #ifndef _TEST_H
    2 #define _TEST_H
    3 
    4 int add(int a, int b);
    5 int sub(int a, int b);
    6 #endif

    编写makefile

     1 test: add.o sub.o
     2     gcc -o test add.o sub.o
     3 
     4 add.o: add.c test.h
     5     gcc -c add.c
     6 
     7 sub.o: sub.c test.h
     8     gcc -c sub.c    
     9     
    10 clean:
    11     rm -rf test
    12     rm -rf *.o

    makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

    具体makefile的使用请看http://blog.csdn.net/liang13664759/article/details/1771246

  • 相关阅读:
    JavaScript语言精粹_第二章
    java并发Executors学习笔记
    iOS开发响应者链触摸事件
    快速学会Spring动态代理原理
    iOS类别Category与扩展Extension
    几款iOS开发常用工具
    Java回调接口的理解
    零基础学iPhone开发
    Java中的多线程
    Java文件下载的几种方式
  • 原文地址:https://www.cnblogs.com/weilq/p/3479305.html
Copyright © 2011-2022 走看看