我知道我可以随时中断make进程而无需再次重新编译整个源代码树.据我所知,如果目标尚未编译,则仅编译目标,或者在最后一次编译后修改源代码.

但是,如果我中断make,肯定会有一个或多个(取决于并发级别)半就绪二进制文件.下次我运行make时它对它们有什么作用?或者,当我按下Ctrl C以避免部分编译的二进制文件时,它是否完成当前目标?

解决方法:

简单来说,您可以将make视为具有(可能很大)步数,其中每个步骤将许多文件作为输入并创建一个文件作为输出.

步骤可能是“将file.c编译为file.o”或“使用ld将main.o和file.o链接到程序”.如果使用CtrlC中断make,则将终止当前正在执行的步骤,该步骤将(或应该)删除它正在处理的输出文件.通常没有留下任何“半准备好的二进制文件”.

重新启动make时,它将查看所​​有输入和输出文件的时间戳,并重新运行以下步骤:

>输入文件的时间戳比输出文件的时间戳更新

>输出文件不存在

这通常意味着如果一个步骤需要很长时间才能运行(这在现代计算机上很少见,但是大型程序的ld步骤在设计make时很容易花费很多分钟),那么停止并重新启动make将从该步骤开始开始.

普通Makefile的实际情况要比上面的描述复杂得多,但基本原理是相同的.

标签:linux,interrupt,compiling,make,compiler

来源: https://codeday.me/bug/20190809/1628517.html

linux停止编译进程,linux – 如何继续编译?相关推荐

  1. linux查看定时任务进程,[Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务...

    进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux    # 查看系 ...

  2. linux 识别僵尸进程,Linux上寻找并杀死僵尸进程

    转载: http://blog.csdn.net/shanzhizi/article/details/47320595 linux服务器上,多少会出现一些僵尸进程,下面介绍如何快速寻找和消灭这些僵尸进 ...

  3. 使用linux命令查看进程,Linux查看进程命令有哪些

    我们在使用Linux系统的过程中,有的时候会需要查看后台进程,并选择性的关闭一些不用的进程,那么Linux中有哪些查看进程的命令呢?今天小编就来为大家总结整理一些常用的Linux查看进程命令. Lin ...

  4. 简述linux开机启动进程,Linux系统启动流程简述

    一.第一阶段:硬件引导启动 1.Bios上电自检, 初始化硬件:显卡,内存,磁盘 2.根据Bios设置找到启动介质,初次安装linux系统一般是CD-ROM或者U盘启动,已安装Linux系统选择本地H ...

  5. linux停止项目,Antergos Linux 宣布已经停止维护

    原标题:Antergos Linux 宣布已经停止维护 如今越来越多的人尝试使用基于 Linux 的操作系统,与此同时许多用户不喜欢使用 Windows 10.原本 Linux 社区在这样的环境中应该 ...

  6. linux 关闭nginx进程,Linux环境下启动、停止、重启nginx

    启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /us ...

  7. linux格式化分区进程,linux磁盘分区格式化

    下面介绍一下系统主要的目录用途: /bin /sbin  :os自身运行要用到的程序 /usr/{bin,sbin}:os管理工具 /usr/local/{bin,sbin}:第三方程序可执行程序 库 ...

  8. linux apache守护进程,Linux基础命令---httpd守护进程

    httpd httpd是apache超文本传输协议的主程序,它被设计成一个独立运行的守护进程.httpd会建立一个线程池来处理http请求. 此命令的适用范围:RedHat.RHEL.Ubuntu.C ...

  9. linux端口找进程,Linux查看端口、进程情况及kill进程的方法

    看端口: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat –apn 查看所有的进程和端口使用情况.发现下面的进程列表,其中最后一栏是P ...

最新文章

  1. 收缩 tempdb 数据库
  2. windows7安dns服务器_在Windows 7 上安装DNS服务器bind9方法详解
  3. linux shell find depth,搞定 Linux Shell 文本处理工具,看完这篇集锦就够了
  4. 采用信号量机制实现消费者与生产者的线程同步_你还能聊聊常用的进程同步算法? 上篇[五]...
  5. mysql 时间类型 datetime,timestamp
  6. Redis工作笔记-Hash类型
  7. 2020-08-03 手动编译Qt库(msvc2019版本)
  8. 双非院校,0项目经验,三个月入职大厂NLP算法岗,月薪30k+
  9. Android实现组件之间同步的回调通信
  10. win7用VMware安装CentOs7搭建Linux环境
  11. C# 调用 dll 文件
  12. 【彩虹代刷v5.8】去除后门增加多套模板修复多处BUG[全开源免授权]
  13. tp6配置使用Redis
  14. Windows10桌面IE浏览器图标无法删除的解决方案
  15. 《酒干倘卖无》歌曲什么意思,看了《搭错车》感人电影就知道了
  16. 数据结构和算法学习之路-----必要的数学知识
  17. 【Google Paper】对比学习用于解决推荐系统长尾问题
  18. aop:aspectj-autoproxy作用
  19. c8t6高电平电压_什么是高电平和低电平?
  20. 《数据结构》-树(双亲表示法)

热门文章

  1. xshell6 添加快速命令
  2. canvas-实现放大镜效果
  3. 最大流/最小割算法总结
  4. svn提交代码报错:A conflict in the working copy obstructs the current operation,解决办法
  5. 小船过河(贪心算法)
  6. InnoDB数据字典操作进行故障排除
  7. 干货|以太坊全景介绍及入门学习路径(分享实录)
  8. STATA闪退,CLDS数据无法转码
  9. Blackarch安装教程(非常详细)
  10. wps英文文档排版小技巧