Linux下的C++编程入门教程_第1页
Linux下的C++编程入门教程_第2页
Linux下的C++编程入门教程_第3页
Linux下的C++编程入门教程_第4页
Linux下的C++编程入门教程_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux下c+编程北邮百度俱乐部 苏冉旭suranxu.bupt为什么学习Linux下C+开发就业百度Google网易有道AgendaLinux下开发环境G+简介与实例Makefile简介与实例Gdb 单步调试Windows代码迁移到Linux的常见问题果断学习Linux下C+!Linux下开发环境VIM + gcc + Makefile + gdb您是用VIM还是VIM还是VIM?命令行界面,无法编译,难以多文件操作,但支持插件给力但复杂的emacs其它常用方案:Windows下IDE编写,Linux下编译部署SecureCRT-SZ/RZ 或 Samba 上传下载G+简介与实例g+/gc

2、c 是什么Linux下的c/c+编译器一个最简单的g+语句g+ hello.cpp o hello.exeG+简介与实例G+功能选项-I 指定头文件路径-L l指定库文件路径常用g+编译选项 -g -pipe Wall fPIC一条标准格式的g+语句g+ -g pipe Wall fPIC hello.cpp -o hello.exe -Ibbc_log -Lbbc_log/lib -lbbc_log -lboost_threadMakefile初步什么是Makefile?Makefile是一个按格式书写的g+语句文件。Makefile是 g+ 和 shell语句集合。它允许我们按照规定格式使

3、用以上两种语句设计编译行为。Make是一种控制编译或重复编译的软件工具。它自动决定一个程序中哪些文件需要重新编译,并重新运行指定的命令。Makefile基础文件名为“Makefile”或“makefile”Makefile的规则格式:目标(target) : 依赖(prerequiries)命令(command)一个最简单的Makefileall : g+ hello.cpp -o hello.exe Makefile 标准篇先编译,后连接变量的定义与使用几个奇怪的变量(自动变量):$,$,$内建函数:wildcard(), patsubst()来看一个相对标准的MakefileMakefil

4、e 高级篇生成.a文件ar -ruv $(LIB_DIR)/lib$(LIBNAME).a $(OBJS)$(OBJS): *.cpp $(CXX) -c $ -o $ $(INCLUDEFLAGS)多个Target的编译all : $(target1) $(target2)调用子文件夹中的Makefilesubsystem :cd subdir & makeGDB 单步调试命令格式gdb ./program_namegdb core_name ./program_name常用子命令break -设置断点continue -继续执行直到下个断点step -单步跳入next -单步跳过print -打印值quit -退出GDB高级-d 指出源代码所在路径list 显示源代码ptype 显示类型定义代码x查看内存地址的值,格式 x /(NUM)(FMT) ADDRESSInfo local查看当前栈的局部变量值Info arg 查看当前栈的参数值Where full查看当前堆栈所有信息Windows迁移代码常见问题缺少最后一行空行多余的/r回车符dos2unix fromdos 中文注释乱码 iconv f gbk t utf8不能忍的头文件 #include不兼容的宏,库函数 sn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论