ligang:此类文章非常好!
请作者多发表些,如memcpy、strncpy等函数的剖析,这对于向我这类非科班出身的菜鸟来非常有用。
谢谢!!
(发表于2004-3-17 13:18:00)
xiaojin:不错!
(发表于2004-3-17 15:01:00)
xiaojin:不错!
(发表于2004-3-17 15:01:00)
y5318:写的好
(发表于2004-3-18 7:45:00)
Shawnson.zhang:真不错!
希望这位仁兄能够多多的发表一些类似的文章。
(发表于2004-3-26 18:51:00)
nstar:...
(发表于2004-3-27 23:33:00)
jackcf:好,不过看不懂,初学者
(发表于2004-7-5 16:02:00)
genghiskhan:很好,但如何补齐没有说。
(发表于2006-5-29 8:40:00)
cdlgz:。。。编译器不知道数组的大小如果想在函数内知道数组的大小, 需要这样做:进入函数后用memcpy拷贝出来,长度由另一个形参传进去 fun(unsiged char *p1, int len)
{
unsigned char* buf = new unsigned char[len+1]
memcpy(buf, p1, len);
}
这个说得莫名其妙!!
(发表于2006-7-17 15:46:00)
sdhexu:好是好,不过没有做UNICODE的分析。
如果使用了UNICODE
TCHAR ss[100] = _T("Hello");
sizeof(ss) = = ?
lstrlen(ss) = = ?
(发表于2007-5-6 19:18:00)
fidel:cout<
cout<上边对齐是如何进行的?
(发表于2008-6-26 12:00:00)
fishinnor:int,long,float等类型的变量在内存中是以偶地址对齐存储的,byte变量没有限制。
当结构体中完全是byte或者完全是int,long,float的话,中间是没有内存空隙的。如果同时包含byte和int两种,这时候就有可能存在内存空隙。
用上边楼主的例子来讲:
class X
{
int i;
int j;
char k;
};
X x;
其中 i占4个byte j占4个byte k表面上占1个byte
但是后边的地址是奇数,其他的数据若想要使用,必须后退3个字符,也就是说k实际上占用了4个byte
所以最后的结果是12
(发表于2008-10-10 11:02:00)
..........................................................................
--------------------next---------------------
阅读(219) | 评论(0) | 转发(0) |