zoukankan      html  css  js  c++  java
  • 解决: g++: internal compiler error: Killed (program cc1plus)

     

    现象描述:在树莓派上用qt编译二维码显示相关的UI程序时,经常报以上错误,有时候断电重启首次编译不会报错(估计是刚上电系统占用的内存比较少)

     

    g++: internal compiler error: Killed (program cc1plus)

    原因是系统内存不足,没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …
    解决方式也很简单, 就是(临时)增加一个交换分区:

     

    sudo dd if=/dev/zero of=/swapfile bs=64M count=16
    sudo mkswap /swapfile
    sudo swapon /swapfile

     

    After compiling, you may wish to


    Code:

    sudo swapoff /swapfile
    sudo rm /swapfile
     

    1. 创建分区文件, 大小 2G

    dd if=/dev/zero of=/swapfile bs=1k count=2048000

    2. 生成 swap 文件系统

    mkswap /swapfile

    3. 激活 swap 文件

    swapon /swapfile

    这样就木有问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样我们就需要修改 fstab.
    修改 /etc/fstab 文件, 新增如下内容:

    /swapfile  swap  swap    defaults 0 0

    这样每次重启系统的时候就会自动加载 swap 文件了.

    备注:1. 创建的交换分区大小为: bs x count。

                2. Swap 空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一 些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间(磁盘空间虚拟成内存使用)中,等到那些程序要运行时,再从Swap中恢复保存 的数据到内存中。

  • 相关阅读:
    获取某表所有列名和字段类型
    C++ 长指针与指针的区别
    C# WinForm 控件光标
    不错的UML建模工具StarUML
    给控件做数字签名之一:将控件打包为Web发布包(转)
    MsComm控件注册失败
    微软发布Microsoft图表控件
    C与C++中的宏
    WinForm DataGridView 显示行号
    C#ToString格式大全
  • 原文地址:https://www.cnblogs.com/cj2014/p/6865863.html
Copyright © 2011-2022 走看看