- 博客(23)
- 资源 (8)
- 收藏
- 关注
转载 用GDB调试程序(六)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2885改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。
2012-09-16 17:24:25
891
转载 用GDB调试程序(五)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2884七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数
2012-09-16 17:19:55
450
转载 用GDB调试程序(四)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2883查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print /
2012-09-16 17:18:13
764
转载 用GDB调试程序(三)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2882查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:
2012-09-14 08:12:13
581
转载 用GDB调试程序(二)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2880http://blog.youkuaiyun.com/haoel/article/details/2881GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示:
2012-09-12 09:11:04
468
转载 用GDB调试程序(一)
原文出处:http://blog.youkuaiyun.com/haoel/article/details/2879用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的
2012-09-12 07:59:13
346
原创 系统常见快捷键
Alt + F10 最大化窗口Alt + F9 最小化窗口Alt + F5 恢复窗口大小Alt + Tab 切换窗口, Alt + Shift + TAbCTRL + Alt + T 运行终端CTRL + L 终端清屏
2012-08-30 07:52:17
373
原创 shell命令
1) date 日期:date +%Y / %m / %d %H %M 2) cal 日历 : 当前月的日历, cal 2012 全年的日历, cal [month] [year] 某年某月的日历 3) bc 基本的计算器 : + - * / % ^指数,结束命令用quit (常用CTRL+C终止命令,q退出)4)man操作说明(manual) 或
2012-06-13 15:33:19
402
原创 ubuntu 编译问题
今晚试着在ubuntu上编写Qt的hello world,结果生成的文件居然不可运行,无论是用chmod u+x ,都提示权限不够。后来放到~目录下就可以运行了。原来在其它目录(media下挂载的文件)下,是没有权限执行的(可能root可以)下面是g++命令:特别要指定$QTDIR/include,不然找不到头文件g++ -c sample.cpp -I$QTDIR/include -I$
2012-06-13 15:32:41
722
原创 linux 编程第一步:学会写 makefile 及用make命令
1) make命令: 终端输入 main 或vim 命令输入:mainmake 会调用 makefile文件进行编译连接构造程序。命令会依次搜索当前目录下名为makefile、Makefile、GNUmakefile的文件。建议采用Makefile为名字,目录下子目录或文件名首字母为小写,这样有利于查找。make最常用的三个选项:-k: 指定发现错误时仍然继续,发现所有未编译成功的
2012-06-13 15:31:27
851
原创 linux学习之vim篇
vim 确实是一把利器,值得程序员深入学习,打造个人的IDE,以发挥它的最大功率,此文做为记忆之用,常期更新配置文件 $VIMRUTIME/vimrc_example.vim 用户配置:./vimrc入门学习:vimtutor 命令 可进入基本操作的学习 用户手册::help user-manual快速参照::h quickref速查表:htt
2012-06-13 15:11:20
678
转载 C++著名程序库的比较和学习经验
<br /><br />1、C++各大有名库的介绍——C++标准库 <br />2、C++各大有名库的介绍——准标准库Boost <br />3、C++各大有名库的介绍——GUI <br />4、C++各大有名库的介绍——网络通信 <br />5、C++各大有名库的介绍——XML <br />6、C++各大有名库的介绍——科学计算 <br />7、C++各大有名库的介绍——游戏开发 <br />8、C++各大有名库的介绍——线程 <br />9、C++各大有名库的介绍——序列化 <br />10、C++各大
2011-05-29 11:41:00
555
原创 关于预编译头文件
<br /> 好久没写文章了,今晚有点无聊,就来记一记。在公司里工作了大半年了,一直对编译调试代码感到厌烦,每次debug都要等好几分钟。这种千万行代码量的项目如果要一直这么弄下去,工作效率严重受到影响。后来又位同事把程序调试时的自动窗口关了,调试快了点,但链接时还是那么慢。在做PDF导出项目时,我干脆拷备了两个项目,一个release版,一个debug版。有空时就让debug版更新编译。<br /> 总算在一月底时,改变了V盘这种代码管理方法。采用了Mercurial,代码也进行了调
2011-02-19 20:02:00
571
1
原创 质数筛法
<br />筛选出一定范围内的质数,下面是POJ2739。常遇到质数的问题但过后又忘记了,在这里标记一下。<br /> <br /><br /><br />#include <iostream><br />#include <math.h><br />using namespace std;<br /> <br />int main()<br />{<br />int i;<br />int j;<br /><br />bool test[10002]; //1 非质数<br />int primes[10
2010-11-28 22:53:00
565
转载 hpp文件
<br /> hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该cpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库。<br />1、是Header Plus Plus 的简写。<br />2、与*.h类似,hpp是C++程
2010-11-15 23:10:00
922
原创 CrashReport
<br /> 来公司做的第二个小项目CrashReport,最近要提交代码了,虽然项目含金量小,但在这里做一下总结。<br /> CrashReport顾名思义,就是系统发生崩溃时提交报告的机制,在很多软件上都可以发生这个功能。原理就是SEH(结构化异常处理),重写main函数,在主线程中添加__try,__except块。当异常发生时,操作系统会进入异常过滤器函数,传入异常信息结构。我们在异常过滤函数里保存内存信息、堆栈、截图、用户文件、dmp文件等。然后开一个进程,把这些东西打包发送到公司
2010-11-15 23:06:00
3312
原创 位操作2
<br />//基于vector<bool>实现的BitBuffer<br />#include<vector><br />#include<limits><br />using namespace std;<br />class BitBuffer<br />{<br />public:<br /> void Append(unsigned char* p,size_t num)<br /> {<br /> int bits = numeric_limits<
2010-09-01 09:10:00
366
原创 位操作1
<br />#include<vector><br />#include<limits><br />using namespace std;<br />int min(int a,int b)<br />{<br /> return a < b ? a : b;<br />}<br />class BitBuffer<br />{<br />public:<br /> BitBuffer():m_buf(0),m_size(0){}<br /> <br /> //添
2010-08-31 09:55:00
494
2
原创 rgbyuv
头文件:#include// Conversion from RGB24 to YUV420void InitLookupTable();int ConvertRGB2YUV(int w,int h,unsigned char *rgbdata,unsigned int *yuv);// Conversion from YUV420 to RGB24void InitConvertTa
2010-04-22 20:31:00
678
转载 VS2005中const char *转换为LPCWSTR的方法Unicode
VS2005默认是Unicode的,在VC 6.0中编译成功的项目在VS2005中常会出现类型错误。经常出现的错误是:不能从const char *转换为LPCWSTR如使用CreateDC("DISPLAY",NULL,NULL,NULL)就会报错,如果使用强制转换(LPCWSTR)"DISPLAY",虽然能够通过,但是编码会出错。可行的办法是使用 TEXT("DISPLAY")转换
2010-04-17 10:53:00
574
转载 看代码
第一章: 导论 ++++++++++++ 1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码. 2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法. 3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格. 4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪. 5.请将从开
2010-03-18 16:44:00
509
转载 微软的下一代用户界面技术WPF
MFC还是Winform 微软的下一代用户界面技术WPF WPF简介WPF的全称是Windows Presentation Foundation,是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。作为新的图形引擎,WPF是基于DirectX的,当然增加了很多新的功能。其2D和
2010-01-12 23:32:00
863
转载 C++代码优化
C++层次一样可以作代码优化,其中有些常常是意想不到的。在C++层次进行优化,比在汇编层次优化具有更好的移植性,应该是优化中的首选做法。1.确定浮点型变量和表达式是 float 型以 "F"; 或 "f"; 为后缀(比如:3.14f)的浮点常量才是 float 型,否则默认是 double 型。为了避免 float 型参数自动转化为 double,请在函数声明时使用 float。 2.
2010-01-10 13:58:00
417
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人