刚才从网上看到了一个句子“Everyone has seen the
Hello World program used as a first exposure to a new language or
environment.”,来自于这里。
理解起来比较简单,但却不知道怎么翻译合适,关键就是exposure这个词在这里该怎么解,怎么翻译。
在金山词霸2007[美国传统词典]项下有主要的以下几种解释:
1)the act or an instance of exposing.
暴露的行为或事例。
2)the act of subjecting or an instance of being subjected to an action or influance.
受到某种行为或影响支配的行为或事例。
their first exposure to big city life.
他们第一次受大城市生活的影响。
3)appearance in public or in the mass media.
曝光,在公众场所或新闻媒介露面。
还有其他几个解释,就没必要一一列出了。其实意思都差不多,但细体会起来有有点不同。
感觉这里应该跟前两种解释比较接近,结合这句话的含义,翻译成:每个人在初次接触一种新语言或新环境时,都曾见过“Hello World”程序。
感觉有点学究了,如果能对学习英语有帮助,学究就学究吧。
早就厌倦了2003的老面孔,何况这都2007年了,还在用几年前的东西,未免太没有与时俱进精神了。于是在说服自己一切关于重装软件的麻烦和带来各种可能问题的疑虑后,决定动手干了。
好在当初装2003的时候是直接拷贝别人安装好的目录,只要删除整个目录就等于是卸载了。从公司服务器上找到了金山词霸2007的安装程序,直接运行安装,没费几下工夫就算安装完成。安装完了打开用了用,没什么问题,宣布升级成功。
我选择的是最小安装,占用硬盘200多不到300M。

