G++ 编译 C++ 方法以及 Linux 编程环境
2011-05-31 09:12
323 查看
很是简单,今天用到,暂做标记,以供初学查阅:
//编译生成可执行文件
g++ -o hello hello.cpp
//运行
./hello
查找g++的命令帮助 键入 info g++,会显示出gcc的帮助信息,g++大部分参数和gcc命令相同
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c -o只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
g++ -o 目标文件名 源文件名
ldd programm 查看programm程序所依赖的共享库(.so)文件
ar crv mm.a x.o y.o 将x.o和y.o合并到一个静态库mm.a文件中
ranlib mm.a 生成静态库的内容表 (不是必须)
ctrl+x+d 打开目录,查看该目录的子目录
ctrl+x+s 保存当前buffer里的文件
ctrl+s 查找当前buffer里的文本
rename-buffer 修改当前缓冲区的名字
ctrl+shift+ - 回退
ctrl+alt+/ 对选中的代码进行格式化
ctrl+x 松开后 按o 在不同的缓冲区移动焦点
alt+x选中命令缓冲区
ctrl+g取消当前命令
alt+w 复制被选中的代码
ctrl+y 粘帖代码
ctrl+w 剪切代码
ctrl+x 松掉后按backspace 设置断点
ctrl+x+k 关闭当前缓冲区
注意g++编译时,使用-g命令
gdb 已编译的程序文件名
list 显示源代码
break命令设置断点,可以后面加上函数名称
delete breakpoints 删除所有断点
run 运行程序
step <count> 单步跟踪(自动进入函数)
next <count> 单步跟踪(不自动进入函数)
continue 继续运行
print 变量名查看某变量的值,调试过程中改变某变量的值
info breakpoints 查看程序中断点设置的信息
quit 退出
size_t wcsrtombs (char *dest, const wchar_t **src, size_t len, mbstate_t *ps);
#include <stdlib.h>
size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
env
env也可以用来设置环境变量的值,具体看env --help
set 也可是设置环境变量
如果环境变量在一个terminal里设置,就只对这个terminal有效
如果想全局的设置,需要修改
/etc/profile文件
//编译生成可执行文件
g++ -o hello hello.cpp
//运行
./hello
GCC编译命令
gcc -v 查看版本查找g++的命令帮助 键入 info g++,会显示出gcc的帮助信息,g++大部分参数和gcc命令相同
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c -o只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
g++ -o 目标文件名 源文件名
ldd programm 查看programm程序所依赖的共享库(.so)文件
ar crv mm.a x.o y.o 将x.o和y.o合并到一个静态库mm.a文件中
ranlib mm.a 生成静态库的内容表 (不是必须)
emacs基本命令
ctrl+x+f 打开文件ctrl+x+d 打开目录,查看该目录的子目录
ctrl+x+s 保存当前buffer里的文件
ctrl+s 查找当前buffer里的文本
rename-buffer 修改当前缓冲区的名字
ctrl+shift+ - 回退
ctrl+alt+/ 对选中的代码进行格式化
ctrl+x 松开后 按o 在不同的缓冲区移动焦点
alt+x选中命令缓冲区
ctrl+g取消当前命令
alt+w 复制被选中的代码
ctrl+y 粘帖代码
ctrl+w 剪切代码
ctrl+x 松掉后按backspace 设置断点
ctrl+x+k 关闭当前缓冲区
GDB调试命令
查看gdb帮助信息 gdb –help注意g++编译时,使用-g命令
gdb 已编译的程序文件名
list 显示源代码
break命令设置断点,可以后面加上函数名称
delete breakpoints 删除所有断点
run 运行程序
step <count> 单步跟踪(自动进入函数)
next <count> 单步跟踪(不自动进入函数)
continue 继续运行
print 变量名查看某变量的值,调试过程中改变某变量的值
info breakpoints 查看程序中断点设置的信息
quit 退出
info thread 列出多个线程号。 thread 查看当前线程号 thread 线程号 选择进入哪个线程进行调试。
Unicode和MultiBytes 字符串的转换
#include <wchar.h>size_t wcsrtombs (char *dest, const wchar_t **src, size_t len, mbstate_t *ps);
#include <stdlib.h>
size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
环境变量
查看环境变量env
env也可以用来设置环境变量的值,具体看env --help
set 也可是设置环境变量
如果环境变量在一个terminal里设置,就只对这个terminal有效
如果想全局的设置,需要修改
/etc/profile文件
相关文章推荐
- NDK环境变量的配置以及编译方法(linux环境下)
- linux下unix环境高级编程代码配置步骤及编译方法
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- 【PE】x264编解码器在Windows(MinGw环境)和Linux平台的编译过程以及使用方法
- linux下使用g++编译包含多个库的c++的方法
- Linux 环境下使用g++编译C++
- Linux 环境下使用g++编译C++
- Linux环境编译安装Mysql以及补装innodb引擎方法
- Linux 环境下使用g++编译C++
- Linux下编译C/C++以及gcc/g++常用参数
- unix环境高级编程 APUE.H最简单编译方法(第二版) Linux和Ubuntu
- [C/C++]Windows中配置g++编译环境最简单方法
- Linux 环境下使用g++编译C++
- Linux环境g++编译GDAL动态库
- arm-linux-gcc-4.4.3交叉编译google的protobuf。以及使用方法
- 解决VS 2010/2012 C++ 生成的exe在非编译环境电脑中缺失dll的方法
- Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间
- linux环境下编译C++ 程序
- Windows下TensorFlow环境搭建(无GPU)以及windows及linux环境下永久修改pip镜像源的方法