- 博客(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
3518
1
原创 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
2027
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
3113
原创 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
2008
原创 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
373
原创 学习使用valgrind之内存检测
C/C++中内存泄露常见的有3种:1、malloc、realloc后忘记了free;new后忘记了delete;new []后忘记了delete[]。2、采用使用计数的方式管理内存,两个使用计数指针相互指向,导致内存泄露。3、将分配且使用完的内存的放到了容器里。其中,第3中内存泄露方式在Java、C#等自动释放内存的语言中也存在。下面是第2种情况导致内存泄露的例
2013-07-12 16:52:12
434
原创 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
583
原创 make是如何工作的?
在默认的方式下,也就是我们只输入make命令。那么,1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。3、如果edit文件不存在,或是edit所依赖的后面的.o文件的文件修改时间要比edit这个文件新,那么,
2011-06-05 12:08:00
431
原创 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
436
原创 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
456
原创 经典垃圾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
978
原创 proc如何能让程序不使用EXEC SQL BEGIN DECLARE SECTION;也能用?
<br />proc如何能让程序不使用EXEC SQL BEGIN DECLARE SECTION;也能用?
2011-04-18 10:52:00
1995
原创 放弃MFC
<br />我以前使用MFC,现在刚开始学习使用wxWidgets。<br />我觉得MFC的缺点在于:难以调试,过多依赖界面编辑器,一堆宏。<br />1)MFC内部大量使用消息映射,很多都不支持调试。<br />2)写MFC的界面,没有界面编辑器,连个编辑框也绘制不好(手工代码和界面编辑器生成的不一样)。MFC程序的界面编辑器中控件的位置和大小都只支持像素。在XP上绘制好的界面在Win7上可能不一样,在Windows Server上又是另一番场景。在普通屏幕上大了点,在高分辨率屏幕上又小了点。几乎所有的
2010-12-16 12:15:00
607
原创 C++智能指针
C++没有像Java、.NET一样的垃圾回收机制,内存泄露的预防和解决一向是程序编写中的要点。如果在一个类中进行了动态分配,一般实现“智能指针”行为或值型行为。下面是一个“智能指针”行为类的例子:#include class Hello{public: Hello(){std::cout ~Hello(){std::cout};class
2010-04-03 10:18:00
727
原创 2010年4月2日 晴
我的简历被直接刷了下来。天将降大任于斯人也,必先苦其心智,劳其筋骨,饿其体肤,空乏其身。看来要找个地方,不拿工资干一段时间,或者去干体力活了。关于C++智能指针循环引用的问题,经过思考,有了结果。待会儿写一篇文章。我是高手,我怕谁!
2010-04-02 16:42:00
336
原创 2010年4月1日 晴
今天,我回到了学校,准备重新找一份工作。运气不错,青岛大唐明天上午来山科招聘。打算只要给得工资超过2000元,就尽力挤进去。我的心里总是纠缠着几个问题:1、C++智能指针怎么解决旋环引用问题?2、C++使用Traits能否解决抽象惩罚问题?3、Java的Callable怎么用?4、如何使用Java进行网络开发。现在,我要为了解决第一个问题去图书馆查一下资料。希望可以解决这块
2010-04-01 19:51:00
315
原创 C++中static变量的妙用
C++中static变量的妙用static是静态的意思。静态变量曾经被认为是危险的。比如,在许多平台上printf函数有警告,就是因为printf函数中使用了静态变量。但是,static有着许多“鬼手”,吸引着众多程序探险家。1、 如何使一段代码在一个线程里仅执行一次方案一、void func(){ static bool b=true; if(b
2010-03-17 08:41:00
459
原创 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
257
原创 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
408
原创 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
275
原创 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
340
原创 功能最强大,性能最稳定的C++智能指针
几天以前,我发表了《最简单最实用的C++ GC》。http://blog.youkuaiyun.com/zhanglibin_1222/archive/2009/12/23/5065573.aspx运用了使用计数和泛型编程的编程技巧,巧妙地实现了C++高效智能指针,也可以称得上C++ SmartPointer 1.0 测试版。现在这一版是C++ SmartPointer 1.0 正式版了。~O(∩
2010-01-09 10:44:00
956
原创 标准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
1195
原创 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
952
原创 C高效复制字符串
用C语言复制字符串表面上很简单,实际很复杂。读者可以自己写一下,与此程序对比一下,想一下为什么这样写。char * Strcpy(char * dest, const char * source){ if(source { const char * p = source; while(*p++);
2010-01-06 19:48:00
371
原创 C高效计算后缀表达式
后缀表达式也称逆波兰表达式。在计算机的数值计算和文本分析中经常使用。本程序用C语言实现了高效地计算后缀表达式。/* 由于编译器的原因,本程序中的部分0需要改为NULL或/0。*/#include #include /* 结构:Operand 功能:建立链式栈,用于计算后缀表达式 注意: OperandStack变量在定义时一定要初始化为(Op
2010-01-06 14:39:00
605
原创 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
1287
原创 C++高效实现模板方法模式
模板方法模式——在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。下面,是大家很熟悉的一段代码——《Head First 设计模式》中第8章模板方法模式中星巴兹咖啡因饮料代码的C++版。#include class Coffee{public: void PrepareRecipe() //星巴兹咖啡冲泡法 {
2010-01-03 14:37:00
1882
原创 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
304
原创 最简单最实用的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
1003
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人