- 博客(126)
- 资源 (13)
- 收藏
- 关注
转载 信号与信号量的区别[转]
信号量(Semaphore),有时被称为信号灯,是在多环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Sem
2015-10-12 22:56:25
1876
原创 信号量线程控制
(1)信号量说明在第8 章中已经讲到,信号量也就是操作系统中所用到的PV 原语,它广泛用于进程或线程间的同步与互斥。信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。这里先来简单复习一下PV原语的工作原理。PV原语是对整数计数器信号量sem的操作。一次P操作使sem减一,而一次V操作使sem 加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当
2015-10-07 14:47:15
1260
转载 GDB详解
GDB详解1 简介2 生成调试信息3 启动GDB 的方法4 程序运行上下文 4.1 程序运行参数 4.2 工作目录 4.3 程序的输入输出5 设置断点 5.1 简单断点 5.2 多文件设置断点 5.3 查询所有断点6 观察点7 条件断点8 维护停止点9 为停止点设定运行命令10 调试代码
2015-09-30 22:03:51
1408
转载 C# 利用系统API 复制大文件(显示进度条)
[csharp] view plaincopyusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using
2013-11-16 21:24:15
4209
2
转载 地理坐标系与投影坐标系
说明:椭球体、基准面构成了地理坐标系,即大地坐标系(经纬度);椭球体、基准面、投影构成了投影坐标系,即平面坐标系(米)。UTM与高斯克吕格投影投影方式分带计算方式UTM等角横轴割圆柱6°西经180°起自西向东高斯克吕格等角横轴切圆柱6°
2013-11-15 00:06:02
1167
转载 面试试题
[cpp] view plaincopy/************************************************************************/ /* A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav
2013-11-03 20:26:49
984
原创 gluLookAt 函数详解
void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez, GLdouble centerx,GLdouble centery,GLdouble centerz, GLdouble upx,GLdou
2013-11-01 15:41:58
28618
原创 OpenGL 模型视图变换、投影变换、视口变换
产生目标场景的过程类似于用照相机进行拍照:(1) 把照相机固定在三角架上,并让他对准场景从不同位置观察场景(视图变换) gluLookAt(2) 对场景进行安排,使各个物体在照片中的位置是我们所希望的 移动,旋转或者放大缩小场景中的物体(模型变换) glTranslate* ,glRotate* ,glScale*(3) 选择照相机镜头,并调整放大倍数(调焦
2013-10-30 15:03:09
2682
转载 error C2381: “exit” : 重定义;__declspec(noreturn) 不同
编译OpenGL Red Book 的例子时出现错误,stdlib.h(406) : error C2381: “exit”: 重定义;__declspec(noreturn) 不同 glut.h(146) : 参见“exit”的声明 解决方法:#include #include
2013-10-29 15:10:05
1591
转载 (经典)ANSI,ASCII,Unicode的区别与联系
快下班时,爱问问题的小朋友Nico又问了一个问题: "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思。" 并不是所有简单的问题都很容易回答,就像这个问题一样。于是我答应专门写一篇BLOG来从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……
2013-09-08 23:10:23
703
转载 使用Unicode(宽字节字符集)兼谈_T与L
_T会根据你工程的设置自动转换UNICODE和非UNICODE. L就是转为UNICODE Visual C++里边定义字符串的时候,用_T来保证兼容性,是一种数据类型,但是它不会产生结果,被编译系统的预处理系统来解释,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 如果将来你不打算升
2013-09-08 22:35:39
689
原创 C++ 文件操作
Basic I/O:ios,istream,ostream,and iostreamFile I/O:ifstream,ofstream,and fstreamIn-memory I/O with C-style strings:istrstream,ostrstream,and strstreamIn-memory I/O with string objects stri
2013-08-31 18:35:39
775
转载 深度缓冲区原理以及为什么要用它
1.在开始介绍深度缓存之前,先了解一下隐藏表面消除。 隐藏表面消除(hidden-surface removal)就是消除实心物体被其他物体所遮挡的那部分。实现隐藏表面消除最简单方法就是使用深度缓冲区(又叫Z缓冲区)。2.深度缓冲区原理 深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。 首先,使用glClear(GL_
2013-08-19 20:53:44
5533
原创 opengl中glPushMatrix()he glPopMatrix()用法小结
OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。 有时候在经过一些变换后我们想回到原来的状态,就像我们谈恋爱一样,换来换去还是感觉初恋好,怎么办?强大的opengl就帮我们提
2013-08-17 11:56:13
4432
转载 美国科学家M.GoodChild眼中的中国科学
8月末,美国科学院院士M.GoodChild应邀来北京参加第四届国际数据质量大会。会议期间,在中国科学家陪同下,在北京大学勺园咖啡厅,他与本报记者闲聊了一阵中国的科学,记者认为他的一些观点值得中国科技界关注。 记者:您来中国多少次了?有什么感觉? GoodChild:我这是第五次来中国,每一次感觉都不一样。中国的变化发展非常迅速,有点目不暇接。但总的印象是东部比西部发展
2013-05-21 22:36:14
957
转载 OpenGL投影变换小结
投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句: glMAtrixMode(GL_PROJECTION); glLoadIdentity();事实上,投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。本节将
2013-04-11 15:25:04
1144
转载 不使用临时变量交换两个整数
方法一 1: x = y - x; 2: y = y - x; 3: x = x + y;方法二 1: x = x ^ y; 2: y = x ^ y; 3: x = x ^ y;
2013-03-20 10:49:26
910
转载 用GDB调试程序
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自
2013-03-17 14:30:27
531
转载 Linux makefile 入门实例
目的: 基本掌握了 make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include
2013-03-16 17:01:22
772
原创 GIS 缓冲区应用及算法实现
地理信息空间几何关系分析主要包括邻近度 (proximity) 分析、叠加分析、网络分析等。缓冲区分析是邻近度分析的一种,缓冲区是为了识别某一地理实体或空间物体对其周围地物的影响度而在其周围建立具有一定宽度的带状区域。缓冲区作为独立的数据层进行叠加分析,可应用到道路、河流、环境污染源、居民点、辐射源等的空间分析,为某种应用目的提供科学依据,另外,结合不同的专业模型,可以在生活、军事、城乡规划等
2013-03-02 17:32:11
10873
转载 ENDNOTE使用方法
一、简介 EndNote是一款用于海量文献管理和批量参考文献管理的工具软件,自问世起就成为科研界的必备武器。在前EndNote时代,文献复习阶段从各大数据库中搜集到的文献往往千头万绪、或重复或遗漏,难以管理,阅读所作的笔记则分散各处,难以高效地进行有机整合。到写论文时,大量的文献引用往往复杂异常,尤其修改时,牵一发而动全身。这些难题,EndNote可以凭一己之力,彻底解决。 学校里
2013-02-24 21:36:05
5597
原创 《国际数字地球》杂志简介
2008年新创刊的International Journal of Digital Earth 《国际数字地球杂志》,ISSN: 1753-8947,季刊,TAYLOR & FRANCIS LTD, 4 PARK SQUARE, MILTON PARK, ABINGDON, ENGLAND, OXON, OX14 4RN出版,2009年入选 Web of Science的Science C
2012-12-27 10:42:16
2671
原创 gdal联合编译geos配置
gdal编译:去gdal目录下,修改nmake.opt文件,打开geos的开关。# Uncomment for GEOS supportGEOS_DIR=D:/GIS/geos-3.5.5GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/include -DHAVE_GEOSGEOS_LIB = $(GEOS_DIR)/src
2012-12-10 19:56:31
3178
转载 一江春水向东流
一江春水向东流任正非 千古兴亡多少事,一江春水向东流。 小时候,妈妈给我们讲希腊大力神的故事,我们崇拜得不得了。少年不知事的时期我们崇拜上李元霸、宇文成都这种盖世英雄,传播着张飞“杀”(争斗)岳飞的荒诞故事。在青春萌动的时期,突然敏感到李清照的千古情人是力拔山兮的项羽。至此“生当作人杰,死亦为鬼雄”又成了我们的人生警句。当然这种个人英雄主义,也不是没有意义,它迫使我们在学习上争斗,
2012-11-22 15:08:27
716
转载 VC6.0调试小结
用VC来写程序,有时总是出这样那样的问题,没办法只能自己上网查资料来解决,在这里把自己常见的问题和一些技巧贴出来分享给大家,希望对大家有用,也省去大家再去搜索的烦恼 1.如何在Release状态下进行调试Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disa
2012-11-21 15:35:53
665
原创 Douglas-Peucker算法
Douglas-Peucker算法(该算法名字够吓人,其实思想很简单)在数字化时,要对曲线进行采样,即在曲线上取有限个点,将其变为折线,并且能够在一定程度上保持原有的形状。经典的Douglas-Peucker算法步骤如下:(1)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦;(2)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d;(3)比较该距离与预先给
2012-11-21 11:14:45
18276
转载 6 Simple Solutions for Getting Rid of Stress
Getting rid of stress may be easier than you think. Try one of the following solutions or employ all six to enjoy stress-free, or at least less-stressed, living.1. Don't take things so personally.
2012-11-19 21:59:56
852
原创 Geos编译方法详谈(Release版本)
1. 下载geos-3.3.5,放在E:\geos-3.3.5中 下载网站:http://trac.osgeo.org/geos/ 编译说明网站:http://trac.osgeo.org/geos/wiki/BuildingOnWindowsWithNMake2. 双击运行 E:\geos-3.3.5\autogen.bat 文件3. 输入cmd命令进入dos
2012-11-19 21:15:57
7657
转载 C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,
2012-11-18 20:38:35
496
转载 昨夜无眠(作者:程代展)
昨夜无眠,为了一个学生。 五年前,他在清华大学数学系四年级。他可以保送直接攻读博士学位,参加了我们所的入学考试后,研究室建议我考虑他。面谈后,我同意了。 事情开始得非常顺利,他请我担任他大学毕业论文的导师,我给了他一个解矩阵半张量积方程的小题目。讨论了几次之后,他就做下去了。他很快进入角色,做了一些小的结果。他的毕业论文,我修改过。后来他告诉我,得了“优”。我也比较满意,觉得他
2012-11-15 17:51:09
2032
转载 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL'
Normally, _ITERATOR_DEBUG_LEVEL is set automatically by choosing either the Debug or Release build mode. So when you meet this error, it may well be that your projects in your solution have different
2012-11-13 22:09:32
2259
转载 软件开发中常见的十大系统瓶颈
数据库工作任务内存超过可用的RAM内存 长/短查询 写入冲突 大连接(join)占用内存 虚拟化共享一个HDD、磁盘寻死(disk seek death) 在云端网络I/O波动 编程线程:死锁、调试、非线性扩展等 事件驱动编程:callback()过于复杂、如何在函数调用中存储有状态等 缺乏调优、跟踪、日志等 单模块不可扩展、单点故障(SPOF:Single Poi
2012-11-13 19:55:34
553
原创 error LNK2001: unresolved external symbol __DllMainCRTStartup@12
使用VC2010创建一个空的DLL文件后,编译是提示错误:error LNK2001: unresolved external symbol __DllMainCRTStartup@12 解决的办法是:project右键选则properties,Linker->Input->Additional Dependencies填入:Debug:加入 msvcrtd.libRel
2012-11-09 10:46:33
4669
原创 get_pointer 成员函数小结
#include "iostream"class TestA{public: TestA(int a){ m_pA = new int(a); }; ~TestA(){ delete m_pA; m_pA = NULL; };public: int*m_pA; int* getA(){ return m_pA; }
2012-11-07 15:58:05
2526
1
转载 静态成员函数
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同
2012-11-07 15:28:17
473
原创 前++和后++
对于内置数据类型:目前编译器的优化水平,前++和后++没什么区别,通过汇编代码可以证明。对于自定义数据类型如STL中,前++的效率要高于后++,所以STL中关于iterator都是用前++。
2012-11-06 16:46:16
643
原创 数学归纳法
(一)第一数学归纳法: 一般地,证明一个与自然数n有关的命题P(n),有如下步骤: (1)证明当n取第一个值n0时命题成立。n0对于一般数列取值为0或1,但也有特殊情况; (2)假设当n=k(k≥n0,k为自然数)时命题成立,证明当n=k+1时命题也成立。综合(1)(2),对一切自然数n(≥n0),命题P(n)都成立。(二)第二数学归纳法: 对于某个与自然数
2012-11-04 20:44:48
1058
转载 解放日报:“差生”得诺奖说明什么
今年获得诺贝尔生理学或医学奖的科学家约翰·格登,中学时曾被老师看成“差生”,并断言“今后不适合搞科研”。然而,格登的成长与这一判断截然相反,他不但从事了科研,还成为卓有成就的大家。 曾经的“差生”得诺奖说明了什么? 其一,卓越的成就取决于志趣而非一时的学业成绩。古今中外科学家的故事一再印证,成功多源于内心的坚持和执着,而非单纯的知识技能。格登能够忍受各种压力,持续努力奋斗,多年后终
2012-10-27 23:21:25
1187
转载 栈求最小值
题目: 实现一个栈,它有三个操作。 1、压栈push。 2、出栈pop。 3、找出当前栈的最小元素。 要求:这三个操作的时间复杂度是O(1)。 解: 使用两个数组(或链表),element和least,它们的大小一致。element数组用来存放压栈和出栈的元素;least数组用来存放当前栈中最小值的下标。 1、push操作。把需要压栈的元素A放进element数组栈
2012-10-27 20:19:05
611
gdal和geos联合编译后dll和lib文件
2012-12-10
geos完整工程(可以通过sln加载到vs2010)
2012-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人