`
rocky2com
  • 浏览: 38672 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

把GCC的编译信息重定向到一个文件

 
阅读更多

最近在Linux下进行编程,很多写好的代码要进行编译。在链接很多文件的时候,经常会出现很多的错误,而Linux下终端显示是有限的,因此每次调试的时候如果错误太多就会很不方便。如果使用简单的管道重定向如下:
gcc -c test.c > error.txt
这种方式是不行的。
我上网找相关的方法,发现很多人在问,找到的信息也比较少。有些方法甚至要写程序截获Linux的管道输出流,真是麻烦。
功夫不负有心人,我找到了一种简单的方法,其实道理很简单,就是Unix下错误输出的ID一般为2,那么我们在重定向的时候,重定向符号改为2>就可以了,如下所示:
gcc -c test.c 2> error.txt
另外,>和>>重定向是有一定区别的,>>是追加在指定的输出后面。
分享到:
评论

相关推荐

    用牛顿迭代法计算整数的平方根到任意精度

    这个程序展示了如何使用GMP来计算小整数的... 凭借GMP的高性能和牛顿迭代法,这个程序的性能非常好,在我的E8500CPU,计算sqrt(2)并输出(重定向到文件),当计算精度为10万/100万位有效数字时,仅需72毫秒和不到2秒。

    万能makefile写法详解,一步一步写一个实用的makefile

    这里指示了main.o目标依赖于哪几个源文件,我们只要把这一行的内容,通过make的include指令包含到makefile文件里,即可在其任意一个依赖文件被修改后,重新编译目标main.o。 下面详解如何生成这个.d文件。 (二) ...

    编译原理(第2版)课件

    13.4.2 GCC编译程序的安装与配置 13.5 GCC的优化 13.5.1 概述 13.5.2 窥孔优化 13.5.3 基于机器描述的窥孔优化 13.5.4 修改GCC源程序的窥孔优化 练习 第14章 面向对象语言的编译 14.1 面向对象语言的基本概念 14.2 ...

    nbtee:一个简单的无阻塞多路复用命名管道重定向器

    一个简单的无阻塞多路复用命名管道重定向器 编译中 gcc nbtee.c -o nbtee 用法 使用命名管道和缓冲区大小将您的健谈程序重定向到nbtee可执行文件中: Usage: outputProg 2>&1 | ./nbtee [FIFO] [BufferSize] 在...

    ltowrapper:包装对 GCC 工具链的调用以启用链接时间优化 (LTO) 持续时间编译

    LTOWrapper 可以将对ar调用重定向到gcc-ar这样 LTO 甚至可以使用硬编码的 Makefile。 用法 LTOWrapper 适用于 Linux。 确保您的系统上安装了ar nm ranlib gcc g++ 。 然后输入./activate 。 它将启动一个新的 ...

    unix实验报告.doc

    利用UNIX的软中断信号编写一段C语言程序完成:显示数字1到100,在程序运行中 如果捕获到一个SIGINT信号,则转去执行一段显示当前系统时间的程序。考虑 信号复位的情况,使程序能够实现多次被打断而多次恢复执行。 ...

    基于make命令与makefile文件详解

    这种编译方式对于小程序来说是没有多大问题的,可对于大型程序来说,由于包含了大量的源文件,如果每次改动一个地方都需要编译所有的源文件,这个简单的直接编译所有源文件方式对程序员来说简直是噩耗。 我们看一个...

    从0开始搭建基于ARM GCC的软件系统00——写在最前面

    本系列教程均基于STM32L4VGT6开发平台实现。...从0开始搭建基于ARM GCC的软件系统02——使用ARM GCC编译SDK 从0开始搭建基于ARM GCC的软件系统03——printf重定向 通过以上几步可以搭建一套编译系统雏形,

    你必须知道的495个C语言问题

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 *1.26 main的正确定义是什么...

    cmd操作命令和linux命令大全收集

    fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...

    《你必须知道的495个C语言问题》

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确...

    Linux操作系统基础教程

    要的是,Linux 上有公认的 C 语言世界最好的编译器 gcc,如果你想得到一个效率更高的开 发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下 Linux。 三.如何得到Linux? 据我所知...

    unix-shell:创建了一个基本的shell,可以执行命令并提示用户输入

    该外壳程序还支持带有“> +”符号的高级重定向,该符号将请求的信息附加到文件末尾。 将myshell编译为可以运行的shell的命令如下:gcc -Wall -Werror -o myshell myshell.c 该项目最酷的部分是直接使用f

    C语言FAQ 常见问题列表

    o 4.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated_expression; * 5. 指针 o 5.1 我想声明一个指针并为它分配一些空间, 但却...

    leakless:通过ELF技巧进行功能重定向

    测试方法 编译vuln.c gcc -fno-stack-protector ...您还可以将执行漏洞利用所需的所有必要信息转储到JSON文件中: python ./exploit.py /tmp/vuln --json 有关调试信息,请使用--debug参数。 有关参数的更多信息

    eclipse 开发c/c++

    例如,可以将一个概要文件用于测试目的,而将另一个概要文件用于运行最终版本。 另外,可以定义希望要传递给应用程序的参数,或者可以设置环境变量。 其它选项用于设置调试选项,例如使用哪个调试器(GNU GDB 或 ...

    Linux程序设计 第4版.haozip01

    14.1.2 一个理论性的例子 489 14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 497 14.2.2 shmat函数 497 14.2.3 shmdt 498 14.2.4 shmctl 498 14.3 消息队列 502...

    Linux程序设计 第4版.haozip02

    14.1.2 一个理论性的例子 489 14.1.3 linux的信号量机制 490 14.1.4 使用信号量 492 14.2 共享内存 496 14.2.1 shmget函数 497 14.2.2 shmat函数 497 14.2.3 shmdt 498 14.2.4 shmctl 498 14.3 消息队列 502...

Global site tag (gtag.js) - Google Analytics