自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(34)
  • 资源 (9)
  • 收藏
  • 关注

原创 OSI/RM简介

OSI(Open System Interconnection),全称OSI/RM(Open System Interconnection Reference Model),意为开放系统互联参考模型。这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transpor

2010-04-03 09:09:00 3286 2

原创 python绘制椭圆

#!/usr/bin/env python# --*-- coding:utf-8 --*--import matplotlib.pyplot as plt import numpy as npt=[i/np.pi for i in np.arange(0,360)]x=2*np.cos(t)y=np.sin(t)plt.plot(x,y)plt.show()

2013-11-19 20:34:08 1939 1

原创 python绘制双曲线

#!/usr/bin/env python# --*-- coding:utf-8 --*--import matplotlib.pyplot as plt x=range(-1000,0)y=[1.0/e for e in x]plt.plot(x,y)x=range(1,1001)y=[1.0/e for e in x]plt.plot(x,y)plt.show()

2013-11-19 20:11:05 2982

原创 python绘制抛物线

#!/usr/bin/env python# --*-- coding:utf-8 --*--import matplotlib.pyplot as plt import numpy as npx=np.arange(-1000,1001,1)y=[e*e for e in x]plt.plot(x,y)plt.show()

2013-11-19 19:48:48 1928

原创 设计模式

2013-11-03 23:05:51 448 1

原创 统一建模语言UML

2013-11-03 22:37:51 474

原创 软件质量

2013-11-03 21:53:56 434

原创 C语言技巧——HelloWorld

//hello.c#include  int main(void){    if(0         printf("hello\n");    else        printf("world\n");    return 0;}请问这个程序运行的结果是什么呢?分析:如果0 相当于0 ,那么程序输出world。如果0 相当于(

2013-10-31 09:26:35 341

原创 学习使用valgrind之内存检测

C/C++中内存泄露常见的有3种:1、malloc、realloc后忘记了free;new后忘记了delete;new []后忘记了delete[]。2、采用使用计数的方式管理内存,两个使用计数指针相互指向,导致内存泄露。3、将分配且使用完的内存的放到了容器里。其中,第3中内存泄露方式在Java、C#等自动释放内存的语言中也存在。下面是第2种情况导致内存泄露的例

2013-07-12 16:52:12 401

原创 C语言和Shell交互

#include int main(void){  FILE * file = popen("ls", "r");  int i;  for(i=0; ;++i)  {    char buffer[1024+4];    fgets(buffer, 1024, file);    if(feof(file)) break;    printf("%s"

2013-06-16 10:53:32 555

原创 make是如何工作的?

在默认的方式下,也就是我们只输入make命令。那么,1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。3、如果edit文件不存在,或是edit所依赖的后面的.o文件的文件修改时间要比edit这个文件新,那么,

2011-06-05 12:08:00 385

原创 A tutorial introduction to git

This tutorial explains how to import a new project into git, make changes to it, and share changes with other developers.First, note that you can get documentation for a command such as "git diff" w

2011-06-04 14:53:00 396

原创 Project Management Advice

<br />Project Management Advice for students in CS436S Software Engineering Workshop<br /> 1.Dont't mistreat people who work for you.<br /> 2.Brainstorming is not polite turn-taking.<br /> 3.Motivate your people: make their work fun. <br />4.Beat t

2011-06-02 21:58:00 424

原创 经典垃圾C语言编程题

<br />标签:经典 C语言 编程 垃圾 绝对能够测试你的C语言功力的几个问题 答案<br /> <br />垃圾题目<br /> <br />绝对能够测试你的C语言功力的几个问题<br />http://www.bccn.net/Article/kfyy/cyy/jszl/200607/4181.html<br /> <br />解答:<br /> <br /><br />垃圾题目,这种题也被作为经典?垃圾垃圾<br /> <br />1、strlen(str)错误操作,可能导致程序崩溃<br />si

2011-04-24 11:56:00 945

原创 proc如何能让程序不使用EXEC SQL BEGIN DECLARE SECTION;也能用?

<br />proc如何能让程序不使用EXEC SQL BEGIN DECLARE SECTION;也能用?

2011-04-18 10:52:00 1958

原创 C++不是“糟糕程序员的垃圾语言”

