GNUCcompilerGNUCompilerCollection的缩写gcc能够编译C、C++.doc

GNUCcompilerGNUCompilerCollection的缩写gcc能够编译C、C++.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GNUCcompilerGNUCompilerCollection的缩写gcc能够编译C、C++.doc

GNU Ccompiler/GNU Compiler Collection 的缩写 gcc能够编译:C、C++和object C(C语言的一种面向对象的扩展) gcc是用来编译C代码 g++用来编译C++代码 gcc gcc的编译过程 预处理 cpp 宏定义 文件包含 条件编译 编译 ccl 汇编 as 链接 ld gcc 常用选项 -o 选项:制定目标名称 用法:gcc –o hello hello.c -x 选项:忽略源文件名后缀类型 如写一个简单的C程序,完整文件名称为hello.xyz,即扩展名为.xyz # gcc –o hello.x –x c hello.xyz -c 选项:编译、汇编到目标代码,不进行链接,只生成.o文件,不生成可执行文件 如:gcc –c hello.c -S 选项:不进行汇编和链接,只把文件编译成汇编代码 如:gcc –S hello.c -E 选项:仅作预处理,不进行编译、汇编和链接,不生成任何文件 如:gcc –E hello.c hello.log —— 以下用得较少: -M 选项:生成当前编译程序文件关联的详细信息,包含目标文件的所有源代码文件,包括头文件。 -MM 选项:和-M类似,不包含头文件依赖 -O0/-O1/-O2/-O3/ 选项:编译器优化,优化级别越高,编译速度越慢 -I 选项:制定编译时源文件存放的路径,通常用来指定头文件 gcc 警告信息设置 -Wall:显示所有常用编译警告 -W:显示更多的常用编译警告 -Wconversion:警告隐式类型转换 -Wshadow:警告影子变量(在代码块中再次声明已声明的变量) -Wcsst-qual:警告指针修改了变量的修饰符。如:指针修改const变量 -Wwrite-strings:警告修改sonst字符串 -Werror:即使只有警告信息,也不编译 gcc搜索路径 Unix类系统迷人的系统路径为: 头文件,包含路径: /usr/local/include/ or /usr/include/ 库文件,链接路径: /usr/local/lib/ or /usr/lib/ 静态库与共享库 外部库有两种:静态链接库lib.a 共享链接库lib.so 共同点:.a,.so 都是.o目标文件的集合,目标文件中含有一些函数的定义,这些函数在连接时会被最终的可执行文件用到。 区别: 静态库:占用磁盘和内容空间大 共享库:若库本身被更新,不需要重新编译与它连接的源程序 实践:写2个简单的源文件编译为一个共享库,然后再写一个程序调用该共享库 gcc安装 * 从 HYPERLINK / /官方网站下载 * 解压: tar xvzf*.tar.gz * 配置: ./configure –options * 编译: make * 安装 make install * 设置路径 gdb gdb工具属于GNU项目成员 gdb 主要作用: * 运行你的代码,设置所有能影响代码运行的东西 * 确保你的代码在指定的条件下停止 * 当你程序停止时,让你检查发生了什么 * 改动你的代码,你能试着修正某个bug引起的问题,然后继续 gdb 常用命令 命令简写功能file-装入想要调试的可执行文件killk终止正在调试的程序listl列出产生执行文件的源代码的一部分nextn执行下一行源代码但不进入函数内部steps执行下一行源代码进入函数内部continuec继续执行程序,直至下一中断或者程序结束runr执行当前被调试的程序quitq终止gdbwatch-使你能监视一个变量的值而不管它何时被改变catch-设置捕捉点threadt查看当前运行的线程信息breakb设置断点,程序运行到这里被挂起make-执行当前被调试的程序shell-终止gdbprintp使你能监视一个变量的值而不管它何时被改变examinex设置捕捉点backtracebt查看当前运行线程信息(堆栈信息)where-查看当前运行的位置 Makefile * 作用:自动化编译 * make是一个解释makefile中指令的命令工具 * 如Delphi的make,Visual C++ 的nmake, Linux的make 用法介绍 * make 命令会根据Makefile 的内容对项目进行管理。make能自动确定哪一个模块被修改了,然后再进行统一、无遗漏的编译。最后实现项目或软件包的管理工作。 * make 的用法为: - make [-f filenam

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档