2011年4月30日 星期六

宅男不出門 就能修電腦 TeamViewer

http://www.teamviewer.com/
這東西蠻有趣的
是讓多台電腦遠端共用桌面

在我工作上的用途是拿來做remote debug.....
那時人在美國
有個同事寫了很實用的工具分享
但我的電腦上卻有點問題 沒法使用
於是就安裝了這個玩意

它跑起來後就會有個號碼出來
只要告訴別人這個號碼
電腦就可以被別人遙控了
你就會看著你的畫面上的滑鼠因為遠方的人而動來動去的

優點
1. free
2. 跟windows的遠端桌面不一樣的是 別人連上你的電腦時 你還是看得到畫面 兩個人還可以搶滑鼠呢
3. 只要告訴別人軟體上顯示的號碼 不用再ip了 省卻不少找ip的麻煩

2011年4月23日 星期六

static variables/functions in C/C++

面試工作時常常被問到這樣子的問題
static變數/函式在C/C++的意義

先從C說起
倘若static出現在global function/variable的前頭
代表著是這個function/variable的scope只限於當下定義的檔案中
也就是說雖然是global function/variable
在compile的過程中別的檔案裡的code即使用extern的方式宣告想要使用它
也是不行的

另外比較常見的function內宣告的static variable
function內的static variable較local variable有永久存在的特性
一般而言local variable存在於stack中
隨著function call而起 隨著return而終
但是static variable則是存於data segment的BSS中 (Data Segment@wiki)
擁有完整的程式執行生命周期


再來就是C++的部份
如果跟class無關的static 就跟C一樣的
但是如果是出現在class中 就比較特別了
static member variable蠻像C裡頭function內的static variable
是該class的每個objects可以共享的資訊
static member function則是可以用來修改static member variable的function
在static member function裡不可以用this來access object-dependent information.

大概就是這樣.