gcc编译时的输出如何带上颜色

把下面这句话加到.bash_profile中:

export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

然后在编译时加上下面的内容:

 -fdiagnostics-color=auto

即可

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
注意:本软件以及源代码仅供学习研究使用。所用协议皆属个人业余的黑匣分析结果。 Developer List: 小虾 ([email protected]) 千月(改进myqq.c界面) Windows编译: 需要Mingw32(Devcpp的bin也可以)。 打开控制台,在当前目录下执行 make -C src clean all Linux编译: 在终端里执行 make -C src -flinux.mak clean all 由于最初没有周全考虑,目前版本暂不兼容64位的机器,望见谅! Update History: Version 3.13 (2009-3-29) 1. Linux(Ubuntu) version compiled! Version 3.12 (2009-3-22) 1. 用Windows的Sleep代替不推荐的_sleep。 2. 在Mingw32-gcc4.3.3上编译成功。 Version 3.11 (2009-2-8) 1. 输入验证码提示。 2. 修正myqq.c删除好友的bug。 3. 修正添加附言的bug。 Version 3.10 (2009-2-7) 1. 修正09接收消息协议。 2. 全部源代码文件更改为UNIX-UTF8格式。 3. 增加Preference来自定义屏蔽部分协议。 4. 增加添加、删除好友基本协议,支持验证码。 5. 登录后更改状态。 6. 登录机器数据随机填充。 7. 修正myqq.c里无法打印某些消息的bug。 Version 3.08 (2009-1-27) 1. 修正myqq.c里显示好友状态。 2. 修正因缺少pthread_mutex_destroy引起的资源泄漏(可以检测到)。 3. 修正好友数目多导致分组信息与群信息未能获取的问题。 4. 10分钟刷新群在线成员。 5. 自动建立qqconfig.txt配置文件。 Version 3.03 (2009-1-26) 1. 修正prot_im.c中buf->pos += get_word( buf );在Linux上运行发生的错误。 2. 编译Linux版本。 3. qqconfig.txt缺失提示。 Version 3.00 (2009-1-25) 1. 更换QQ2008贺岁版协议为QQ2009Preview4协议。 2. 全面使用utf8,myqq.c为Windows用户转换为gb。 3. 移除所有多余,功能不确切的协议处理函数。 4. 能够接收08,09协议的好友消息与群消息。 5. 处理消息中的表情字符,转换成[face:*]以及[image]来表示。 Version 2.95 (2008-10-26) 1. 处理返回NULL的可能。 2. 服务器列表由配置文件导入。 Version 2.9 (2008-10-1) 1. 支持字符颜色显示。 2. 中文字符界面。 3. 补充了几个新的服务器IP。 4. 输入密码去掉回显或打*。 5. 修正prot_login_verify_password_reply处理返回包的误解,感谢CC-Akita(CCPaging)。 6. 增加Dev-cpp工程文件,增加程序图标。 7. Makefile里定向pthread库,便于不同环境的编译。 Version 2.8 (2008-8-3) 1. Linux Build Support. Version 2.7 (2008-8-2) 1. 使用上次登录IP,加快多Q登录速度。 2. 修正list.c里添加项在满没有返回<0的漏洞。 3. 在登录未完成,不接收消息。 Version 2.6 (2008-7-27) 1. 登录中的未知字节用0填充,原来是用随机数。 2. 根据文档,进一步完善登录协议,但还是没有解决验证码的出现问题。 Version 2.5 (2008-7-26) 1. 修正一个发包的bug,包被送进已发送队列之后time_alive应该为当前间。之前因为 这个问题,导致一个包超其他包也要重发? 2. 恢复注销命令(没有这个,怎么下线呢)。 3. 登录首先获取所有钥匙,避免出现登录后被Kick out。 4. 感谢网友008的提醒,号码格式化字符%d已被替换为%u。 Version 2.4 (2008-7-24) 1. 好友添加。 2. Packed with pthread library. 3. 删除注销命令(可能引发异常) 4. 重发长为6秒 Version 2.3 (2008-7-22) New features: 1. 支持UDP协议登录。 2. 调整了登录后的发包次序。 3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,减少错误。 2. (--a)%b可能为负数,原来没注意到,引发了改写mcb的内存错误。 3. 发包序号策略改善,不再每次发包都递增。 Version 1.9 (2008-7-15) New features: 1. 重新策划程序,采用QQ2008贺岁版协议。 2. 原来的group改名为qun,原group被用作管理好友分租。 3. 增加memory.c内存管理和debug.c调试信息及日志记录。 4. ccpaging建议改掉qqqun这个结构名,我打算下个版本把它改为qun_t,其它类似如 member_t, group_t, buddy_t。 5. 具备登录输入验证码功能,验证码图片保存在web/verify目录下。 6. 修正qqsocket里接收数据溢出。 Version 0.9 (2008-2-12) New features: 1. MyQQ库可以登录多个ID,API全部更新。 2. 修正好友名称里混有QQ号码和特殊字符。 3. 完善了好友状态回调。 4. 延长了重发包的间,避免发送两次。 5. 修正在自动回复控制台提示的问题。 6. 回调函数全部使用stdcall模式。
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随与博主沟通,第一间进行解答!
要在LCD上显示四种不同的颜色,你可以使用Linux的帧缓冲设备和相关工具来实现。下面是一种可能的方法: 1. 首先,确保你的LCD屏幕正确连接到计算机并被正确识别为帧缓冲设备。你可以使用命令`ls /dev/fb*`来检查设备是否存在。 2. 使用命令`fbset -i`来获取帧缓冲设备的详细信息,包括分辨率和可用的颜色深度。确保你的LCD屏幕支持至少四种不同的颜色。 3. 创建一个C语言程序,使用Linux的帧缓冲设备接口来设置屏幕的分辨率和颜色。下面是一个简单的示例程序: ```c #include <fcntl.h> #include <linux/fb.h> #include <stdio.h> #include <stdlib.h> #include <sys/ioctl.h> #include <sys/mman.h> int main() { int fb_fd = open("/dev/fb0", O_RDWR); if (fb_fd == -1) { perror("Error opening framebuffer device"); exit(1); } struct fb_var_screeninfo var_info; if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &var_info) == -1) { perror("Error reading variable screen info"); close(fb_fd); exit(1); } // 设置屏幕分辨率 var_info.xres = 800; var_info.yres = 600; if (ioctl(fb_fd, FBIOPUT_VSCREENINFO, &var_info) == -1) { perror("Error setting variable screen info"); close(fb_fd); exit(1); } // 映射帧缓冲设备到内存 size_t screen_size = var_info.xres * var_info.yres * var_info.bits_per_pixel / 8; char* fb_ptr = (char*)mmap(NULL, screen_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); if (fb_ptr == MAP_FAILED) { perror("Error mapping framebuffer device to memory"); close(fb_fd); exit(1); } // 设置四种颜色 for (int i = 0; i < screen_size; i += 4) { fb_ptr[i] = 0xFF; // 红色 fb_ptr[i + 1] = 0x00; // 绿色 fb_ptr[i + 2] = 0x00; // 蓝色 fb_ptr[i + 3] = 0xFF; // 透明度 } // 清理并关闭帧缓冲设备 munmap(fb_ptr, screen_size); close(fb_fd); return 0; } ``` 这个程序将设置屏幕分辨率为800x600,并在整个屏幕上显示红色、绿色、蓝色和透明度为不透明的四种颜色。 4. 编译并运行程序。你可以使用以下命令来编译程序: ``` gcc -o display_colors display_colors.c ``` 然后使用以下命令运行程序: ``` ./display_colors ``` 请注意,这只是一个简单的示例,你可能需要根据你的LCD屏幕的具体要求进行更多的配置和调整。同,请确保以root权限运行程序,以便访问帧缓冲设备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值