• 小白学makefile之一


    makefile的重要不言自明,不懂的话可以去网上搜下资料,这里不再讲述。以下小白开始学习makefile:

    某认为买几本基础的编程书籍挺重要。想要学好linux尤其是linux下编程的话还是需要下点本钱的,(喂,老兄,这身打扮就说你是孙悟空喽,下足本钱嘛,头发都开叉了,有点专业精神!@#¥——大话西游·菩提游客)这样才有专业精神,书籍很重要,可以帮我们节约很多的时间。要注意时间就是金钱,节约时间就是节约金钱倒是次要,提高效率才是真的:)

      这里不是说网上资料不全(虽然有时候确实不全),浪费时间的情况包括:1 搜索关键字不准确,定位百转千回;2 网络状况不稳定,比如有时候谷歌访问受限;3 内容资料专业但不系统。某比较喜欢博文,论坛偶尔也看,但从回答中筛选有用的信息也需要时间。一本好书能大概提示你所需要的东西。

      某知道的三本书都有简单介绍makefile:《Linux程序设计》《GNU/LINUX环境编程(第二版)》《GNU/LINUX编程指南(第二版)》

    书里大同小异都这样讲的

    make 命令会自动查找当前目录下的Makefile(注意首字母M是大写的)文件。然后执行Makefile里的脚本。学问就在于Makefile脚本的手法,makefile的威力也在于此。

    最简单的一个Makefile文件:

    main:
        gcc main.c

    第一行的main是目标,或者可理解为任务名称。冒号后边跟随的第二行就是编译命令。

    假如我们当前目录下只有 main.c 和 Makefile文件

    main.c如下(经典的,简单的hello world)

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

    那么,makefile就可以工作了。

    $ make

    相当于执行了一遍gcc main.c

    自动生成了可执行文件a.out(如果不指定生成文件的名字,生成的缺省文件名是a.out,至于为什么是a.out而不是其他名字,《C专家编程》有些介绍)。

    这就是简单的makefile用例,以后某会进阶学习makefile相关知识。

  • 相关阅读:
    微服务架构技术栈选型手册(万字长文)
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    MFC对话框中使用CHtmlEditCtrl
    ATL开发 ActiveX控件的 inf文件模板
    ActiveX: 如何用.inf和.ocx文件生成cab文件
    Xslt 1.0中使用Array
    如何分隔两个base64字符串?
    An attempt was made to load a program with an incorrect format
    JQuery 公网 CDN
  • 原文地址:https://www.cnblogs.com/jogger/p/2496408.html
Copyright © 2020-2023  润新知