能力值:
( LV2,RANK:10 )
|
-
-
2 楼
后面三个参数没有变化,主要是前面两个DWORD值改变了。
很奇怪的BUG
我怀疑是内存字节对齐的问题,所以我设置了#pragma pack(4) 或者#pragma pack(1)
好像都一点用都没有。。。希望以前遇到过这种问题的大神给一点建议
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
1 、函数实现 代码 。
2、 怎么个变化。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
BOOL InsertListTail(ULARGE_INTEGER a, DWORD b, DWORD c, char *d, char *e)
{
//OutputDebugString打印出参数发现变化
}
这个是函数的原型
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
实现代码。 不叫做函数声明 。 实现 啊。 你output怎么调用 的也要贴啊。 多贴几条很累么。
具体怎么变的你也没贴啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
wsprintf(temp,L"insert Tail a:%lu\tb:%d\tc:%d\n",a,b,c);
OutputDebugString(temp);
在函数头部加上这句然后在dbgview里面观察。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
这个跟你前面的ularge有关系 。不能使用%lu
large 本身是占了两个DWORD的。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
这个我知道,large是两个结构,所以我用%lu,l表示long,u表示无符号。。。感觉这个应该没什么特别大问题吧?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我刚才重新调试了下,果然如你所说,不将large的这个打印出来确实是正确的。。。但是如果我想要将large64位整数输入到文件或者字符串中应该使用哪个格式化输出字符呢??
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
。。。 ularge是两个 dword 一个dword 就是unsiged long了。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
好吧!我试过%llu了,是可以的,之前使用ll的时候一个编译错误让我误以为应该就只用lu了。。谢谢了。。。
|
|
|