ChinaUnix.net
相关文章推荐:

8字节魔术数字防止内存访问发生越界

cpu是4对齐,如何访问某个地址开始的内存中short型数据。 用 *(short*)msg访问出错。

by boldeagle - C/C++ - 2008-02-01 23:33:15 阅读(5019) 回复(16)

相关讨论

int shmsiae=1000; key=89; shmid = shmget(key,shmsiae, SHM_MODE|IPC_CREAT); if(shmid == -1) printf("newshm error\n"); 奇怪只要shmsiae小于1000就没问题,大于1000就出现newshm error 很明显,只能创建不大于1000的大小的共享内存 是不是系统的问题?要怎么设置?

by jd808 - C/C++ - 2010-01-11 13:59:20 阅读(1641) 回复(3)

[code] typedef unsigned long long ptr32_t; struct cc { int Sig; ptr32_t keystr; ptr32_t keyalias; ptr32_t kattr; int32_t pid; } __attribute__ ((aligned(8))); int main() { printf("[%d]\n",sizeof(struct cc)); } [/code] gcc hello.c -m32 输出还是32 我希望8对齐 应该是40才对 请问怎么搞?

by bleem1998 - C/C++ - 2012-02-08 09:25:05 阅读(4655) 回复(8)

- - 不成功... 以下使用80端口读取网站为例. 根据网络监视,完全读取了才断开. use IO::Socket; $sock = new IO::Socket::INET(PeerAddr => 'perldoc.perl.org', PeerPort => '80', Proto => 'tcp'); print $sock "GET /index-functions.html HTTP/1.1\r\n"; print $sock "Host: perldoc.perl.org\r\n"; print $sock "X-Forwarded-For: ". int(rand(255)).'.'.int(rand(255)).'.'.int(rand(255)).'.'.int(rand(255))."\r\n"; print...

by cnstudent - Perl - 2008-03-08 21:02:20 阅读(1754) 回复(4)

内存越界两则: 1、BASE64编码,内存计算错误,导致申请的空间不够, //ASCIItoBASE64     len = pSUPCON_Config_File->mCDATA_Len/3;     if(pSUPCON_Config_File->mCDATA_Len%3)     {         len += 1;     }     len = len * 4 + 1;     pTmpContext...

by 白石 - Linux文档专区 - 2009-04-30 16:36:06 阅读(892) 回复(0)

计算机系统在访问内存时 是不是仅以长为单位来进行存取,长是计算机系统一次所能够处理的数据位数。 例如:长为32位,那么就算是取一个,也是将此所在的那个的32位内容全部取出。 这样的话,在内存编址的时候岂不是以长作为单位来编址就可以了,那这样,接在内存上的地址线节省了,例如,长为32位的话,就可以节省2根地址线

by fxhnkf - 服务器及硬件技术 - 2005-03-19 05:42:07 阅读(1197) 回复(4)

char*p=malloc(100); for( i=20;i<100;i++ ) p=p[i+10]; 这是明显的内存访问越界,这段代码部署在了10几台服务器上,只有一台肯定报错,其他的服务器却从来没出现过内存访问越界引发的段错误。 我只是想知道为什么? 这些服务器的系统都不是我配的,不过好像是RH的,我想问问这个错误是可以 “选择性” 被系统屏蔽吗?难道有地方可以配置? 求教

by houtinghua - C/C++ - 2012-11-27 15:29:48 阅读(4636) 回复(9)

大脑短路了,该如何做?各位老师给点启发。 直接用sprintf行不行?好不好? 如果自己来写要考虑哪些东西? 不要因为他简单就嗤之以鼻,能把「如此简单的问题」给「这么简单的问题都不会的人」讲明白了才叫真本事。 如果能举一反三、触类旁通一下就更好了,我一遇到进制啊、啊、ASC码啊就迷糊。。。:dizzy:

by _cer - C/C++ - 2010-05-27 15:43:39 阅读(5219) 回复(3)

自己写的网卡驱动代码里,总有一些skb越界操作的问题。 skb是slab分配出来的,所以给内核配置了CONFIG_DEBUG_SLAB, 但是这个选项只是给slab对象的前后加了红区(red zone),以及在刚分配slab对象前,将其poison, 这两个方案都只能检查事后内存被改的情况。 为了抓到第一现场,封装了string.c里的类C库接口。 以memcpy为例,假设驱动代码里有一句memcpy(dest,src,len), 那么就会检测区间 [dest,dest+len] 是否覆盖掉了别人的sla...

by chenyu105 - 内核源码 - 2013-12-03 09:30:58 阅读(2632) 回复(9)

open FI,'<','big.txt'; sysseek FI,0,0; sysread(FI,$str1,200000000,0); open FOO ,'>','TXT1'; print FOO $str1; exit; c:\>dir 2012-11-26 12:12 201,635,754 TXT1

by earth2mars - Perl - 2012-11-26 13:59:18 阅读(1300) 回复(2)

一项新的研究评估了有多少数信息被压缩、存储。并且首次指出人们将没有足够的空间来存储这些信息,幸运的是,我们总是在删除一些过时的数据。 IDC(国际数据公司)收集统计了全球数码照片、视频,电子邮件、网页、短信,电话以及其他一些数信息得出了以上结论。这项研究假定每份数据平均被复制了3次。 综合所有的数信息,IDC得出结论,去年全球产生的数信息量共计161千兆兆,这真是一个惊人的数! 将这些数据印成书籍的...

磁盘阵列

by g_hk - 存储文档中心 - 2007-03-09 10:00:09 阅读(824) 回复(0)