<br />Java、C、C++、PHP、Python、JavaScript等等都是优秀的编程语言。

2011-02-15 16:28:00 540 1

原创 放弃MFC

<br />我以前使用MFC,现在刚开始学习使用wxWidgets。<br />我觉得MFC的缺点在于:难以调试,过多依赖界面编辑器,一堆宏。<br />1)MFC内部大量使用消息映射,很多都不支持调试。<br />2)写MFC的界面,没有界面编辑器,连个编辑框也绘制不好(手工代码和界面编辑器生成的不一样)。MFC程序的界面编辑器中控件的位置和大小都只支持像素。在XP上绘制好的界面在Win7上可能不一样,在Windows Server上又是另一番场景。在普通屏幕上大了点,在高分辨率屏幕上又小了点。几乎所有的

2010-12-16 12:15:00 569

原创 C++智能指针

C++没有像Java、.NET一样的垃圾回收机制,内存泄露的预防和解决一向是程序编写中的要点。如果在一个类中进行了动态分配,一般实现“智能指针”行为或值型行为。下面是一个“智能指针”行为类的例子:#include class Hello{public:       Hello(){std::cout       ~Hello(){std::cout};class

2010-04-03 10:18:00 699

原创 2010年4月2日 晴

我的简历被直接刷了下来。天将降大任于斯人也,必先苦其心智,劳其筋骨,饿其体肤,空乏其身。看来要找个地方,不拿工资干一段时间,或者去干体力活了。关于C++智能指针循环引用的问题,经过思考,有了结果。待会儿写一篇文章。我是高手,我怕谁!

2010-04-02 16:42:00 311

原创 2010年4月1日 晴

今天,我回到了学校,准备重新找一份工作。运气不错,青岛大唐明天上午来山科招聘。打算只要给得工资超过2000元,就尽力挤进去。我的心里总是纠缠着几个问题:1、C++智能指针怎么解决旋环引用问题?2、C++使用Traits能否解决抽象惩罚问题?3、Java的Callable怎么用?4、如何使用Java进行网络开发。现在,我要为了解决第一个问题去图书馆查一下资料。希望可以解决这块

2010-04-01 19:51:00 292

原创 C++中static变量的妙用

