自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(220)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++调试记录:error LINK2005: XXXX已经在 .obj 中定义"

当项目代码比较多,文件也比较多的时候,这个问题真的非常棘手,可能会耗费大量的时间来排查错误。     问题出现的原因:在.h文件中定义了变量。然后A.cpp包含了该.h,B.cpp包含了该.h,于是在链接的时候,生成A.obj,B.obj,但是 .h中定义的变量会在这两个obj中又被定义,所以,导致了这个LINK2005错误。    解决方法:不要在.h中定义变量!!在.h中只声明函数,类

2017-08-01 14:20:47 3275

原创 c++调试记录--内存无法访问以及逻辑正确却总是得到错误结果

一定要初始化变量。永远要初始化。这个原则在《effective c++》中也作者提到过。        我从昨天到今天一直在修bug。        之前的代码在ubuntu14.04上跑一点问题都没有,昨天把代码放到windows下跑,各种问题。       我在vs2013中调试我的代码,程序运行到一半总是报XXXX内存无法访问,相当奇怪。后来我从release模式切换到debug

2017-08-01 13:27:36 1259

原创 多线程下的观察者模式--Java实现

按照我的理解,观察者模式使用的场景:假如现在有一个土匪,绑架了一名重要人质,目前躲在一个楼房里,楼房四周已经被警察包围,还有特种部队,狙击手。观察者模式是这样运作的:目前场景中的观察者是:警察、防暴队人员、狙击手,被观察者是土匪。一旦土匪现身,各个观察者都要采取相应的措施,比如,当土匪挟持着人质现身,警察警告土匪,狙击手瞄准土匪,特种部队人员悄悄靠近。这就是观察者模式。观察者监听被观察人员的行动,

2017-07-31 23:24:25 5215 5

转载 在Java当中父类和子类之间的强制转换

接下来的三点是我从百度知道上引用来的。感觉不错。 1.从对象的内存角度来理解.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:2.f = new Father();//系统将分配1M内存.Son s = new Son();//系统将分配1.5M内存!因为子类中有一

2017-07-27 09:10:34 1705

转载 程序设计之---单例模式VS静态方法

原文地址:http://blog.csdn.net/johnny901114/article/details/11969015我们在设计程序经常会有这种需求 , 某个类里的方法能够全局访问. 在这种情况下有两种实现方案 : 1>单例模式(Singleton);2>静态方法.但是, 对于这两种实现方式 , 那种更好呢?在国内论坛上看了一下其他的一些

2017-07-24 09:06:47 335

原创 opengl-解决cuemap天空盒子衔接处显示立方体边的问题

