很是简单,今天用到,暂做标记,以供初学查阅:
//编译生成可执行文件
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 单步跟踪(自动进入函数)
next 单步跟踪(不自动进入函数)
continue 继续运行
print 变量名查看某变量的值,调试过程中改变某变量的值
info breakpoints 查看程序中断点设置的信息
quit 退出
info thread 列出多个线程号。 thread 查看当前线程号 thread 线程号 选择进入哪个线程进行调试。
Unicode和MultiBytes 字符串的转换
#include
size_t wcsrtombs (char *dest, const wchar_t **src, size_t len, mbstate_t *ps);
#include
size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
环境变量
查看环境变量
env
env也可以用来设置环境变量的值,具体看env --help
set 也可是设置环境变量
如果环境变量在一个terminal里设置,就只对这个terminal有效
如果想全局的设置,需要修改
/etc/profile文件