首页
社区
课程
招聘
使用
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2015-12-15 17:44
0
[默哀]Aker一路走好
愿Aker走好,大家注意身体!
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2015-1-14 16:22
0
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2014-3-11 14:46
0
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2013-7-1 18:36
0
[原创]
我那年是选择了个山东的大专。
你考虑在杭州附近找一个吧,应该会不错。
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2013-6-25 18:57
0
[原创]
其实还有另一个选择,楼主直接跳过大学出来工作吧。
漳州的同学路过顶一下。
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2013-4-9 16:10
0
[原创]nt4源码剖析之MemoryManage篇
顶了,有毅力的龙少!
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2011-4-18 14:14
0
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-12-9 15:14
0
[讨论]C++测试题简评一下
回LiuTaoTao:
*file 接口,我指的意思是把这部分的操作分开,对接口编码,比如7z源码里很多单独的buffer操作函数,更正规的就是以输入流的代价进来,但这显然很不合算
*Space字符的匹配如果转成一张表, 比如

const unsigned char kTransTableForSpace[] =
{
        4,         //0,   \00
        0,         //1,
        0,         //2,
        0,         //3,
        0,         //4,
        0,         //5,
        0,         //6,
        0,         //7,
        0,         //8,
        4,         //9, \t
        4,         //10, \0a
...
        0         //255, ''
}

上面的\t 和0a都可以直接查表获取,如此速度总比多个 if 或者 switch 强吧(这局限assii)

*whitespace是我看得少 :)
*适配器,我说的是设计模式里的适配器模式,为的是统一编码接口

//////////////////////////////////////////////////////////////////////////////////////////////////////
你不能说“有这份时间还不如好好写写WinMount”,我这几天在招聘新人,培训新人。今天高兴了,就写了这么个东西,希望对菜鸟能有所帮助
//////////////////////////////////////////////////////////////////////////////////////////////////////
:) 还望多见谅! 其实这题我做了,但发现要做到完善要作的功夫很多,最后放弃了。
刚好今天见您发帖了,说了下我的观点。那2个bug也是这些天作了压缩的工作,看了几家的产品,顺便提上来的!

第二个我这里的调试信息如下,希望对您有帮助:

0:004> ~*kv

   0  Id: bf8.a50 Suspend: 1 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be wrong.
0012f74c 7c821c8d 000001ac ffffffff 00000000 ntdll!KiFastSystemCallRet
0012f760 025155f9 000001ac ffffffff 00000111 kernel32!WaitForSingleObject+0x12
0012f77c 02516be9 00000002 00000111 02574640 MouCoreUI!GetIWM_MouCoreUI+0xea9
0012f814 77e25f82 02590ff0 00710150 00000111 MouCoreUI!GetIWM_MouCoreUI+0x2499
0012f854 77e25f38 00000000 00000000 77e2b8b8 USER32!IsDialogMessageW+0x2e1
0012f860 77e2b8b8 00000000 00000000 00000000 USER32!IsDialogMessageW+0x297
00000000 00000000 00000000 00000000 00000000 USER32!LoadCursorW+0x4eca

   1  Id: bf8.8d0 Suspend: 1 Teb: 7ffde000 Unfrozen
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be wrong.
01daff48 7c93e4a2 00000002 01daff70 00000000 ntdll!KiFastSystemCallRet
01daffb8 7c824829 00000000 00000000 00000000 ntdll!RtlSetLastWin32ErrorAndNtStatusFromNtStatus+0x301
01daffec 00000000 7c93e1fa 00000000 00000000 kernel32!GetModuleHandleA+0xdf

   2  Id: bf8.b78 Suspend: 1 Teb: 7ffdd000 Unfrozen
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be wrong.
026cfef4 77e2bbd1 00000002 026cff1c 00000000 ntdll!KiFastSystemCallRet
026cff50 77e2ce36 00000001 026cffb0 ffffffff USER32!MsgWaitForMultipleObjectsEx+0xd7
026cff6c 4c6268ab 00000001 026cffb0 00000000 USER32!MsgWaitForMultipleObjects+0x1f
026cffb8 7c824829 00000000 00000000 00000000 gdiplus+0x68ab
026cffec 00000000 4c629605 00000000 00000000 kernel32!GetModuleHandleA+0xdf

   3  Id: bf8.614 Suspend: 1 Teb: 7ffdc000 Unfrozen
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be wrong.
027ce398 77e24f0d 0087eea8 0000000c 00000000 ntdll!KiFastSystemCallRet
027ce3b8 77e17892 00400070 02ccd728 027ce3f4 USER32!SetWindowTextW+0x2d
027ce3c8 025163e8 00710150 000003f1 02ccd728 USER32!SetDlgItemTextW+0x21
027ce3f4 02b9e4d2 02ccd6d0 02e60020 000a5b05 MouCoreUI!GetIWM_MouCoreUI+0x1c98
00000000 00000000 00000000 00000000 00000000 7z!CreateObject+0x3df62

#  4  Id: bf8.914 Suspend: 1 Teb: 7ffdb000 Unfrozen
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be wrong.
02aefff4 00000000 00000000 00000000 00000000 ntdll!DbgBreakPoint
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-12-9 11:59
0
[讨论]C++测试题简评一下
*SkipWhiteSpace -> SkipSpace 自己孤陋了~~呜呼
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-12-9 11:17
0
[讨论]C++测试题简评一下
如按您所言,该类的职责已不单一了,如何增量编码

->

