gcc/g++/make 编译信息带颜色输出

如果编译一个项目错误警告太多,非常不好找,所以非常希望输出信息可以带有颜色。

可是 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 源码就行,其中有一些颜色定义的宏。

结果对比:

使用前:

使用后:

是不是很醒目呀,有任何问题都可以联系我 [email protected]

时间: 2024-08-07 13:38:48

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

shell 带颜色输出

这里记录了shell脚本中可以带颜色输出的方式,使用了一下在python也适用. shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 1.字背景颜色和文字颜色之间是英文的"" 2.文字

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

1.服务器与多客户端通信 1 import socket 2 # 创建tcp socket的套接字 3 sk = socket.socket() 4 # bind 5 sk.bind(('127.0.0.1',8080)) 6 # 监听 7 sk.listen(5) 8 # 等待连接 9 while 1: 10 conn, addr = sk.accept() 11 while 1: 12 msg_s = input('>>>') 13 conn.send(msg_s.encode('u

Python 入门 之 print带颜色输出

Python 入门 之 print带颜色输出 1.print带颜色输出书写格式: 开头部分: \033[显示方式; 前景色 ; 背景色 m 结尾部分: \033[0m 详解: 开头部分的三个参数: 显示方式 字体颜色 背景色 ? 这三个参数是可选参数,可以只写其中的某一个,另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个单数的书写顺序没有固定的要求,但建议按照默认的格式规范书写.对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[开头,\033[0m结尾 字体颜色 背景

shell 中echo带颜色输出

在shell中使用echo命令输出带颜色的文本 名称 echo - 显示一行文本 概要 echo [选项]... [字符串]... 描述 向标准输出输出字符串. -n     不输出换行符 -e     打开反斜杠ESC转义 -E     取消反斜杠ESC转义 (默认) --help 显示帮助 --version 显示版本 注意要输出颜色必须有 -e 选项. 然后说一下重点:ANSI控制码在输出有颜色文本方面应用. -e 用来开启echo中的转义 \e 或 \033 来输出Esc符号 设置颜色的

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

gcc/g++链接时对库的顺序要求 -Ldir Add directory dir to the list of directories to be searched for -l. -llibrary -l library Search the library named library when linking. (The second alternative with the library as a separate argument is only for POSIX complian

python带颜色输出文本

我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33). 书写格式,和相关说明如下: 复制代码 代码如下: 格式:\033[显示方式;前景色;背景色m 说明:前景色            背景色           颜色---------------------------------------30

设置一个双色球脚本(2)并带颜色输出

#!/bin/bash RED='\033[31m'   BLUE='\033[34m'   END='\033[0m'   echo -en "$RED 红色:$END"    #sleep 3 while true    do     red=$[$RANDOM%33+1]    echo $redstring | grep -qw $red && continue    echo -ne " $RED$red$END"    redstring

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

函数库一般分为静态库和动态库两种. 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了.其后缀名一般为”.a”. 动态库: 与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销.动态库一般后缀名为”.so”,gcc/g++在编译时默认使用动态库.无论静态库,还是动态库,都是由.o文件创建的. 动态库的编译: 下面通过一个例子来介绍如何生成一个动态库.建一个头文

gcc/g++编译(生动形象,从最容易入手的hello world解释了库的概念)

1. gcc/g++在执行编译工作的时候,总共需要4步 (1).预处理,生成.i的文件[预处理器cpp] (2).将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] (3).有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] (4).连接目标代码,生成可执行程序[链接器ld] [参数详解] -x language filename    设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很