<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

  • 随笔 - 24
  • 文章 - 0
  • 评论 - 17
  • 引用 - 0

常用链接

留言簿(4)

随笔分类

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜

[随见随记]exposure的一个例句

刚才从网上看到了一个句子“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”程序。

感觉有点学究了,如果能对学习英语有帮助,学究就学究吧。

posted @ 2007-04-20 13:33 小葱蘸酱 阅读(343) | 评论 (0)编辑 收藏
新装了金山词霸2007

早就厌倦了2003的老面孔,何况这都2007年了,还在用几年前的东西,未免太没有与时俱进精神了。于是在说服自己一切关于重装软件的麻烦和带来各种可能问题的疑虑后,决定动手干了。

好在当初装2003的时候是直接拷贝别人安装好的目录,只要删除整个目录就等于是卸载了。从公司服务器上找到了金山词霸2007的安装程序,直接运行安装,没费几下工夫就算安装完成。安装完了打开用了用,没什么问题,宣布升级成功。

我选择的是最小安装,占用硬盘200多不到300M。



很奇怪,“关于”里竟然没有授权许可信息,即便是CRACK版也应该有的,不是吗?

posted @ 2007-04-20 12:57 小葱蘸酱 阅读(217) | 评论 (0)编辑 收藏
DOXYGEN初体验

最近想看看WINVNC的源码,可是发觉系统相当庞大,类继承关系错综复杂、包装也严丝合缝,总之感觉就是无从下手。

于是想着要是有能够自动生成类继承关系之类东西的工具就可以使阅读过程容易一些,到网上一查,下了个DOXYGEN的WINDOWS平台安装程序。安装以后按照说明鼓捣了一番,发现把它生成的HTML文档用来辅助阅读代码还是很有用的。

刚才想放两个生成的HTML文件上来,不过不知道哪里没设置对,不能正常显示:(

posted @ 2007-04-18 17:10 小葱蘸酱 阅读(198) | 评论 (0)编辑 收藏
inline后LINK通不过

好久没来更新了,这里已是灰尘密布,都快进不来人了。这篇小札就当是扫灰吧。

最近要给程序增加一点新功能,经过大体的设计后,添加了一个类和该类的一个全局对象。然后就是加方法、调试测试,等弄的差不多了就放心地撂下了。

过了没两天,再打开准备进一步修改的时候,发现链接通不过了,提示有两个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的一个基本功能吗?

posted @ 2007-03-30 17:07 小葱蘸酱 阅读(574) | 评论 (0)编辑 收藏
竟然撞到了微软的BUG——使用ListCtrl响应ENTER击键

想实现一个在ListCtrl的某个ITEM上单击ENTER键而执行一些动作的功能。为此,最先想到添加NM_ENTER事件响应函数,但发现并没有执行相应的功能。设断点调试发现根本不能进入该响应函数。

又添加了LVN_KEYDOWN响应函数,现在可以响应很多击键,但是ENTER键还是不能响应,ESC键也不能。

尝试响应NM_DBLCLK,结果是可以的,证明大方向没错。

看了一些MSDN,还搜了CODE PROJECT,未果,陷入僵局。

还是搜MSDN,快要放弃的时候,看到了一则标题为“BUG: ESC/ENTER Keys Do Not Work When Editing CTreeCtrl Labels”的文章。

照样子拿过来,问题解决。


附上关键部分代码:

// 响应ENTER击键,执行相应功能
void  CMyFormView::OnLvnKeydownMyList(NMHDR  * pNMHDR, LRESULT  * pResult)
{
 LPNMLVKEYDOWN pLVKeyDow 
=  reinterpret_cast < LPNMLVKEYDOWN > (pNMHDR);
 
//  TODO: 在此添加控件通知处理程序代码
  if (pLVKeyDow -> wVKey  ==  VK_RETURN)  {
  POSITION pos 
=  m_list.GetFirstSelectedItemPosition();
  
if  (pos  !=  NULL)  {
   
// Execute the corresponding function
  }

 }

 
else   {
  
// 可以添加其他击键处理
 }

 
* pResult  =   0 ;
}


// BUG FIX
BOOL CMyFormView::PreTranslateMessage(MSG *  pMsg)
{
 
//  TODO: 在此添加专用代码和/或调用基类
  if  (pMsg -> message  ==  WM_KEYDOWN  &&
         pMsg
-> wParam  ==  VK_RETURN  ||  pMsg -> wParam  ==  VK_ESCAPE)  {
    m_list.SendMessage(WM_KEYDOWN, pMsg
-> wParam, pMsg -> lParam);
    
return  TRUE;
   }

      
//  CXxxx can be a CFormView, Cdialog, or CPropertyPage class.

 
return  CFormView::PreTranslateMessage(pMsg);
}


posted @ 2006-10-24 11:38 小葱蘸酱 阅读(794) | 评论 (0)编辑 收藏
[c++语言]goto语句中标记(labels)的使用

goto语句可以将程序控制转移到由“标记”所指定的地方,这是地球人都知道的。

关于标记的用法不太知道或没注意的地方:
1。标记不能单独出现,必须后跟一条语句;如果需要一个单独的标记(想不出有这种需要),则在标记后放一条空语句。
2。标记在它所在的函数内有效,不能重新定义。不同函数中可以使用同名标记。

reference:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vclang/html/_pluslang_Using_Labels_with_the_goto_Statement.htm

posted @ 2006-09-07 15:17 小葱蘸酱 阅读(1035) | 评论 (0)编辑 收藏
定时器处理函数TimerProc会不会重入?

我觉得不会。另外,我在编程中也似乎从来没考虑过重入的问题。

证明如下:

 1// testtimer.cpp : 定义控制台应用程序的入口点。
 2//
 3
 4#include "stdafx.h"
 5#include <windows.h>
 6#include <conio.h>
 7
 8static UINT idTimer = 0;
 9static int reentry = 0;
10static int call_cnt = 0;
11
12void 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}

