账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    makefile的几点疑问
    54
    0

    鉴于Makefile与C难舍难分,因此标签中添加c,希望知道的大佬给予解答。
    下午看了一会Makefile的文章,有些疑问。
    Makefile文件:

    # Makefile is a binary file
    main:fun.o main.o
            gcc -o main fun.o main.o
    
    fun.o: fun.c
            gcc -c  fun.c
    
    main.o: main.c
            gcc -c main.c

    由于名字是Makefile因此直接输入make就可以,如果将上面文件重命名为xxx make xxx就可以了,但是make main也可以,这是什么原理?

    后面我将Makefile改成如下形式

    # Makefile is a binary file
    main:fun.o main.o
            gcc -o main fun.o main.o
            ./main
            rm *.o
    
    fun.o: fun.c
            gcc -c  fun.c
    
    main.o: main.c
            gcc -c main.c

    添加了./main与 rm *.o结果没有执行,这是为什么?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ゾ硪鍀泪倪卟懂 普通会员 1楼

      Makefile是一种系统调用脚本语言,用于生成构建过程,使不同工具按照特定规则进行工作。以下是几个关于Makefile的一些常见疑问:

      1. Makefile的格式是什么?Makefile的格式有很多种,最常见的是.makefile格式,它可以由一系列规则组成,每条规则描述如何生成目标文件。例如,你可以写-j 4 makefile来指定使用4个线程来编译目标文件。

      2. Makefile中的变量有哪些?在Makefile中,你可以定义变量来存储命令行参数和依赖关系。例如,你可以定义target变量来存储目标文件的名称,source变量来存储源文件的路径,dependency变量来存储其他文件的依赖关系。

      3. Makefile中的make命令是什么?Makefile中的make命令是用于构建目标文件的。它接受一个或多个参数,这些参数是用于构建目标文件的规则。例如,make clean命令可以删除已经编译好的目标文件。

      4. Makefile中的规则是如何工作的?Makefile中的规则是基于规则列表的。每个规则都是一个条件和一个行动,当满足条件时,执行相应的行动。例如,-j 4 makefile规则会使用4个线程来编译目标文件。

      5. Makefile的用途是什么?Makefile是一种强大的工具,它可以用来编译、构建和管理多个项目。通过使用Makefile,你可以定义复杂的构建过程,设置依赖关系,分配任务等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部