C++中static变量的妙用static是静态的意思。静态变量曾经被认为是危险的。比如,在许多平台上printf函数有警告,就是因为printf函数中使用了静态变量。但是,static有着许多“鬼手”,吸引着众多程序探险家。1、  如何使一段代码在一个线程里仅执行一次方案一、void func(){     static bool b=true;     if(b

2010-03-17 08:41:00 430

原创 MFC 菜单

//Test.h#ifndef TEST_H#define TEST_H#include #define IDM_CPPGOOD         0X0001#define IDM_CPPBAD     0X0002#define IDM_JAVAGOOD   0X0003#define IDM_JAVABAD         0X0004#define IDM_H

2010-03-15 21:02:00 237

原创 MFC CButton Hello

//Test.h#include #define IDC_PRINT 0X0001class CTestApp:public CWinApp{public:     virtual BOOL InitInstance();};class CTestWnd:public CWnd{public:     CTestWnd();     afx_msg

2010-03-12 20:10:00 390

原创 C++语法

C++的语法过于精巧,以致很多同学不能很好地理解。本文举几个小例子,供读者思考。1、  inline和virtual#include class A{public:     virtual inline void func()     {         std::cout "A::func"      }};class B:public A{p

2010-03-12 13:01:00 256

原创 C高效实现栈

#ifndef STACK_H#define STACK_H#include#include#include#define E1P5(capacity) (capacity)+=(capacity)>>1#define STACK(Name,Data,Size,initialMax,GROWTHWAY) /typedef struct /{ /     Data

2010-03-06 16:14:00 320

原创 功能最强大,性能最稳定的C++智能指针

几天以前,我发表了《最简单最实用的C++ GC》。http://blog.csdn.net/zhanglibin_1222/archive/2009/12/23/5065573.aspx运用了使用计数和泛型编程的编程技巧,巧妙地实现了C++高效智能指针,也可以称得上C++ SmartPointer 1.0 测试版。现在这一版是C++ SmartPointer 1.0 正式版了。~O(∩

2010-01-09 10:44:00 935

原创 标准C语言实现整型数据的机器无关,编译器无关

在C语言中数据类型的长度,有无符号等常常是机器相关,编译器相关的。比如说:int在32位机上长度是32位,但是在51单片机上长度是16位。本程序用宏实现了标准C语言整型数据的机器无关,编译器无关。/* Int.h */#ifndef INT_H#define INT_H#include #if 0XFF == UCHAR_MAXtypedef signed char

2010-01-08 14:43:00 1174

原创 C实现任意行数,任意列数的二维数组

#include #include typedef int SInt32;typedef unsigned char Data;/*结构:Array2D功能:任意行数,任意列数的二维数组注意:Array2D类型的变量在使用前一定要初始化(Array2D array2D;InitArray2D(&array2D, 8, 6);),在使用结束后一定要销毁(Destr

2010-01-07 21:26:00 905

原创 C高效复制字符串

用C语言复制字符串表面上很简单,实际很复杂。读者可以自己写一下,与此程序对比一下,想一下为什么这样写。char * Strcpy(char * dest, const char * source){     if(source      {         const char * p = source;         while(*p++);        

2010-01-06 19:48:00 353

原创 C高效计算后缀表达式

后缀表达式也称逆波兰表达式。在计算机的数值计算和文本分析中经常使用。本程序用C语言实现了高效地计算后缀表达式。/* 由于编译器的原因,本程序中的部分0需要改为NULL或/0。*/#include #include /*   结构:Operand     功能:建立链式栈,用于计算后缀表达式     注意:   OperandStack变量在定义时一定要初始化为(Op

2010-01-06 14:39:00 581

原创 C实现计算任意阶行列式

#include #include typedef double DataType;DataType CalcDeterminant(const DataType * d, int order); /* 计算行列式 */DataType CalcDeterminantA(const DataType * d, int order, int i, int j) /* 计算行列式的代数余子式

2010-01-04 21:15:00 1244

原创 C++高效实现模板方法模式

模板方法模式——在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。下面,是大家很熟悉的一段代码——《Head First 设计模式》中第8章模板方法模式中星巴兹咖啡因饮料代码的C++版。#include class Coffee{public: void PrepareRecipe() //星巴兹咖啡冲泡法 {

2010-01-03 14:37:00 1833

原创 C 递归 字符串逆序

char * Reverse1(char * p0, char * p1){ if(*(p1 + 1) != 0)  p0 = Reverse1(p0, p1 + 1); if(p0  {  char temp = *p0;  *p0 = *p1;  *p1 = temp; } return ++p0;}char * Reverse(char * str){ Reverse1(str, str);

2010-01-02 20:42:00 283

原创 最简单最实用的C++ GC

//SPtr.h#ifndef S_PTR_H#define S_PTR_Htemplate typename T0, typename T1 = unsigned int> class SPtr{ template typename T0, typename T1> friend class SPtr;public: SPtr(T0 * ptr = 0)  :ptr_(ptr), use_(ne

2009-12-23 22:02:00 941

Bash Cookbook

Bash Cookbook,Linux Shell学习的小乌龟。 网上买不到的。文字版哦!

2013-03-01

关于OSI/RM的讨论 实用,可作为考试的参考资料

OSI/RM的简单介绍,功能的介绍。关于OSI/RM的讨论 实用,可作为考试的参考资料

2010-04-03

C++智能指针 功能强大,高效

通过使用使用计数计数,模板,获得了功能强大的智能指针。

2010-04-03

电脑时钟汇编语言程序

此程序是基于8086的电脑闹时钟程序,实现电脑时间的提取,设置,修改。采用汇编语言,简单易懂。

2010-03-12

3DS格式(中文版)

这是我从网上搜到的一个Autodesk官方的.3DS文件的格式说明。希望对大家学习计算机图形学有所帮助。

2009-11-18

使用C++计算行列式

使用C++实现了任意阶行列式的计算。程序简单,清晰易懂。

2009-11-18

使用openGL绘制六角星

使用openGL绘制六角星。程序简单,清晰易懂。

2009-11-18

用C++.NET制作简易计算器

使用C++.NET制作的简易计算器。实现了四则运算和括号功能。

2009-11-18

openGL虚拟3D小车

使用openGL实现了读取并控制3Dmax模型。

2009-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除