问题图:·· 代码:     GL11.glTexParameteri(GL13.GL_TEXTURE_CUBE_MAP, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);GL11.glTexParameteri(GL13.GL_TEXTURE_CUBE_MAP, GL11.GL_TEXTURE_MIN_FILTER, GL11

2017-07-19 10:05:33 890

原创 GLSL(8)关于实现Phong shading model 中的一个小trick

Phong shading model 其实包括三部分:        ambient light color、diffuse light color、specular light color。        ambient light color就是环境光部分,也是很重要的是一部分,可以把它理解成一个常数;就好比在一个阴天的白天里,你走在外面,此时环境中没有diffuse light,也

2017-07-17 14:13:48 944

原创 关于vs、fs、索引数组的理解总结--适合新手

关于vs、fs、索引数组的理解总结--适合新手

2017-07-11 16:04:54 1180

原创 glfw在vs2013中的配置记录

mark一下还怕忘记:

2017-07-09 10:04:55 326

原创 GLSL(7)精确限定符

GLSL中的精确限定符

2017-07-08 14:41:42 1017

转载 socket()函数介绍

原文地址:http://blog.csdn.net/xc_tsao/article/details/44123331socket()函数介绍socket函数介绍函数原型domaintypeprotocolerrno示例函数原型socket()函数的原型如下,这个函数建立一个协议族为domain、协议类型为type、协议编号

2017-07-07 15:36:37 431

转载 WSAStartup( )详解

原文链接:http://blog.sina.com.cn/s/blog_4b146a9c01011ncl.html这里用通俗的语言解释一下这个函数,就类似于OpenCV一样,要添加链接库函数,cv.lib等,要添加到附加依赖项,或者通过#pragma comment(lib,”cv.lib“)一样,然后才能包含头文件进行各种函数的调用。当然了,socket编程要调用各种so

2017-07-07 15:32:06 1636

转载 关于 Java 数组的 12 个最佳方法

原文:http://www.iteye.com/news/28296下面是stackoverflow中关于数组方法的相关问题中,获得最多票数的12个数组操作方法。 1.  声明一个数组 Java代码 String[] aArray = new String[5];  String[] bArray = {"a","b","c", "d", "e"};

2017-07-06 11:39:35 327

转载 JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时PreparedStatement还

2017-07-06 09:36:32 224

转载 GLSL语言基础

转载:点击打开链接变量GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量。当然还有一些GLSL保留的名称是不能够作为变量的名称的。 基本类型除了布尔型,整型,浮点型基本类型外,GLSL还引入了一些在着色器中经常用到的类型作为基本类

2017-07-05 14:51:05 362 1

原创 Operation not allowed after ResultSet closed 解决方法

问题出现的原因:Statement statement = dbConn.createStatement(); // 要执行的SQL语句 ResultSet rs = statement.executeQuery("select name,salary from workerinfo WHERE salary > 12000"); ResultSet rs1 = state

2017-07-05 09:39:09 9447 4

原创 opencv读取本地视频

#include #include #include using namespace cv;int main(int argc, char** argv){ VideoCapture cap("E:\\A_Develope\\test_video\\fitness.avi"); if (!cap.isOpened()) { return -1; } Mat fra

2017-07-03 15:13:50 3349

转载 Bag of Words(BOW)模型

这几天忙里偷闲看了一些关于BOW模型的知识,虽然自己做图像检索到目前为止并没有用到过BOW模型,不过了解一下BOW并不是一件毫无意义的事情。网上关于理解BOW模型也很多,而且也很详细,再写一点关于BOW模型的理解,无异于重新造一次轮子,不过我一直坚信重复造轮子并不是完全没有意义的,重要的是你能够从中学到很多的知识,如果可能,你甚而再这个重复造轮子的过程中发现新问题,并进行改进。好了,回归正题。

2017-07-02 21:41:10 479

原创 Kmeans聚类算法-理解

该算法必然会收敛。     思想:将n个数据对象会分为K个聚类,以使得各个聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较低。聚类相似度是利用各聚类对象的mean-均值所获得的一个“中心对象”(引力中心)来计算的。     算法描述:     Input: k, set of points x1.....xn。     place centroids c1...ck

2017-07-02 21:32:58 418

原创 关于cuda和shader的共同点的一些思考

关于cuda和shader的共同点的一些思考

2017-07-02 10:52:24 2990

原创 lambertian、diffuse、matte的关系

在CG里面,这三个词经常碰到,而且有时候到底哪个是干嘛的经常也是搞不清楚,也就是它们三个之间的关系没清楚。    我觉得下面这句话讲的很清楚,但是我忘记在哪看到的了-_-。    Lambertian reflectance is the property that defines an ideal "matte" or diffusely reflecting surface.   

2017-06-30 14:00:43 2712

原创 DL学习笔记(1)-Deep Learning是一种“暴力碾压”的方法吗?

答:不全对。不要忽略了“Deep”——层数。     如果真的仅仅是暴力的话,那就不需要很深的层,就一层,但是这一层很长,很多单元。但这个performance实际上是没有相同参数下的多层更短的网络好。     Deep→Modularization→Less training data.     并不是训练数据越多就越好,就是因为现在data不多,所以需要deep leaning。

2017-06-30 13:49:15 385

原创 C#中的继承规则

1.继承可传递。C从B派生、B从A派生,则C不仅继承了B中的成员,同时也获得了A中的成员.Object类为所有类的基类。2.派生类是对基类的扩展,可以添加新成员,但不能除去已经继承的成员的定义。3.构造和析构函数不能被继承。除此之外的其他成员,不论它们定义了怎样的访问方式都能被继承。基类中成员的访问方式只能决定派生类能否访问他们。4.如果派生类中定义了一成员,其名字与基类中某成员同名,

2017-06-30 13:40:37 770 1

原创 Intel和ARM

intel是X86结构,用的是CISC复杂指令集,而ARM用的是自己的ARM架构,核心是精简指令集(RISC)。        其实RISC和CISC的区别很明显。     RISC牺牲了功能性,而提高了其单位命令的运行效率。     CISC能处理的信息种类更多,但是相对来说,单位性能就下降了。     所以,家用游戏机的CPU逗是RISC,因为只运行游戏,不需要处理其他的程序,

2017-06-30 09:29:15 1748

原创 GLSL(6)分别使用可编程渲染管线编程和固定渲染管线编程来画点(理解VAO&VBO)

在opengl中分别使用可编程渲染管线编程和固定渲染管线编程来画点(理解VAO&VBO)

2017-06-27 16:47:12 1559

原创 C++纯虚函数和Java中的抽象函数区别

一直我对c++纯虚函数的理解有个误区:纯虚函数是不能给出定义的。果然是学艺不精。c++中的纯虚函数和java中的抽象函数很类似,我把相关概念搞混淆了,这里总结一下:java中的抽象函数是只有函数声明,没有方法体。而c++中的纯虚函数是可以有方法体,也就是说是可以给出定义的,并且,在c++中,子类还可以调用父类的纯虚函数-_-。对于用习惯了java而对c++认识比较少的同学,可能看到这里有点吃惊。所

2017-06-24 11:18:49 1956

原创 c++之const小结-使用注意

尽可能的使用const。1. 尽量的以const、enum、inline替换掉#define。#define是预处理,对于形似函数的宏,最好改用inline函数替换#define,即“宁可以编译器替换预处理器”。因为#define不被视为语言的一部分,那正是它的问题所在。2.  注意,下面两种写法意义相同:void f1( const Widget* pw);void f1( Wi

2017-06-24 10:27:00 330

原创 GLSL(5)-compute shader小结

感觉和cuda的基本概念是一样的只是叫法不同,cuda中称block,compute shader中同等的概念是work group。一个block中分多个线程,这边就是一个work group中分多个invocation。同时block都有一维二维三维的概念,基本理论模型都是一样的。cuda中计算线程索引的方法和compute shader中计算invocation中的也一样。然后还有很重要

2017-06-23 20:09:58 4603

原创 GLSL(4)关于layout和uniform使用的个人小结

简而言之。GLSL中,layout标签注明的变量是初始化一定要的,通常这个初始化过程放在initScene()函数(同等作用的函数)中,就是走:glGenBuffer()、glBindBuffer()、glBufferData()..这几个过程。而GLSL中,uniform类型的bain两,是不走上面这几个流程的,也就是在opengl这边设置shader中的uniform类型变量的时候,不

2017-06-23 20:01:55 5823

原创 GLSL(3)-在opengl中初始化Uniform Block 的流程-小结

opengl中初始化着色器中uniiform block的流程总结。

2017-06-22 09:46:28 1602

原创 VS2013+GLFW配置--填坑!

给新电脑配置开发环境,当然上VS2013+GLFW。        不要看那些啥cmake,用不上,直接去官网下载GLFW二进制文件:点击打开链接,记得下载32位的!        然后呢,下载完了,      进入到下载到的这个东西的目录中,将include中的GLFW文件夹拷贝到VS安装目录下的VC/include中      若使用VS2013,则将lib-vc201

2017-06-20 20:48:28 1393 2

原创 GLSL(2)记录-使用uniform block

#include #include"shadertool.h"#include"glm/glm.hpp"//using namespace std;#include"glm/gtc/matrix_transform.hpp"using glm::mat4;using glm::vec3;#define PI 3.1415926GLuint vaoHandle;GLuint

2017-06-18 21:27:37 536

原创 GLSL记录(1)-实时旋转的三角形

main.cpp:#include #include"shadertool.h"#include"glm/glm.hpp"//using namespace std;#include"glm/gtc/matrix_transform.hpp"using glm::mat4;using glm::vec3;#define PI 3.1415926GLuint vaoHand

2017-06-18 13:40:05 1244

原创 记录opengl运行窗口全白色

学习GLSL。      看书写代码,把书上的部分代码敲上去后,发现运行窗口全是白色。找了半天,原来是 glClear( GL_COLOR_BUFFER_BIT )这里有错,因为我之前的代码还清除了深度缓存的,也就是加上了" | GL_DEPTH_BUFFER_BIT",于是,我重新加上后,三角形出现了(正确结果)。但是为什么不清除深度缓存就会这样呢??不科学啊。仔细看代码,原来我在i

2017-06-18 13:24:27 4442 1

原创 ubuntu提示opengl版本过低-Gallium0.4 on llvmpipe(llvm 3.8 128bits)

在ubuntu14.04下写GLSL,需要GLSL 4.0 以上的支持,但是编译运行的时候,提示我opengl和glsl版本过低, 只支持1.3。我xx,,我用的卡是Geforce GTX560TI,应该支持4.0以上。为啥现在提示我不支持呢??     原来是我系统现在使用的不是N卡驱动:     解决办法:点右下脚的安装更新-设置-附加驱动,选第一个N卡驱动,安装,重启,解决!

2017-06-10 19:44:55 15674 2

原创 Ubuntu下在QTCreator中使用glew.h

今天在ubuntu下写GLSL,然后要加载shader,看教程需要使用到glew,于是我添加这个头文件,但是编译不通过,因为总是给我提示glew的各种函数找不到,然后我看看我的pro文件里面已经加入了GL.so,而且GL文件夹中有glew.h这个头文件,这就尴尬了,估计是还需要加载一个glew.so,我在计算机中搜了一下,还真有,试试,于是在pro文件中,加入下面代码来引入glew.so: LIB

2017-06-10 12:12:33 1443

原创 Java深拷贝

@Override public Object clone() { //深拷贝 KinderGardenStu kinderGardenStu = null; try { kinderGardenStu = (KinderGardenStu)super.clone(); //key part //可以这么理解,就是如果我不复制引用里的数据的话,它就还

2017-06-05 20:32:23 264

原创 浅拷贝和Clone方法

要实现对象间的Clone操作,首先,自定义类是没有默认的Clone方法的,必须要继承Cloneable这个接口来重载Clone方法,如下:public class KinderGardenStu extends Student implements GamePlayable,Cloneable{ @Override public KinderGardenStu clone() th

2017-06-05 20:17:35 536

转载 C/C++生成可执行文件过程

[转载]C/C++生成可执行文件过程编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.asm、.s)-->汇编程序(.obj、.o、.a)-->链接程序(.

2017-06-03 15:37:14 1166

原创 记一个段错误问题

段错误

2017-05-28 11:25:51 438

mysql-connector-java-5.1.20-bin.jar

JDBC驱动mysql-connector-java-5.0.5.zip

2014-05-07

空空如也

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

TA关注的人

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