简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年12月14日

摘要: 一、前言Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。然而make的命令"博客精深",对于初学者来说,真是望而生畏,这篇文章不是make详解,只是讲解实用makefile的编写和使用。在linux上,如果用gcc一个个编译源码,实在很繁琐,尤其是随着源代码的增加,这种繁琐更是明显,很多人,包括我,其实要求很简单,只要把头文件和cpp或者c文件放在当前目录或者其他目录,直接一个命令 阅读全文
posted @ 2011-12-14 20:50 ggjucheng 阅读(5061) 评论(3) 推荐(4)

摘要: 1 简介2 生成调试信息3 启动GDB 的方法4 程序运行上下文 4.1 程序运行参数 4.2 工作目录 4.3 程序的输入输出5 设置断点 5.1 简单断点 5.2 多文件设置断点 5.3 查询所有断点6 观察点7 条件断点8 维护停止点9 为停止点设定运行命令10 调试代码11 查看运行时数据12 程序变量13 自动显示14 历史记录15 改变程序的执行 15.1 修改变量值 15.2 跳转执行 15.3 产生信号量 15.4 强制函数返回 15.5 强制调用函数16 显示源代码17 调试已运行的进程18 线程19 查看栈信息20 信号21 catch22 指定源文件的路径1 简介GDB( 阅读全文
posted @ 2011-12-14 19:52 ggjucheng 阅读(61702) 评论(6) 推荐(16)

摘要: 1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是 阅读全文
posted @ 2011-12-14 16:21 ggjucheng 阅读(424092) 评论(21) 推荐(62)

摘要: C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。运算符函数的定义与其他函数的定义类似,惟一的区别是运算符函数的函数名是由关键字operator和其后要重载的运算符符号构成的。运算符函数定义的一般格式如下: <返回类型说明符> operator <运算符符号>(<参 阅读全文
posted @ 2011-12-14 14:54 ggjucheng 阅读(4605) 评论(0) 推荐(1)

摘要: C++标准中提缺省构造函数、拷贝构造函数、拷贝赋值操作符和析构函数是特殊成员函数。1.构造函数不能有返回类型,也不能由virtual, const, static 和 volatile来修饰。但可以由inline来修饰,事实上隐式构造函数就是用inline来修饰的。inline表示编译时展开,通常速度块;virtual表示运行时绑定,通常意味着灵活。2.类中存在虚函数或者有虚基类的情况下需要显式声明构造函数。拷贝构造函数也是如此。3.构造函数是一种特殊函数,而拷贝构造函数是一种特殊的构造函数。类X的构造函数的第一个参数必须为X&,或者const X&;除了第一个参数外,构造函数 阅读全文
posted @ 2011-12-14 13:38 ggjucheng 阅读(7146) 评论(0) 推荐(0)

摘要: C++类就是为程序员提供一种建立一个新类型的工具,使这些新类型的使用能够像内部类型一样方便。一个类就是一个用户定义的类型,如何声明一个类,形式如下:class class_name { access_specifier_1: member1; access_specifier_2: member2; ... } object_names;示例如下:class Object {public: Object(); ~Object(); //must be public Object(int num); int getNumber(); void s... 阅读全文
posted @ 2011-12-14 11:52 ggjucheng 阅读(14755) 评论(0) 推荐(0)

2011年12月13日

摘要: structstruct是一组数据元素一个名字,这些数据元素,作为成员,可以有不同类型和不同长度。C++声明struct语法如下:struct structure_name {member_type1 member_name1;member_type2 member_name2;member_type3 member_name3;..} object_names;简单示例如下:struct product { int weight; float price;} ;product apple;product banana, melon;声明struct并定义多个实例:struct produ.. 阅读全文
posted @ 2011-12-13 23:42 ggjucheng 阅读(6743) 评论(0) 推荐(0)

摘要: 通过使用函数(functions)我们可以把我们的程序以更模块化的形式组织起来,从而利用C++所能提供的所有结构化编程的潜力。一个函数(function)是一个可以从程序其它地方调用执行的语句块。以下是它的格式:type name ( argument1, argument2, ...) statementtype 是函数返回的数据的类型name 是函数被调用时使用的名argument 是函数调用需要传入的参量(可以声明任意多个参量)。每个参量(argument)由一个数据类型后面跟一个标识名称组成,就像变量声明中一样(例如,int x)。参量仅在函数范围内有效,可以和函数中的其它变量一样使用 阅读全文
posted @ 2011-12-13 20:42 ggjucheng 阅读(5923) 评论(0) 推荐(2)

摘要: 循环可以用while,do,for,goto语句表述 while (condition) statement; do statement while(condition); for (for-init-statement; condition; expression) statement; goto identifier; identifier: statement;while语句代码段int a = 0;while( a > 0 ){ a--;}do语句代码段int a = 0;do { a--;}while( a > 0 );for语句代码段int sum = 0;i... 阅读全文
posted @ 2011-12-13 18:10 ggjucheng 阅读(2886) 评论(0) 推荐(0)

摘要: C++选择语句包括if语句和switch语句: if (condition) statement; if (condition) statement elsestatement ; switch (condition)statement比较运算符 ==, !=, >, <, >=, <=.比较值为真返回bool值true,否则返回bool值false。if语句例子:if (a >= b) { max = a;} else { max = b;}写成下面更好些:max = (a >= b) ? a : b;switch可以作为if语句的另一种形式:switch 阅读全文
posted @ 2011-12-13 18:03 ggjucheng 阅读(8407) 评论(0) 推荐(1)