Welcome 微信登录

首页 / 操作系统 / Linux / G++ 编译 C++ 方法以及 Linux 编程环境

很是简单,今天用到,暂做标记,以供初学查阅://编译生成可执行文件g++ -o hello hello.cpp//运行./helloGCC编译命令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);环境变量查看环境变量envenv也可以用来设置环境变量的值,具体看env --helpset 也可是设置环境变量如果环境变量在一个terminal里设置,就只对这个terminal有效如果想全局的设置,需要修改/etc/profile文件