假设编译一个项目错误警告太多。很不好找,所以很希望输出信息能够带有颜色。

但是 gcc 4.9.0 之前的版本号并不支持,非常多情况下是不能替换编译器的,比方使用交叉编译器,

也能够使用 colorgcc。但我认为不是特别好,须要配置。假设使用Makefile还要更改编译器设置,

所以我自己动手写了一个。效果还能够,源代码在github上: https://github.com/chinaran/color-compile

也能够去CSDN下载,点我

------------------------------- 切割线是也 --------------------------------------------------------

项目名叫
color-compile,安装例如以下

(1) 编译 (进到项目根文件夹)

$ make

(2) 安装 (须要超级权限)

$ make install

(这一步做了两件事,一是把主程序复制到
/usr/local/bin/ 下,二是加入了 gcc/g++/make 的别名到 ~/.bashrc 的末尾)



(3) 測试 (新打开一个终端)

$ make TEST  (== gcc test.c -Wall)

注意事项:

(1) 假设你的 gcc 版本号 >= 4.9.0,能够直接使用 -fdiagnostics-color=auto 參数,显示效果应该比 color-compile
好(没试过)

(2) 假设你须要卸载或者重装。请删除 ~/.bashrc 末尾处的gcc/g++/make 别名。以免影响之后的使用。

(3) 假设你须要加入新的编译工具。能够改动Makefile 的 install: 处。以 arm-linux-gcc 为例,echo 'alias arm-linux-gcc="color_compile
arm-linux-gcc"' >> $(ALIAS_FILE)。或者直接改动 ~/.bashrc 都行。

(4) 假设你须要更改显示的颜色,直接改动 out_color_info.c 源代码即可。当中有一些颜色定义的宏。

结果对照:

使用前:

使用后:

是不是非常醒目呀,有不论什么问题都能够联系我 gchinaran@gmail.com

gcc/g++/make 编译信息带颜色输出的更多相关文章

  1. Python_服务器与多客户端通信、UDP协议、pycharm打印带颜色输出、时间同步的机制

    1.服务器与多客户端通信 import socket # 创建tcp socket的套接字 sk = socket.socket() # bind sk.bind(('127.0.0.1',8080) ...

  2. Python 入门 之 print带颜色输出

    Python 入门 之 print带颜色输出 1.print带颜色输出书写格式: 开头部分: \033[显示方式; 前景色 ; 背景色 m 结尾部分: \033[0m 详解: 开头部分的三个参数: 显 ...

  3. Linux gcc/g++链接编译顺序详解

    gcc/g++链接时对库的顺序要求 -Ldir Add directory dir to the list of directories to be searched for -l. -llibrar ...

  4. Linux中带颜色输出的printf使用简介(\033)

    昨晚懒得FQ, 百度了一下linux中printf输出颜色的方法, 结果搜索结果质量让人倍感伤心. 越来越不想用bd了.还是Google一下吧, 手气真好, 第一个内容就很清楚明了! 我还是直接简单翻 ...

  5. python3 print() 函数带颜色输出 示例

    1.1 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就 ...

  6. shell实现带颜色输出的进度条

    1.基础版 #!/bin/bash b='' ;$i<=;i+=)) do printf "执行进度 :[%-50s]%d%%\r" $b $i sleep 0.001 b= ...

  7. 【Shell】带颜色输出(白底x色)

    echo -e "\033[31mHello World.\033[0m" 红色31m 绿色32m 黄色33m 蓝色34m 黑色30m 白色37m 紫色35m 深绿色36m

  8. Linux 编译工具 gcc/g++、Make/Makefile、CMake/CMakeLists.txt、qmake

    前言 编译器的主要工作流程: 源码(Source Code)>> 预处理器(Preprocessor)>> 编译器(Compiler)>> 汇编程序(Assembl ...

  9. gcc/g++实战之动态链接库与静态链接库编写

    函数库一般分为静态库和动态库两种. 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了.其后缀名一般为”.a”. 动态库: 与之相反, ...

随机推荐

  1. android ViewFlipper的使用

    有个android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果.该类有如下几个和动画 ...

  2. 挂载(mount)深入理解

    首先引用一句 wiki 上的定义来开篇: Mounting takes place before a computer can use any kind of storage device (such ...

  3. DataGrid( 数据表格) 组件[1]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  4. html.css溢出

    <!DOCTYPE html><!DOCTYPE html><html><head> <title></title> <m ...

  5. Linux下彻底删除oracle步骤【转】

    (1)关闭oracle服务和后台进程  <1>查看安装的主目录和环境变量: echo $ORACLE_HOME env | grep ORA <2>查看实例名 sqlplus ...

  6. debug 心得

    前天做了一个题,就是个简单的状压记忆化搜索,但是debuge了俩小时,给我整的快吐血了,各种不可思议的错误,我都要怀疑是不是电脑有毛病了,后来发现数组开小了,看来以后遇到不可思议的错误就要检查数组开没 ...

  7. 环形进度条带数字显示(canvas)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. mongodb spring

    可参考 http://blog.csdn.net/cuiran/article/details/8287204 我修改后的代码 http://pan.baidu.com/s/1mgJYbaC

  9. Visual Studio下Qt编程中对中文的处理

    Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...

  10. RSYSLOG没那么简单

    定义系统默认的日志收集还算EASY. 但如何在公司项目里要配置程序员们写的自定义日志,那可能就要用到LOCAL及FILTER过滤这些东东了... 慢慢走吧.. 收集URL备用,都是讲LOCAL,TEM ...