很奇怪,“关于”里竟然没有授权许可信息,即便是CRACK版也应该有的,不是吗?
最近想看看WINVNC的源码,可是发觉系统相当庞大,类继承关系错综复杂、包装也严丝合缝,总之感觉就是无从下手。
于是想着要是有能够自动生成类继承关系之类东西的工具就可以使阅读过程容易一些,到网上一查,下了个DOXYGEN的WINDOWS平台安装程序。安装以后按照说明鼓捣了一番,发现把它生成的HTML文档用来辅助阅读代码还是很有用的。
刚才想放两个生成的HTML文件上来,不过不知道哪里没设置对,不能正常显示:(
好久没来更新了,这里已是灰尘密布,都快进不来人了。这篇小札就当是扫灰吧。
最近要给程序增加一点新功能,经过大体的设计后,添加了一个类和该类的一个全局对象。然后就是加方法、调试测试,等弄的差不多了就放心地撂下了。
过了没两天,再打开准备进一步修改的时候,发现链接通不过了,提示有两个OBJ文件LNK2019 LNK2001——又是经典的UNRESOLVED SYMBOL问题。
源代码、工程设置里都找了,没发现什么线索,更是觉得难以置信:因为记忆中从上次链接执行到出问题根本就没作过什么重大修改——只是润色代码格式、加个TAB或删个空行之类的怎么也不会产生这种错误。
重新完全链接,编译器也丝毫不为之所动,一点改观没有。
到这,开发陷入僵局。
我是最怕这种情况的,因为不知道会耽搁多久。
只能怪自己基础知识不过硬,不能一眼发现问题所在,没办法,只有一点一点地毯试搜索了。我试着把牵涉问题的两个源代码文件一点一点地注释掉,编译链接,如果没问题再缩小注释范围,再链接,如此反复。中间也试着DUMPBIN生成的链接通不过的OBJ文件,怎奈茫茫符号,不知道哪个是我要找的。。。
最后,还是地毯试搜索发挥了作用,原来是不知道什么时候我把新添加类的两个成员函数定义前面加了INLINE,而去掉INLINE就什么问题都没有了。而到这个时候,时间已经过去了一天半!
不过,还是搞不明白,为什么INLINE后就找不到函数定义了。比较了一下INLINE前后在OBJ文件上执行DUMPBIN /SYMBOLS的输出,果然加了INLINE后,对应的函数符号就没了!?
找出 THINKING IN C++,把INLINE的那一章大致读了一便,也没发现有这方面的说明。
另:不知道是我的环境设置不对还是什么,VS2003发出LNK2019,LNK2001之类提示时,却不告诉我是哪个/哪写符号不能解析,否则也不会盲目找了,而以前在VC6里是有的。这难道不应该是LINKER的一个基本功能吗?
goto语句可以将程序控制转移到由“标记”所指定的地方,这是地球人都知道的。
关于标记的用法不太知道或没注意的地方:
1。标记不能单独出现,必须后跟一条语句;如果需要一个单独的标记(想不出有这种需要),则在标记后放一条空语句。
2。标记在它所在的函数内有效,不能重新定义。不同函数中可以使用同名标记。
reference:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vclang/html/_pluslang_Using_Labels_with_the_goto_Statement.htm
我觉得不会。另外,我在编程中也似乎从来没考虑过重入的问题。
证明如下:
1
// testtimer.cpp : 定义控制台应用程序的入口点。
2
//
3
4
#include "stdafx.h"
5
#include <windows.h>
6
#include <conio.h>
7
8
static UINT idTimer = 0;
9
static int reentry = 0;
10
static int call_cnt = 0;
11
12
void LengthyWork(void)
13

{
14
//Sleep(3000);
15
int i = 0,j = 0;
16
for(i;i < 50000;)
{
17
i++;
18
for(j = i;j > 0;)
{
19
j--;
20
}
21
}
22
23
}
24
VOID CALLBACK OnTimer(HWND hwnd,
25
UINT uMsg,
26
UINT_PTR idEvent,
27
DWORD dwTime
28
)
29

{
30
++call_cnt;
31
printf("entry(%d) reentry:%d\n",call_cnt,reentry);
32
++reentry;
33
LengthyWork();
34
--reentry;
35
printf("exit(%d) reentry:%d\n",call_cnt,reentry);
36
}
37
int _tmain(int argc, _TCHAR* argv[])
38

{
39
idTimer = SetTimer(NULL,0,1000,OnTimer);
40
int ret = 0;
41
MSG msg;
42
while(1)
{
43
if(kbhit())
{
44
return 0;
45
}
46
ret = GetMessage(&msg,NULL,0,0);
47
if(ret)
{
48
TranslateMessage(&msg);
49
DispatchMessage(&msg);
50
}
51
}
52
return 0;
53
}
54
一次执行结果如下:
entry(1) reentry:0
exit(1) reentry:0
entry(2) reentry:0
exit(2) reentry:0
entry(3) reentry:0
exit(3) reentry:0
entry(4) reentry:0
exit(4) reentry:0
看酒阑人散,标题的命名标新立异,非常欣赏。只是不理解“阑”字怎么可以是这么个用法,于是马上找来常备的在线汉典,释义如此。
到此才明白,原来我这么多年的理解全拧了,那个“蓦然回首,那人却在灯火阑珊处”,原来是忽明忽暗(主要还是暗)看不清楚的地方,我还一直以为是灯火通明的意思哪,汗呢~~
在对话框中使用树控件,调用树控件的DeleteAllItems()后,再调用InsertItem()添加新项目,添加后不能显示新添加的内容。
在codeproject上找到了关于这方面的讨论。
解决方法如下:
m_tree.SetRedraw(FALSE);
//do erase and insert operation
m_tree.SetRedraw(TRUE);
m_tree.RedrawWindow();
Do you expect to be in the IT industry in 5 years?
5 Jun 2006 to 11 Jun 2006
Are you suited to IT long term, or is this just a stepping stone?
Option | Votes | % | |
I'll be here in 5 years | 878 | 74.28 |  |
I'm not sure | 174 | 14.72 |  |
I'll no longer be in IT in 5 years | 77 | 6.51 |  |
I'm not in IT at the moment | 53 | 4.48 |  |
Total | 1182 | 100% |  |
看来,除了意志坚定的大多数,还是有相当一部分(近六分之一)和我一样举棋不定的。另外还有一些人决定要离开了,不知道这些人有着怎样的归宿。