re: MFC,一开始就错了[未登录] Steven 2014-02-27 11:45
说的非常在理,很赞!
谢谢你
用大括号形式的RE是不能够在"经典"(非POSIX兼容)的awk版本中正常运行的. 然而, gawk命令中有一个--re-interval选项, 使用这个选项就允许使用大括号形式的RE了(无需转义).
这个困扰我很久了
大大:
windows xp DDK 我找了好久,,也down load
不下起來..可以寄給我一份嗎??
我的mail : thank0855kimo@yahoo.com.tw
感激不盡
steven
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
真是辛苦你了...是否能pass給我. 謝謝
mail:jdesigner9101027@yahoo.com.tw
希望能得到一本,感激不尽 goodsun2@163.com
re: 关于哈希表——一个常见的谬误[未登录] steven 2010-08-05 14:12
一个理想的HASH函数,输出的值的每一位都“散列”的,无所谓丢失哪一部分来适应“桶”的大小
re: 最近几天被MFC折腾~[未登录] steven 2010-05-20 09:53
有个东东叫 TLS , 这个在MFC里导致同一个函数在不同线程调用是不一样的
re: 需要判断指针为空吗[未登录] Steven 2010-02-15 16:24
我是比较推崇这样的写法的
if (index < 0) return NULL;
if (index >= size()) return NULL;
虽然用 || 可以生成一样的汇编代码,但是对于调试维护来说是有区别的
如果我用 || 的话,并且在return 之前,输出一些错误log
if (index < 0 || index >= size())
{
cout << "invalide index";
return null;
}
当我看到这个log的时候,你怎么才能知道到底是哪个判断出错了呢?index是太大还是太小呢?当然你可以说我应该把index的值也一并输出出来,但是在实践中很多判断是很复杂的,很难输出所有的值,比如长字符串的比较,总不能输出那么多东西到log里吧。
@刘畅
呵呵,我把堆和栈的英文写反了。。。
以前写C 程序的时候经常用到大量的 strcopy, strcat之类的函数,偶尔出错是在所难免的,只要是人总是有算错的时候,尤其有些时候混合处理unicode和ansi串的时候,算字符串长度是容易出错的。
所以后来写 C++ 的时候我尽量避免去使用这类函数了,而是倾向于用 stl的string wstring, 尽量用 stl的容器类去代替自己分配管理内存。
代码规模大到一定程度,除了缓冲溢出实在是很难找。
顺便说下,
http://www.coverity.com/products/static-analysis.html这个东西很强大,可以检测到你代码里潜在的溢出问题。
你需要去了解下 堆(stack) 和 栈(heap) 的区别.
re: WinXP 服务详细解说(转) steven 2009-11-25 09:57
好久没有回到这块土地上了,原因有二:
1 人变得更加懒散了,常常无组织,无目的,也无纪律,想到的时候就往上贴点东西,不想的时候就不去耕种了.嘿嘿,要改.
2 公司上网的环境调整了,好长时间都不能打开登录页.回家也再懒得把一些东西再搬一遍了.
还是坚持耕作起来,别让这块地方杂草丛生,也给自己留一个足迹吧.
前一段时间其实好忙的,虽然做了许多无用功,但是还是有蛮多收获的.东西多了,没有整理,可能又飘到哪个角落了,想起来了就贴下来好了.
太长时间没有写东西了,感觉一切都陌生起来,俗话有说.三日不写手生,三日不说口生.诚不欺我也.慢慢的补课吧.
倒,发布不了,晕死.先贴在这里
re: WinXP 服务详细解说(转) steven 2009-11-25 09:57
好久没有回到这块土地上了,原因有二:
1 人变得更加懒散了,常常无组织,无目的,也无纪律,想到的时候就往上贴点东西,不想的时候就不去耕种了.嘿嘿,要改.
2 公司上网的环境调整了,好长时间都不能打开登录页.回家也再懒得把一些东西再搬一遍了.
还是坚持耕作起来,别让这块地方杂草丛生,也给自己留一个足迹吧.
前一段时间其实好忙的,虽然做了许多无用功,但是还是有蛮多收获的.东西多了,没有整理,可能又飘到哪个角落了,想起来了就贴下来好了.
太长时间没有写东西了,感觉一切都陌生起来,俗话有说.三日不写手生,三日不说口生.诚不欺我也.慢慢的补课吧.
倒,发布不了,晕死.先贴在这里
re: WinXP 服务详细解说(转) steven 2009-11-25 09:57
好久没有回到这块土地上了,原因有二:
1 人变得更加懒散了,常常无组织,无目的,也无纪律,想到的时候就往上贴点东西,不想的时候就不去耕种了.嘿嘿,要改.
2 公司上网的环境调整了,好长时间都不能打开登录页.回家也再懒得把一些东西再搬一遍了.
还是坚持耕作起来,别让这块地方杂草丛生,也给自己留一个足迹吧.
前一段时间其实好忙的,虽然做了许多无用功,但是还是有蛮多收获的.东西多了,没有整理,可能又飘到哪个角落了,想起来了就贴下来好了.
太长时间没有写东西了,感觉一切都陌生起来,俗话有说.三日不写手生,三日不说口生.诚不欺我也.慢慢的补课吧.
倒,发布不了,晕死.先贴在这里
re: API 往桌面上写东西,把图片往上贴 steven 2009-11-25 09:32
@vc++
我试过了,是可以的.
//TextOut(hdc,0,0, cpText, strlen(cpText)); //在桌面上显示字符串
RECT Rect;
Rect.left=0;
Rect.right=500;
Rect.top=0;
Rect.bottom=20;
DrawText(hdc,cpText,_tcslen(cpText),&Rect,DT_CENTER);
@hjphy
to hjphy:
非常感谢你的回复。
@hjphy
to hjphy:
非常感谢你的回复。
@hjphy
to hjphy:
非常感谢你的回复。
re: 最长运行时间(百度笔试题) [未登录] steven 2009-10-17 22:57
这个题目真是不知所云,答案也是一样,莫非是我太out了?
re: 高薪招聘[未登录] Steven 2009-05-28 12:25
盛大啊……
re: 高薪招聘[未登录] Steven 2009-05-26 22:22
盛大啊……
昏倒,
pthread_kill(tid,SIGQUIT);这是什么呀,这是向线程发信号,而不是向进程发。
你要测试你需要的效果,请用kill(getpid(),SIGQUIT);
我测试过,多加一个cpp,内存是会涨上去的,前提是给data拷贝数据。
//main.h
#ifndef STATICHEADER_H_
#define STATICHEADER_H_
static int point[1024*1024*10];
#endif
//main.cpp
#include "main.h"
#include "stdio.h"
int main()
{
getchar();
return 0;
}
//main1.cpp
#include "main.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
static int outPrint()
{
memset(point,0,sizeof(point));
printf("%p,%p\n",point,outPrint);
return 0;
}
static int x=outPrint();
把main1.cpp拷贝多份,然后编译运行,就可以看到每增加一个cpp,内存会涨很多的。
re: 开心笑话 steven 2008-10-08 15:46
怎么看了都不留脚印呢?
re: 08年07月16日[未登录] steven 2008-07-16 19:57
如果觉得自己是对的 一定要用论证说明 有些人是不懂技术的 只是想当然 还是要沟通好 。
re: 别拿你学的那点破技术炫耀了--自嘲篇 steven 2008-07-07 15:57
同感,有时候觉得自己会一点了,仔细想想,我会吗?我会什么?/很尴尬的答案,我其实不会什么!
就当自勉了,别想那么多了,好好学吧!每天学一点也是好的.
re: 求助程序 steven 2008-06-30 14:12
看起来有点难受!
re: State模式的应用探讨[未登录] steven 2008-05-26 22:14
不错,受益了
re: printf都做了什么??[未登录] steven 2008-04-18 21:16
昏。在栈上的数据嘛,肯定没有问题了。
re: 内存泄露和对象泄露 Steven 2007-05-31 17:58
内存在进程结束时是会被释放的
至少windows是这样的。
几乎所有的内存都是从heap上分配的,虽然每个进程可以有多个heap
但不会太多的,系统在进程结束的时候释放所有的heap,自然从heap上
分配的内存也被释放掉了。
当然依赖进程结束来释放内存依然是危险的,因为系统只负责释放内存
而不管调用析构函数,如果析构函数中有什么操作的话是不会被执行的。
不过windows上还好了,进程结束的时候所有进程相关的内核对象和GDI对象
包括文件,mutex, dc等都会被释放掉。
对于某些其他操作系统来说,尤其是嵌入式系统,比较麻烦些。
比如Symbian OS,进程结束后某些资源不会被释放,尤其是发生异常退出的时候。