摘要: 1.先看下面的例子:struct A{ char c1; int i; short s; int j;}a;struct B{ int i; int j; short s; char c1;}b;结构A没有遵守字节对齐原则(为了区分,我将它叫做对齐声明原则),结构B遵守了。我们来看看在x86上会出现什么结果。先打印出a和b的各个成员的地址。会看到a中,各个成员间的间距是4个字节。b中,i和j,j和s都间距4个字节,但是s和c1间距2个字节。所以:sizeof(a) = 16sizeof(b) = 12为什么会有这样的结果呢?这就是x86上字节对齐的作用。为了加快程序执行的速度,一些体系结构以对 阅读全文
posted @ 2012-05-08 22:36 30斤大番薯 阅读(10329) 评论(2) 推荐(1) 编辑
摘要: 因为栈上的空间不足以创建512*512的数组,应该转到堆那去解决。也有快速的解决方法把数组弄成全局变量或者malloc出来就行#include <stdio.h>#define M 900#define N 900int a1[M][N];int main( void ){int i,j;for(i=0;i <M;i++)for(j=0;j <N;j++){a1[i][j]=N*i+j+1;printf("%d ",a1[i][j]);if(j==N-1)printf("\n");}return 0;} 阅读全文
posted @ 2012-05-07 09:03 30斤大番薯 阅读(190) 评论(1) 推荐(0) 编辑
摘要: SEH 的工作原理。 Windows 程序设计中最重要的理念就是消息传递,事件驱动。当GUI应用程序触发一个消息时,系统将把该消息放入消息队列,然后去查找并调用窗体的消息处理函数(CALLBACK),传递的参数当然就是这个消息。我们同样可以把异常也当作是一种消息,应用程序发生异常时就触发了该消息并告知系统。系统接收后同样会找它的“回调函数”,也就是我们的异常处理例程。当然,如果我们在程序中没有做异常处理的话,系统也不会置之不理,它将弹出我们常见的应用程序错误框,然后结束该程序。所以,当我们改变思维方式,以CALLBACK 的思想来看待 SEH,SEH 将不再神秘。SEH 是 Windows 系 阅读全文
posted @ 2012-04-28 16:59 30斤大番薯 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化 阅读全文
posted @ 2012-04-28 16:58 30斤大番薯 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 从3月20号开始就开始呆在深圳“被实习”了,还好做的东西和我研究的方向没多大冲突,主要是做医学图像处理这块的软件。这一个月做的还是体绘制增强方面的东西,看了N多的体绘制的软件,想了挺多体绘制增强的方法,一些比较重要的体绘制交互方法终于被我攻克了。做的主要是下面这些东西:1.体绘制传递函数交互的改进2.体绘制下的pick操作3.体绘制下手动划选区域的操作第一个传递函数的交互其实没什么好说的了,我在网上翻了遍,除了巴可这个牛X一般的软件之外,其它都是使用在界面上设置一些控制点,然后手动调曲线来控制传递函数。如下图德国软件MITK 3M3所示这种方法看起来好像很专业,但是给用户调实在是太难调了,连专 阅读全文
posted @ 2012-04-24 17:55 30斤大番薯 阅读(1245) 评论(3) 推荐(2) 编辑
摘要: vs2010编译vtk5.8.0 release版本失败的解决方法#ifndef WINVER#define WINVER 0x0500 <----------------- CHANGE HERE from 0x0400 to 0x0500 TO FIX PROBLEM#endif找到vtkMFCWindow.cpp修改这里就可以编译过去 阅读全文
posted @ 2012-04-10 16:40 30斤大番薯 阅读(489) 评论(2) 推荐(0) 编辑
摘要: 之前用小日本东京大学粒子模拟里面的marching cubes源码融入sample中,发现总是无法显示出效果,经过将近一个星期的调试,终于发现是取样权值设置的问题了,全靠调试的时候观察取样得到的体数据,发现数值不正常,后来调高了权值之后就能显示出来了。光照还没调好,这是下一步的工作了。另外,使用CPU的marching cubes还真的很慢。。。40000个粒子,平均就0.6fps。。。坑爹啦,我看还是要使用棒子版的GPU加速的marching cubes才行。 阅读全文
posted @ 2012-03-18 22:08 30斤大番薯 阅读(840) 评论(0) 推荐(1) 编辑
摘要: VC调试时如何监视数组的一部分比如你有一个数组int a[100];调试时一展开有100项太长了,而你只关心前10项,这时只须添加监视,输入a,10这样就只监视前10项了如果想监视第11项到第20项呢?输入a+10,10就可以了。 阅读全文
posted @ 2012-03-17 22:31 30斤大番薯 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 昨晚用蹩脚的英文上了nvidia的官方论坛问physx的cloth和fluid的碰撞问题Hi,everyone.I have a problem about the interaction between fluid(SPH) and cloth .My Physx version is 2.8.4 .I use the cloth and fluids to simulate blood flow in the vessel.But i found there are some particles pass through the cloth just like the cloth is t 阅读全文
posted @ 2012-03-02 22:36 30斤大番薯 阅读(995) 评论(2) 推荐(0) 编辑
摘要: 辛辛苦苦看了它的例子,终于把粒子系统和布料系统弄在一起了,却发现了一个巨大的问题。。。。粒子和布料的碰撞发生问题了,他们只是质点与质点的碰撞,没有三角面网格的碰撞检测,杯具。下面就是杯具的截图,粒子直接穿过布料了。。。 阅读全文
posted @ 2012-02-29 21:16 30斤大番薯 阅读(311) 评论(0) 推荐(0) 编辑