自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (8)
  • 收藏
  • 关注

原创 linux下C语言编程7-信号量与共享内存

<br />当我们使用共享内存时,必然要面对一个问题:并发。信号量可以控制共享资源的申请和释放,起到锁的目的,有效的解决了并发带来的种种问题。<br />共享内存的使用见《linux下C语言编程4-使用共享内存实现进程间通信2》。<br />信号量的函数见《linux下C语言编程6-信号量函数semget() semop() semctl() 》。<br />下面给出一个例子:<br />服务端:#include <stdio.h>#include <string.h>#includ

2010-10-28 15:44:00 4702

原创 linux下C语言编程6-信号量函数semget() semop() semctl()

<br />semget()<br />创建一个新的信号量集,或者使用一个已经存在的信号量集。<br />系统调用:semget();<br />原型:int semget(key_t key, int nsems, int semflg);<br />参数:第一个参数是关键字值(一般是由系统调用ftok()返回的)。<br />第二个参数nsems指出一个新的信号量集合中应该创建的信号量的个数。可以将信号量集合理解为数组,长度为nsems。最大个数定义在linux/sem.h,我的ub

2010-10-28 15:27:00 8955 1

原创 C语言平面几何15-线段的垂直平分线

线段AB的垂直平分线:先求中点M,再根据线段AB的斜率k1求出直线的斜率k2,k1*k2=-1,最后求出线段的方程:kx-y+C=0。/* 线段的垂直平分线 */Line PerpendicularBisector(Point A, Point B){ Point m; // 中点 m.x = (A.x + B.x)/2; m.y = (A.y + B.y)/2; Line l; if (dequals(A.y, B.y)) // 线段是水平的 { l.A

2010-10-26 22:10:00 3939

原创 double类型相等判断

计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。但人们对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。/* a == b*/int dequals(double a, double b){ return fabs(a-b)

2010-10-26 21:38:00 21925 7

原创 C语言平面几何14-三角形的面积

<br />求三角形ABC的面积S。<br />1)S=底*高/2<br />2)S2=p*(p-a)*(p-b)*(p-c),其中p=(a+b+c)/2<br />C语言代码:/* 三角形的面积: 底*高/2 */double AreaOfTriangle(Triangle t){ Line l = LineMake(t.A, t.B); double d = DistanceOfPoints(t.A, t.B); double h = DistanceOfPointToLine(t.

2010-10-25 22:23:00 1367

原创 C语言平面几何13-两直线的夹角

<br />平面几何中,两直线的夹角定义为两条直线所形成的不大于90度的角。<br />两直线夹角θ:<br />tgθ=|(k2-k1)/(1+k1*k2)|,k1、k2分别为两直线的斜率<br />直线A1x+B1y+C1=0和A2y+B2y+C2=0的夹角θ:<br />tgθ=|(A1B2-A2B1)/(A1A2+B1B2)|。<br />C语言代码:/* 两直线的夹角,返回角度值,非弧度值 */double IncludedAngle(Line m, Line n){ double v

2010-10-24 21:37:00 5363

原创 遍历二叉树-递归和非递归算法

<br />遍历二叉树的三种方法:<br />前序:根节点->左子树->右子树<br />中序:左子树->根节点->右子树<br />后序:左子树->右子树->根节点<br /> <br />非递归算法中序遍历二叉树,设S为一个栈,p为指向根节点的指针,处理过程如下:<br />1)当p非空时,压栈p指针,并将p指向该节点的左子树。<br />2)当p为空时,弹出栈顶元素,显示节点元素,并将p指向该节点的右子树。<br />3)重复步骤1)和2),直到栈空且p空。<br />C语言代码如下:// 二叉树节点

2010-10-24 19:40:00 12923 3

原创 linux下C语言编程4-使用共享内存实现进程间通信2

上一篇《linux下C语言编程4-使用共享内存实现进程间通信》实现了共享内存的创建和使用,但是,使用时却不方便,需要知道该共享内存的id才能使用。为了对其改进,下面使用了函数ftok。ftok原型如下:key_t ftok( char * fname, int id ):fname就时你指定的文件名,id是子序号。将上篇例子中ABCD代码修改为如下:代码A:int main(){ int shmid; key_t key; char *name = "/home/xiaoshe/study/

2010-10-22 12:16:00 2898

原创 C语言平面几何12-向量方法判断线段与矩形是否有交集

<br />向量方法判断线段与矩形是否有交集,通过向量叉乘的结果正负来判断,当矩形在线段的某一侧时,叉乘的结果要么全正,要么全负,此时无交集。<br />判断有2步:1)快速排斥,2)叉乘。int RSIntersection(Rectangle r, Point A, Point B){ MBR m1 = (MBR)r; MBR m2 = MbrConstruct(A, B); // 快速排斥 if (MbrOverlap(m1, m2) == 0) return 0;

2010-10-17 11:40:00 2040

原创 希尔排序

在直接插入排序中,若待排序列为“正序”,则时间复杂度可提高至O(n),同时直接插入排序更适合数据量较少的排序。希尔排序依据此,对直接插入排序进行了改进。基本思想是:将待排序列划分成几组,减少参与直接插入排序的数据量,当经过几次分组排序后,待排序列已基本有序,这是再对所有的记录实施直接插入排序。具体步骤为:取步长d(一般d=n/2),将所有距离为d的记录构成一组,从而将整个待排序列分割成d个子序列,再对每个子序列分别做直接插入排序,然后缩小d直到d=1。/* 希尔排序 */void ShellSort(i

2010-10-17 09:29:00 990

原创 带参数的main函数

<br />main是一个函数,也能带参数。<br />它的参数有两个,格式 如下:<br />main(int argc, char *argv[])<br />第一个是一个int型变量,表示参数的个数。<br />第二个是一个字符串指针数组,数组中的每一个指针都指向一个字符串,这些字符串就是用户传给程序的参数,这些参数用用空格分开。<br />这两个变量 的名字没有特别要求,你完全可以把argc改成m等其他可用的名字,但一般是这两个:argc(=args count)和argv(args value)。

2010-10-17 09:08:00 5340

加载plist例子

cocos2dx2.2.1上随便创建一个项目,将本代码拷贝过去

2015-05-26

jsoncpp一个例子(含静态库)

jsoncpp一个读取例子,内含jsoncpp静态库和include,不需安装jsoncpp,编译命令见make文件。

2013-03-01

Flash8日期选择器

Flash8下实现的日期选择器,DateChooser控件的使用,使用时将该控件复制到你的Flash文件中即可。

2010-11-22

俄罗斯方块[Flash8源码+简单文档]

俄罗斯方块游戏Flash版本,内有源码和简单设计文档。在传统的俄罗斯方块的基础上,设计了方块的一些特殊属性,如不可变形、隐身等,增加了游戏难度的同时也增加了游戏趣味。 难点可参考:http://blog.csdn.net/hbuxiaoshe/archive/2010/11/12/6005203.aspx

2010-11-12

Flash8与MySQL数据库的交互

Flash8通过PHP与MySQL数据库的交互,主要实现了数据的显示和提交

2010-04-19

VC+OpenGL下的时钟显示源码

VC+OpenGL下的时钟显示源码,可下载

2010-01-08

NeHe的OpenGL框架源码(vc++6.0)

NeHe的OpenGL框架源码(vc++6.0),NeHe第一课例程模板。

2009-12-16

OpenGL开发库(.DLL,.LIB,.H)

内含 gl.h, glu.h, glaux.h opengl32.lib, glu32.lib, glaux.lib glu32.dll, opengl32.dll

2009-12-16

空空如也

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

TA关注的人

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