如按您所言,该类的职责已不单一了,已经不能谈上最优设计了
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-12-9 11:12
0
[讨论]C++测试题简评一下
:( 很不想回帖说说你的问题,但觉得你的思路有问题。
*尽善的话把 file 或 buffer 作成一个接口, ReadWord 只接受IO接口,当然文件不大比较快的方式还是直接操作buffer,故而可以做一个inline的buffer接口
*匹配有问题,为了速度为何不做张assii字符转码表呢?
*SkipWhiteSpace -> SkipSpace
*多种编码格式的文件用适配器来平衡,不应该再集合到这个小程序中。如按您所言,该类的职责已不单一了,如何增量编码

btw:
*有这份时间还不如好好写写WinMount的测试代码,以下是 WinMTExt.dll(3.3.1.20),在获取目录长度为1时直接抛异常了?给谁抓?

.text:1000D389                 mov     ebx, 1
.text:1000D38E                 mov     [esp+240h+var_230], ebx
.text:1000D392                 test    edi, edi
.text:1000D394                 jnz     short loc_1000D3C2
.text:1000D396                 call    __invalid_parameter_noinfo
.text:1000D39B                 xor     eax, eax
.text:1000D39D
.text:1000D39D loc_1000D39D:                           ; CODE XREF: sub_1000D290+134j
.text:1000D39D                 mov     esi, [esp+240h+var_224]
.text:1000D3A1                 lea     ecx, [esi-4]
.text:1000D3A4                 cmp     ecx, [eax+10h]
.text:1000D3A7                 jb      short loc_1000D3AE
.text:1000D3A9                 call    __invalid_parameter_noinfo
.text:1000D3AE
.text:1000D3AE loc_1000D3AE:                           ; CODE XREF: sub_1000D290+117j
.text:1000D3AE                 cmp     [esi+10h], ebx
.text:1000D3B1                 ja      short loc_1000D3B8
.text:1000D3B3                 call    sub_10014656

*多线程的同步也有问题,压缩文件很多时候点取消都直接死锁了,和7z模块的同步有问题,感觉对7z模块改的不兼容,个人倒觉得可以效仿haozip完全修正7z源码并发布份修改版出来,很多地方都作得不如haozip,也许您把大部分时间都花到mount这一功能上了。(感谢您提供的WinMount!)
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-11-22 10:07
0
[原创]有一个对全国人民有利对某些人不利的消息要告诉大家
也许 yuange 看了这帖该笑了~

btw:
今天才发现 antime 总是编辑回帖,作甚?
发去的站内信方便的话请回下,如果不关我们的事或者不屑于的话那就打扰了,谢谢!
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-11-19 16:57
0
[原创]有一个对全国人民有利对某些人不利的消息要告诉大家

我只是搜索了下网这个命名,发现真M$真有写过如此代码。
不过看了下其详细的注释,作者知道自己在干什么。
我们也不必拘泥于此细节,毕竟你我都说出了自己的理解。也许别人的理解是对的。

我没见过足下所说的    “你好像也就见到了str*的防御代码哦。”
对于C串处理函数,作为M$考虑的是可以在编以时搞定的,为何要在运行时费气力。

对于我自身在此类攻防技术上的缺陷,我倒可以静候您的大作来提高,又多了份期待,很好!
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-11-19 11:15
0
[原创]有一个对全国人民有利对某些人不利的消息要告诉大家
:) 搜索下M$果然有这份源码,错不在足下。
后面一句就理解不来了
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-11-19 10:16
0
[原创]有一个对全国人民有利对某些人不利的消息要告诉大家
说下我回帖的初衷:
有技术是好事,出书卖钱亦是好事,总认为天下第一就不好了。
要真觉得中国的网民和中国的股民总是一个样,要真觉得有能力改变状况,在论坛瞎嚷有意思吗?

回头说下上面的帖:
首先COM不是看例子学出来的。
如果你说的SDK如果是C版本的话,数据部分于外部是透明的,这个不会有任何影响。(老实的说我对SDK的概念一直都是不明白的。)
你的接口给别人用的时候容易产生资源泄露,毕竟你的初始化指针是在内部初始化的。
COM不在乎语言的实现,但语言在乎。(封装是CPP的一大特性。)
开源是件好事,提出意见亦是件好事,提出意见作者没意见,呵呵。
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-11-18 16:23
0
[原创]有一个对全国人民有利对某些人不利的消息要告诉大家


看了下anti-leak的代码发现连初始化COM引用计数都错了.

m_ObjRefCount = 1;

虽然 new 完后还Release了,累~
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-4-2 17:24
0
[讨论]公司说 try catch太高级了 不让用!!!
正常吖,确实太高级了,除非你总是在写兼容性存在问题的代码。
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-3-7 20:20
0
[求助]躲进VPC虚拟机里上网能否保证帐号安全!
:) 没问题的,只要数据最初产生的环境是ok的,数据是不可逆的话,被劫持了也是安全的。
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2010-1-12 19:45
0
如果没有遇见“你”
支持下~很真实!
雪    币: 278
活跃值: (39)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
回忆罐头 1 2009-4-13 09:50
0
[翻译]windows驱动漏洞发现与利用
  好文!
没有过滤的输入是有害的!
精华数
RANk
278
雪币
39
活跃值
关注数
粉丝数
0
课程经验
0
学习收益
0
学习时长
基本信息
  能力排名: No.2322
  等    级: LV4
活跃值  活跃值:活跃值
  在线值:
  浏览人数:193
  最近活跃:2024-12-18 10:21
  注册时间:2006-11-03
勋章
能力值

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册