编写自己的gcc

今天调试公司的代码,发现makefile里没有指定-g,即没有gdb调试选项,而makefile历经N年的修改,已经非常庞大了,要为每个gcc都加上-g选项,将会是一个非常庞大的工作量,当我正在惆怅的时候,大神出现了,他告诉我可以写一个自己的gcc版本!一开始,我吓了一跳,不知所云,但后来就知道了,原来是一个小技巧,嘿嘿,不多说,记下步骤:

一、找一个目录写个脚本取名gcc,我的是在/home/boris/bin下,脚本内容如下:

#! /bin/bash

/usr/bin/gcc -g "${@}"

保存好,为之加上x权限,执行./gcc -v查看是否可以运行。

二、加入系统的环境变量中

export PATH=/home/boris/bin:$PATH

三、在任一目录中进行测试

gcc -v,看是否是自己的版本,为了清楚起见,可以在gcc脚本文件中加上echo “12345”,这样就能很清楚的和系统的gcc加以区分了。

时间: 2024-10-21 22:54:35

编写自己的gcc的相关文章

linux基础学习笔记

linux 命令学习linux注意事项:1 linux严格区分大小写,windows不区分大小写,linux下所有命令都是小写的,linux系统下文件名区分大小写,windows下文件名不区分大小写. 2 linux中所有内容都是以文件形式保存,包括硬盘.如果没有写到文件中,写到内存中,那么重启后则失效.操作硬件时都是针对文件名操作. 3 linux不靠扩展名区分文件类型.靠文件权限区分文件.但操作时往往加上一些特定的“扩展名”来帮助管理员更好的识别文件,linux并不要求加上扩展名. 4 li

Linux系统管理常用命令

Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+] 1. 时间date 1)显示当前时间: date .//Wed Jul 29 11:05:11 CST 2009  2)date修改时间:date -s  date 修改时间2007-08-29 14:41 date -s 14:36:30   //时间为14点36分30秒 date 08291

linux下编译运行C程序

GCC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C.C++.Ada.Fortran.Objective.Perl.Python.Ruby以及Java等,甚至Linux的许多内核和许多其他自由软件以及开放源码应用程序都是用C语言编写并经gcc编译而成的. 1.编译单个源文件 [例如]在屏幕上打印"Hello,Linux." [源代码] #include<stdio.h> #include<stdlib.h>

Linux命令总结【待续】

1.打包:  tar -czf small.tar.gz small(目录名)  ;压缩并打包目录 2.解包: tar zxvf 文件名 date -s 2015 2 12 修改时间 cp name cp  -rf  name # pwd#Desktop/test1/cp ../../etc/passwd ./cat ../../etc/passwd > test.txt  重定向 mkdir –p 创多目录 rm –r 删空目录 rm –rf   name ( dir ) 连续强删 mv 类似

Linux下如何编译并运行C程序

综合自:http://www.cnblogs.com/javadotnet/articles/1918930.html http://blog.csdn.net/shijinupc/article/details/6789554 CC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C.C++.Ada.Fortran.Objective.Perl.Python.Ruby以及Java等,甚至Linux的许多内核和许多其他自由软件以及开放源码应用程序都

c++编译过程理解

1.Makefile就知道了.先直接用命令行操作,然后用集成的IDE来写代码. 2.对于编译过程,总体上是这样 <1>源代码(*.h,*.cpp/c)经过预编译,编译,生成目标文件(Windows下应该是.obj文件,Linux/unix下是.o文件) <2>然后通过链接(将各种目标文件.obj(.o) 和 目标文件的集合(动态静态库dll(windows下),so(linux/unix下))) <3>最终成功可执行文件(Windows下叫exe,Linux/unix下

Docker快速入门——Docker镜像制作

Docker快速入门--Docker镜像制作 一.Dockerfile脚本 1.Dockerfile脚本简介 Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容就是描述该层应当如何构建.Dockerfile文件示例如下: ## Dockerfile文件格式 # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_us

实现在线评测系统(一)

目录 Online judge system 概述: 关键技术 1.如何在Linux中调用另一个程序 2.如何监控进程执行时间 3.如何限制子进程的资源 4.虚拟化技术 Online judge system 概述: 研究一下在线评测系统编写的一些细节,加深对操作系统的理解,实现一个基本能用的评测机,通过shell脚本控制评测机监控用户程序.web接口和日志功能没写. 另外PE和CE功能还没写 编写语言c/c++, bash 编写环境deppin linux 编写工具vim gcc 7.3.0

【411】COMP9024 Assignment1 问题汇总

1. 构建 Makefile 文件后运行错误,undefined reference to 'sqrt' 实际上是没有链接math数学库,所以要 $gcc test.c –lm //-lm就是链接到math库. 参考:C 语言 undefined reference to 'sqrt' 问题解决 参考:Why am I getting “undefined reference to sqrt” error even though I include math.h header? [duplica