C/C++
_Black铁木真
闻道有先后术业有专攻如是而已
展开
-
万能Makefile
CC = gccLD = gccCFLAGS = -Wall -cLDFLAGS = -lpthreadSRCS = $(wildcard *.c)OBJS = $(patsubst %.c,%.o,$(SRCS))TARGET = bin .PHONY:all cleanall:$(TARGET)$(TARGET):$(OBJS) $(LD) $(LDFLAGS) -o原创 2013-07-03 16:51:14 · 442 阅读 · 0 评论 -
C++虚继承
1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下:class Aclass B1:public virtual A;class B2:public vi转载 2015-12-19 11:13:30 · 280 阅读 · 0 评论 -
C++构造函数
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。 c++类的构造函数详解 一、 构造函数是转载 2016-03-04 09:06:17 · 294 阅读 · 0 评论 -
如何重新修改sourceinght的注册序列号
修改注册表1,打开注册表,运行->regedit,32位系统在HKEY_LOCAL_MACHINE\SOFTWARE\Source Dynamics\Source Insight\3.0\Install\下,64位系统在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Source Dynamics\Source Insight\3.0\Install下,修改转载 2016-12-06 18:12:53 · 2576 阅读 · 0 评论 -
linux下查看项目行数
当前目录以及子目录的所有文件行数:find . * | xargs wc -l可以把*改成所要匹配的文件,例如Java文件,*.java这样就只统计java源码了Source Insight里查看项目行数:Project->Project Report转载 2016-11-25 09:54:43 · 1454 阅读 · 0 评论 -
UML建模工具Visio 、Rational Rose、PowerDesign的比较
UML建模工具Visio 、Rational Rose、PowerDesign的比较 ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更转载 2016-12-14 09:51:55 · 349 阅读 · 0 评论 -
C++中的static关键字的总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include转载 2017-03-21 09:27:44 · 215 阅读 · 0 评论 -
Linux程序的编译链接
编译过程在Linux下使用GCC将源码编译成可执行文件的过程可以分解为4个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。一个简单的hello word程序编译过程如下:1. 预处理首先源代码文件(.c/.cpp)和相关头文件(.h/.hpp)被预处理器cpp预编译成.i文件(C++为.ii)。预处理命转载 2017-11-20 01:03:17 · 2425 阅读 · 0 评论 -
c++继承
c++继承经典例子#include class Base{private: int b_number;public: Base( ){} Base(int i) : b_number (i) { } int get_number( ) {return b_number;} void pri转载 2015-12-19 10:46:40 · 282 阅读 · 0 评论 -
代码重构
开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法。这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等。与之相对应的一个词是"refactor",即代码重构。我们在看些外国人写的程序时可以发现,他们的代码里一般会定义大量的类、接口、方法,转载 2015-11-23 13:58:06 · 305 阅读 · 0 评论 -
编码相关
每一个程序员都不可避免的遇到字符编码的问题,特别是做Web开发的程序员,“乱码问题”一直是让人头疼的问题,也许您已经很少遇到“乱码”问题,然而,对解决乱码的方法的内在原理,您是否明白?本人作为一个程序员,在字符编码方面同样遇到不少问题,而且一直对各种编码懵懵懂懂、不清不楚;在工作中也曾经遇到一个很烦人的编码问题。这两天在网上收集了大量编码方面的资料,对字符编码算是理解的比较清楚了。下面把我认为比较转载 2015-11-23 10:17:26 · 364 阅读 · 0 评论 -
练习题
初级1. 写程序将” Hello World”打印到屏幕。2. 写程序输入用户的姓名并用该姓名和他打招呼。3. 修改上一个程序,使得仅可以与Alice和Bob这两个用户用其姓名与之打招呼。4. 写程序输入一个数n并打印出从1到n的和。5. 修改上个程序,使得求和的数只包含3或5的倍数,例如n=17,则求和的数为:3, 5, 6, 9, 10, 12, 15。转载 2013-12-13 17:39:23 · 1009 阅读 · 3 评论 -
C语言中的32个关键字
auto:这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是autocontinue:结束本次循环,直接开始下一次循环,但仍在本层循环内enumifshortswitchvolatile:volatile的本意是“易变的” 因为访问寄存器要比访问原创 2013-12-15 18:39:41 · 754 阅读 · 0 评论 -
排序算法的比较
一、分类与性能1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变转载 2014-06-11 13:56:29 · 372 阅读 · 0 评论 -
插件c.vim的使用
作为一个程序员,在编码时你常常有如下的重复操作: 1. 给文件或者函数说明 2. 给函数添加注释,或者添加一个注释快 3. 添加一段已有代码 (:r !cat filename) 4. 检查代码语法 5. 读函数的帮助文档 6. 注释掉一块代码,将"//"转换为/* */ C.vim即C-Support vim,能够帮助C程序员[当然还有使用C++转载 2014-06-11 15:56:19 · 563 阅读 · 0 评论 -
quick sort
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快转载 2014-06-12 15:09:12 · 431 阅读 · 0 评论 -
Makefile
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非转载 2014-10-11 09:55:10 · 343 阅读 · 0 评论 -
klockwork
前一段时间公司试用了一下klockwork公司的klockwork代码静态分析软件,我所在项目组进行了试点,试用后感觉不错,有几大亮点: 1)对代码进行静态分析,无需改动任何源码文件; 2)分析出来的缺陷问题准率比较高。根据我使用情况来看,达到90%以上; 3)针对问题的描述非常清晰,有详细的问题产生流程(具体每一步骤所涉及的源代码文件、行数)转载 2015-09-15 09:52:31 · 4587 阅读 · 0 评论 -
C++资源库
标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++标准委员会 框架C++通用框架和库Apa...转载 2018-03-19 14:17:58 · 396 阅读 · 0 评论