24VOID 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}

37int _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

posted @ 2006-09-01 14:48 小葱蘸酱 阅读(1723) | 评论 (1)编辑 收藏
“阑”字的解释

酒阑人散,标题的命名标新立异,非常欣赏。只是不理解“阑”字怎么可以是这么个用法,于是马上找来常备的在线汉典,释义如此

到此才明白,原来我这么多年的理解全拧了,那个“蓦然回首,那人却在灯火阑珊处”,原来是忽明忽暗(主要还是暗)看不清楚的地方,我还一直以为是灯火通明的意思哪,汗呢~~

posted @ 2006-06-20 13:18 小葱蘸酱 阅读(246) | 评论 (0)编辑 收藏
CTreeCtrl::DeleteAllItems()的问题

在对话框中使用树控件,调用树控件的DeleteAllItems()后,再调用InsertItem()添加新项目,添加后不能显示新添加的内容。

codeproject上找到了关于这方面的讨论

解决方法如下:
m_tree.SetRedraw(FALSE);
//do erase and insert operation
m_tree.SetRedraw(TRUE);
m_tree.RedrawWindow();

posted @ 2006-06-16 11:26 小葱蘸酱 阅读(4275) | 评论 (7)编辑 收藏
Poll from codeproject

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?

OptionVotes% 
I'll be here in 5 years87874.28878 votes, 74.28%
I'm not sure17414.72174 votes, 14.72%
I'll no longer be in IT in 5 years776.5177 votes, 6.51%
I'm not in IT at the moment534.4853 votes, 4.48%
Total1182  100%

看来,除了意志坚定的大多数,还是有相当一部分(近六分之一)和我一样举棋不定的。另外还有一些人决定要离开了,不知道这些人有着怎样的归宿。

posted @ 2006-06-09 11:40 小葱蘸酱 阅读(165) | 评论 (0)编辑 收藏
仅列出标题
共3页: 1 2 3