zoukankan      html  css  js  c++  java
  • Makefile | Linux嵌入式编程 使用详细图解

    针对的是对Makefile一点都不会的小白哦!

    练习之前我们要做好准备:

    (1):第一步创建一个目录,因为实验过程中生成的文件会很多,不要把你系统里的文件搞得乱七八糟。

    [cjj@bogon ~]$ mkdir makedemo1

    [cjj@bogon ~]$ cd ./makedemo1/

    (2):接下来你需要写四个程序

    [cjj@bogon makedemo1]$ vi f1.c

    ************************************************************************************************************************************************

    [cjj@bogon makedemo1]$ vi f2.c

    ************************************************************************************************************************************************

    [cjj@bogon makedemo1]$ vi head.h

    ************************************************************************************************************************************************

    [cjj@bogon makedemo1]$ vi main.c

    (3)准备工作完成,下面我们开始动真格的了!创建一个Makefile文件。

    [cjj@bogon makedemo1]$ vi Makefile

    写入以下内容:

    test:f1.o f2.o main.o        # 创建一个test文件,后面是他的以来文件,依赖    
                        # 的文件是:f1.o; f2.o; main.o这三个文件。 gcc f1.o f2.o main.o
    -o test   # 执行gcc编译命令,将f1.o ;f2.o; main.o三个文件编译生成test文件。 f1.o:f1.c              # f1.o的依赖文件是f1.c gcc -c Wall f1.c -o f1.o     # 执行gcc编译命令,将f1.c 编译生成f1.o文件。 f2.o:f2.c              # f2.o的依赖文件是f2.c gcc -c Wall f3.c -o f2.o     # 执行gcc编译命令,将f2.c 编译生成f2.o文件。 main.o:main.c           # 同上 gcc -c Wall main.c -o main.o .PHONY:clean           # 这句话的意思就是可以使得clean这个语句重复编译 clean: rm *.o test          # 清除以“.o”为后缀的文件和test文件

    注:gcc前面是Tab键,不要用空格键代替,会报错!!!!!

    (4)做完这些就可以开始执行了


    [cjj@bogon makedemo1]$ make
    结果:

    这时你会发现你的目录下多出很多文件

    这时你一开始写的那四个文件如果没有改动再次执行编译的话,会有一行报错,不要担心,没有错!这是正常现象,表示你没有更新,不需要重新编译。

    (5)现在可以看一下你的成果了

    [cjj@bogon makedemo1]$ ./test



  • 相关阅读:
    .Net常识 值类型和引用类型
    .net 开发人员的瓶颈和职业发展
    PPT Garbage Collection in .Net (内存管理)
    Why Sessionless Web Application ?
    一些.Net面试题 (BS 方向)
    开源一个小类库, 用于对象间灵活的拷贝属性,还有IDataReader到实体类的转换
    在 Visual Studio 单元测试中使用CallContext 导致的 Unit Test Adapter threw exception: Type is not resolved for member... 异常
    【设计原则和建议】 类
    轻量级 Lock Free 线程安全的 Queue<T> 的C#2.0实现
    实验一 命令解释程序的编写
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/8652130.html
Copyright © 2011-2022 走看看