Fork me on GitHub
09 2012 档案
char p[]与char *p的区别
摘要:如下程序:char* GetMemory1(){char p[] = "Hello,World";return p;}char* GetMemory2(){char *p = "Hello,World";return p;}int main(){ char *q,*r;q = GetMemory1();r = GetMemory2(); cout<<q<<endl;cout<<r<<endl; return 0;}其运行结果是什么?答:乱码和"hello word",因为第一个函数的字符 阅读全文
posted @ 2012-09-14 10:39 loopever 阅读(419) 评论(0) 推荐(0)
OPNET学习笔记之application demands
摘要:当仿真研究关注的不是某些产生流量的应用程序时,采用application demands可以更简单的实现网络中的流量,它依据速率和规模产生在节点之间的流量。配置application demands比配置application traffic models更简单,因为所有的配置都集中在application demands自己,不需要配置节点;而application traffic models则需要配置application和节点。 application demands把流量看成是在节点之间一系列的请求/相应过程。它的缺点是与application traffic models相比,.. 阅读全文
posted @ 2012-09-10 15:38 loopever 阅读(532) 评论(0) 推荐(0)
转载:关于sizeof对struct和union的处理
摘要:Win32平台下的微软C编译器(cl.exe for 80×86)的对齐策略:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;备注:编译器在给结构体开辟空间时,首先找到结构体中最宽的基本数据类型,然后寻找内存地址能被该基本数据类型所整除的位置,作为结构体的首地址。将这个最宽的基本数据类型的大小作为上面介绍的对齐模数。2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自己大小的整数倍(实际上是成员自己的对齐位数,如后面的union A是8byte对齐,非最大成员的对齐位数),如有需要编译器会在成员之间加上填充字节(internal adding);备注 阅读全文
posted @ 2012-09-06 17:03 loopever 阅读(411) 评论(0) 推荐(0)