zoukankan      html  css  js  c++  java
  • 操作系统make命令与Makefile文件编写

    操作系统make命令及Makefile文件

    更深层次地理解请看文章:Linux下编写 makefile 详细教程https://www.cnblogs.com/mfryf/p/3305778.html

    gcc

      语法:gcc (选项) (参数) 选项: -o:指定生成的输出文件; -S:将C代码转换为汇编代码; -wall:显示警告信息; -c:仅执行编译操作,不进行连接操作; -M:列出依赖。 参数: C源文件:指定C语言源代码文件。

      同时编译多个文件时,我们只需把多个文件名用空格隔开即可,如 gcc test1.c test2.c -o test .

      将testfun.c编译成testfun.o gcc -c testfun.c 将test.c编译成test.o gcc -c test.c 将testfun.o和test.o链接成test gcc testfun.o test.o -o test

    1 gcc test1.c -c test #对.c文件只进行编译,生成.o文件
    2 gcc test.o test1.o -o test1 #将两个.o文件进行链接
     1 CC = gcc
     2 #生成的可执行文件名
     3 EXE = main
     4 #源文件路径 空格 可以继续添如 src src1 src2
     5 SUBDIR = src
     6 #.o文件存放路径
     7 OBJ = obj
     8 #.d文件存放路径
     9 DEP = dep
    10  
    11 #预处理选项(要包含的.h文件的路径)
    12 CPPFLAGS += -I /home/kouwq/Makefile/grokking_algorithms/inc

    Makefile文件

      我们可以使用make指令执行Makefile文件里的内容。make 工具会读取 Makefile 文件,并根据 Makefile 的内容来执行相应的编译操作。Makefile 类似于大家以前接触过的 VC 工程文件。只不过不像 VC 那样有图形界面,而是直接用类似脚本的方式实现的。

      

     1 如果我们没有 Makefile,直接动手编译这个程序,我们需要下面这样一个指令
     3 # 直接使用 gcc 编译 Hello World 程序
     4 $ gcc -o hello_world hello_world.c
     5 那么,如果我们想把它写成 Makefile,我们应该怎么办呢?makefile 最基本的格式是这样的
     7 target: dependencies
     8 command 1
     9 command 2
    10 ...
    11 command n
    12 其中,target 是我们构建 (Build) 的目标,而 dependencies 是构建该目标所需的其它文件或其他目标。之后是构建出该目标所需执行的指令。有一点尤为需要注意:每一
    个指令 (command) 之前必须有一个 TAB。这里必须使用 TAB 而不能是空格,否则make 会报错。
    我们的简易的 Makefile 可以写成如下的样子,之后执行 make 即可产生 hello_world这个可执行文件。

    all: hello_world.c
      gcc -o hello_world hello_world

  • 相关阅读:
    App测试总脚本1.30.py
    adb安装中的platform-tools文件的生成问题
    App测试总脚本1.20
    App测试总脚本1.10(使用了列表推导式)
    APP网络测试要点和弱网模拟
    算法1—冒泡排序
    三次握手和四次挥手
    测试基础总结
    四道题设计用例
    使用复杂条件下的if选择结构
  • 原文地址:https://www.cnblogs.com/ye-buaascse/p/10511484.html
Copyright © 2011-2022 走看看