re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 23:39
@giscn
我的计算机配置是 intel p-m 2.0G hz, 750 m 内存.
奇怪的是, 独立运行时, VC9 的结果是:
161203
430172
不解, 此前是在调试器上运行的 DEBUG 版本.
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 23:20
@giscn
我的意思是您能否对我的实现代码提供点建议
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 23:00
@giscn
我用你的同样的代码在 VC6 和 VC9 上测试了一下,
VC6:
135140
12437
VC9:
162422
32766
差距也很明显, 拙作强一点点. 当然, vc6 和 VC9 的 STL 和现在的 sgi STL 不具可比性, 楼上的愿意提供更好的解决方式吗? 俺没研读过 sgi STL 的源代码.
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 20:42
@RichardHe
多线程同步的问题, 建议找本侯捷翻译的《Win32多线程程序设计》书看看, 里面有你想要的.
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 18:47
@木
毫无意义, 你可以将这个名字空间换成你的, 甚至将其完全删除
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 18:45
@土
第一, 我仅仅是让我的工作高效的完成. 而设计一个简单的类, 不是要设计一个工业强度的库.
第二, 危险不危险各人心中有数. 崩掉了自己会找到原因的.
第三, 交流心得就交流心得, 你觉得你高明自个儿写文章去, 这里不容纳你的排泄物.
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 18:09
在我的项目里, 至少提高了 3 倍以上, 当然没有具体的测试数据, 只是目测. 你有兴趣可以试试. 呵呵. 当然, 还有其他的改进, 比如, 将内核级的信号量改成用临界区, 因为只有进程内部共享数据. 无进程间通讯的需求.
re: 动态数组的 C++ 类模板 free2000fly 2008-09-05 17:48
@水
这个知道, 谁使用谁负责线程间数据一致性, 我这个主要负责提高性能, 同一进程内可以使用临界区, 互斥量, 信号量等等. 不同进程使用互斥量, 信号量等, 推荐使用信号量.
@xyj
你够懒, 照葫芦画瓢一路下来就能得到一个例子代码. 自求多福吧.
"同样地,只有创建 mutex 的线程可以调用 ReleaseMutex 函数 "
应为
"同样地,只有当前拥有 mutex 的线程可以成功地调用 ReleaseMutex 函数 "
谢谢你的翻译
@wwwww
有道理, 但好歹这是公开的合法的 API, 是受操作系统支持的.
@UI Automation
提升令牌权限的代码满大街都是. 没什么稀奇的.
至于要注入到所有进程, 当然得编写驱动了, 不然你就得时时刻刻枚举进程的总数, 然后一个一个注入, 累死你, 而且效率低下, 实时性也不强.
re: 也写了一个自删除程序, 采用远程线程注入技术. free2000fly 2008-06-24 21:17
@guest
等一小会, 让注入代码的进程退出以后, 才执行下面的删除操作, 不然十之八九会失败.
re: 也写了一个自删除程序, 采用远程线程注入技术. free2000fly 2008-06-22 09:51
@饭中淹
明白了, 将所有用到的地址组织成一个数组, 直接写到目标进程, 远程线程通过查表调用需要的 API. 本质相同, 但对于要调用 kernel32.dll 以外的函数在初始化时有重要意义. 但我没有调用那, 远程代码尽量保持小巧.
re: 也写了一个自删除程序, 采用远程线程注入技术. free2000fly 2008-06-22 09:37
@饭中淹
能详细一点吗,哥们
@cppexplore
工作成果, 不便公开详情, 可以看看头两篇文章, 相信您会明白究竟的.
re: 服务器迁移预告 free2000fly 2008-06-20 11:54
为什么我不能删除我上传的文件啊?
re: 一个复合文档查看器 free2000fly 2008-06-13 07:39
@redfox
不明白你的意思
re: VC++ 6 的 MSDN 插件 free2000fly 2008-05-02 14:41
@Mix
哦? 原来如此, 谢谢修正. 我一直使用英文版的, 没发现.
re: 一个复合文档查看器 free2000fly 2008-04-01 08:09
@Conan
我想我的源代码里以及其它地方已经提供足够的暗示, 自己找吧, 别怪俺龌龊.
re: 一个复合文档查看器 free2000fly 2008-04-01 08:08
@国崎往人
哥们, 本文第一句话就是 "用 ATL 和 WTL 写的复合文档查看器", 你下载一个 WTL 库, 将头文件放到你的编译器能找到的文件夹内.
re: VC++ 6 的 MSDN 插件 free2000fly 2008-03-30 15:32
@max
还是使用的这个对象的, 我的 VC9 测试无误的
re: VC++ 6 的 MSDN 插件 free2000fly 2008-03-26 19:34
@an_eagle@163.com
不可能,俺用的就是VC2008, 好使的很
@天之骄子
这是 MFC 里的函数, 不是一个 Win32 API, 看看以下 MFC 源代码:
// WM_NCDESTROY is the absolute LAST message sent.
void CWnd::OnNcDestroy()
{
// ...
// call special post-cleanup routine
PostNcDestroy();
}
void CWnd::PostNcDestroy()
{
// default to nothing
}
你就明白了, 作为虚函数的 PostNcDestroy 函数, 可以在你的派生类里被你改写, 做你自己的清理. 但你不能自己调用这个函数, 而是由 MFC 框架在其内部调用.
re: 智能指针的几点错误操作心得 free2000fly 2008-01-23 17:12
建议精读 <<COM 本质论>>, 就不会出现这些错误了
re: 一个复合文档查看器 free2000fly 2007-12-07 15:20
俺看有可能, 你可以用 office 2007 生成 .docx 文档, 然后将这个文件名改名为 .zip 扩展名, 用解压软件解开后, 里面就是一坨一坨的 xml 文件.
re: 一个复合文档查看器 free2000fly 2007-12-07 09:52
请执行 bin 目录里的 install.bat 文件注册 HexEditAx.dll 组件.
但我觉得这个技术还是很好的, 虽然看起来偏底层了点, 但操作复合文档不是一般的方便, 当然也可以使用现在的 xml 技术, 但用于存储较大的二进制文件数据看来还是复合文档好点.