1 Ubuntu下编译安装GCC-4.1.2

  • 拷贝gcc-4.1.2.tar.bz2(我下载的压缩文件)到/usr/local/src
  • 解压

新生成的gcc-4.1.2这个目录被称为源目录,用${srcdir}表示它。目标目录(用${objdir}表示)是用来存放编译结果的地方

  • 配置shell> ${srcdir}/configure --prefix=${destdir} [其它选项]

例如,如果想将GCC 4.1.2安装到/usr/local/gcc-4.1.2目录下,则${destdir}就表示这个路径。

root@w-ProLiant-ML350-Gen9:/usr/local/gcc-4.1.2# chmod a+x ../src/gcc-4.1.2/configure
root@w-ProLiant-ML350-Gen9:/usr/local/gcc-4.1.2# ../src/gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-threads=posix --disable-checking --enable--long-long --host=w-ProLiant-ML350-Gen9 --with-system-zlib --enable-languages=c,c++,java
root@w-ProLiant-ML350-Gen9:/usr/local/gcc-4.1.2# make
root@w-ProLiant-ML350-Gen9:/usr/local/gcc-4.1.2# make install

2 g++编译中参数-l-L含义

The "-l" tell the compiler to look for a library and the "-L" tells it where to do the search (which is what you are probably missing).

# 定位library的位置
shell> locate cutil_x86_64
/home/cho/NVIDIA_GPU_Computing_SDK/C/lib/libcutil_x86_64.a
# eg
shell> g++ -o application main.cpp -L/home/cho/NVIDIA_GPU_Computing_SDK/C/lib -lcutil

3 gdb设置和管理断点

  • setting breakpoint

    • 以条件表达式设置断点:break 7 if i==99
  • setting temporary breakpoint
    • tb line-number
  • 删除断点

clear : 删除程序中所有的断点

clear 行号 : 删除这行的断点

clear 函数名 : 删除该函数的断点

delete b_id1 b_id2 ... : 删除指定编号的断点

4 scons简单例子

SCons是一个开放源代码、以 Python 语言编写的下一代的程序建造工具。

# simple case of hello.c:
shell> ls
hello.c SConstruct
shell> cat SConstruct
Program('hello.c') shell> scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o hello.o -c hello.c
gcc -o hello hello.o
scons: done building targets. shell> ls
hello hello.c hello.o SConstruct
  • 编译之后清除(-c或--clean): scons -c
  • 使Scons输出更简洁: scons -Q
  • 指定目标文件的名字: Program('new_filename','filename.c')
  • 编译多个源文件: Program(['prog.c','file1.c','file2.c'])
  • 关键字参数:
src_files=Split('main.c  file1.c  file2.c')
Program(target='program', source=src_files)

Linux下gcc,g++,gdb,scon部分用法笔记的更多相关文章

  1. Linux下gcc与gdb简介

    gcc编译器可以将C.C++等语言源程序.汇编程序编译.链接成可执行程序.gdb是 GNU 开发的一个Unix/Linux下强大的程序调试工具. linux下没有后缀名的概念.但 gcc 根据文件的后 ...

  2. Linux下gcc/g++中-I(i的大写)、-L和-l

    -I(i的大写)include头文件非标准库中存在的也不是在当前文件夹下的,需要将地址用-i(大写)包含例:-I /home/src/-L用到的函数或操作非标准库下的,需要将库存在的地址用-L包含,库 ...

  3. Linux下Ganglia集群监控安装、配置笔记

    http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html 枪声依旧 Linux下Ganglia集群监控安装.配置笔记 Gangli ...

  4. Linux gcc/g++下GDB调试及其调试脚本的使用

    GDB调试及其调试脚本的使用返回脚本百事通一.GDB调试 1.1. GDB 概述 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB ...

  5. Linux下gcc与g++用法以及编写makefile

    1.         gcc与g++编译流程: 1)         编译流程: 2)         预处理:生成.i的预处理文件. Ø 只激活预处理,这个不生成文件,需要把它重定向一个输出文件. ...

  6. linux下gcc编译多个源文件、gdb的使用方法

    一. gcc常用编译命令选项 假设源程序文件名为test.c. 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认 ...

  7. Linux gcc和gdb程序调试用法 {转}

    gcc一般调试格式: gcc -Wall -o  test   test.c // -wall  显示程序错误详细信息      gcc -v  // 显示gcc的版本 gcc -o{1,2,3} t ...

  8. Linux 下 gcc 与 g++的差别

    参考网易博客者"静心"的博客--<gcc与g++的区别>结合自己的认识做出的个人领悟.(由于个人水平有限,难免会存在错误的地方,请见谅) 一般而言,在Linux下编译程 ...

  9. Linux下gcc和g++的区别

    首先编写了第一个C++程序,Hello,world! #include <iostream> using namespace std; void main() ...{ cout < ...

  10. linux下gcc编译的参数详细说明

    参考网址:1 http://hi.baidu.com/zengzhaonong/item/f1f9383565fa5c302e0f8125 gcc使用方法 汇总 2 http://s99f.blog. ...

随机推荐

  1. Tomcat源码学习一

    这段时间工作不太忙,所以抽时间学习了TOMCAT, TOMCAT实际就是负责保持TCP连接传递到部署的项目中.浏览器实质就是TCP发送器.将用户的请求封装成TCP发送请求.当然格式是双方协定的.使用的 ...

  2. 开发使用混合式Winform模块

    开发使用混合式Winform模块 1.Winform数据访问模式定义 传统的Winform程序模块:用于传统的数据库通讯获取数据,这种方式获取数据,方便快捷,可以用于常规的业务系统的场景,用于单机版软 ...

  3. visual studio快捷键总结

    熟练操作vs的快捷键,可以有效地提高开发效率,下面将vs 2008与vs 2010的快捷键进行了总结,结果如下表: 注:vs 2010与vs 2008的快捷键基本相同. 编辑:   CTRL + M, ...

  4. Leetcode:Minimus Depth of Binary Tree

    The problem description: Given a binary tree, find its minimum depth. The minimum depth is the numbe ...

  5. jquery validate 验证

    JSP中引入 <link href="themes/gray/easyui.css" rel="stylesheet" type="text/c ...

  6. ASP.NET MVC学习笔记-----Filter

    ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...

  7. MySQL能够承受上亿万条的数据量的架构

    MySQL能够承受上亿万条的数据量的架构 最近做的搜索引擎的数据量是越来越大估计了下在中国可能涉及到的1Kw的数据量,就全球来说也就是1K亿而已,最初是用的数据库是MySQL现在来说要做些优化,最终使 ...

  8. AspxTreeList获取选中项的值

    在csdn上了发了次帖子,没人回复,只有自己结贴了.http://bbs.csdn.net/topics/390706314?page=1#post-396723432 //通过选中的节点获取用户ID ...

  9. IIS7中 ASP.NET授权功能如何实现对静态文件的控制

    IIS7中 ASP.NET授权功能如何实现对静态文件的控制 前序 .net提供了3种用户认证的方式,分别是Windows,Forms,Passport.这几种形式的定义可以在网站根目录下Web.con ...

  10. kivy create a package for Android

    Now that you've successfully coded an app. Now you want to deploy it to Android. So now we would nee ...