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

但是 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. Hide the common top menu in Ubuntu 12.04

    隐藏:1.sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt2.reboot 恢复: 1.sudo apt-get install ...

  2. Linux命令 tar 打包解压缩

    --打包:tartar -cvf 命名文件.tar 要压缩的目录tar -xvf 要解压的包.tartar -tf  要查看的包.tartar -f 包.tar -r file             ...

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

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

  4. JAVA设置环境变量和在DOS下运行java程序

    在学校实训的这几天,老师带着我们开始深入的复习java.这是第一天的内容哦 对于“JAVA设置环境变量和在DOS下运行java程序”,许多初学者是陌生的,但了解这个却对后期的学习很重要. http:/ ...

  5. SVN中trunk,branches,tags用法详解

    原文地址:http://www.cnblogs.com/dafozhang/archive/2012/06/28/2567769.html Subversion有一个很标准的目录结构,是这样的.比如项 ...

  6. 带权并查集 poj1182

    首先要注意核心代码 int find(int i){    if(i == fa[i])        return fa[i];    int tt = find(fa[i]);    num[i] ...

  7. POJ1961 KMP算法

    POJ1961 问题重述: 输入一个长度为l的字符串S,求所有S的由字串重复排列而成的前缀,并输出前缀的长度以及该前缀的最大重复度. AC代码: //Memory: 5700K Time: 641MS ...

  8. C语言基础学习基本数据类型-变量的输出与输入

    变量的输出 变量如何输入输出呢?实际上,在这之前你已经使用过输出语句(printf语句)了,我们可以使用printf来执行输出. printf语句的使用方法如下: printf(格式控制字符串, 数据 ...

  9. Visual studio 内存不足的解决方案(out of memory)

    编译Visual Studio项目,如果出现"out of memory "的编译错误,可以进行如下操作,加大应用程序可以使用的内存. 请先备份好系统和设置好系统还原点,大体步骤是 ...

  10. 最近写的页面,含有大量的ajax

    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib ur ...