2008年2月14日 星期四
年紀大,才明瞭
前陣子跟國中同學聯絡,發現他在美國過的生活似乎苦悶?!是種族是經濟,但最後我發現,其實也有非常多快樂的回憶,只是隨著年紀,漸漸在部落格上著落的,都是比較悲苦的印象,除此之外,寒假跟國小同學閒逛,才發現原來每年都有舉辦國小同學會,這個東西,第一的印象是國小五年級,有印象三、四年級的同學也曾在我五、六年級時舉辦過,但我沒參加,這次輾轉得到聚會的照片,看到老師那張臉,儘管頭髮白了不少,但那個表情依舊專屬於他!很深刻的回憶。
最近的自己也有點悶,唸了研究所,雖然畢業感覺不成問題,但我還是不斷地自己要求,總覺得沒做出什麼東西,就是非常浪費時間,因為自己已延畢一年。
我想,這陣子開始規劃點東西,讓生活達點平衡,順便記錄過去的點滴。
2008年1月29日 星期二
悶悶的氣氛
似乎是期末時候忙得不可開交,現在悠閒起來,看了一齣韓劇「咖啡王子1號店」,看完後反而自省著自己的生活,似乎沒有真的很有朝氣地去完成一件事!大概是這個關係,開始悶悶的。
真是奇怪的心情啊,但說真的,我還滿喜歡這部戲,雖然一開始只是很好奇,在想咖啡的戲是如何蔓延,看到最後才知道是男女三角的故事,但我還是很欣賞劇中的恩燦,那麼有活力、自然。
希望自己也能夠如此地面對生活
2008年1月23日 星期三
錄音程式 Audacity
http://audacity.sourceforge.net/
The Free, Cross-Platform Sound Editor
Audacity is free, open source software for recording and editing sounds.
It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other
operating systems. Learn more about Audacity... Also check our Wiki and
Forum for more information.
The latest release of Audacity is 1.3.4 (beta). Because it is a work in
progress and does not yet come with complete documentation or translations
into foreign languages, it is recommended for more advanced users. See New
Features in 1.3 for more information about the 1.3.x beta series.
For all users, Audacity 1.2.6 is a stable release, complete and fully
documented. You can have both Audacity 1.2.6 and 1.3.3 installed
simultaneously.
--
可下載相關 dll 檔 即可匯出成 mp3 啦
2008年1月16日 星期三
[C#] 跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立控制項的執行緒不同
.NET 2005 的 Thread 比較嚴格 不能隨意存取其他 Thread 的資料
看網路上找到的資料聽說 .NET 2003 是 ok 的
其錯誤訊息:
跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立
控制項的執行緒不同。
至於用來解決的方式有 BackgroundWorker 等相關技術
但由於我的目的是要變動 winform 裡頭的東西 不太ok
最後摸到一個方法:
http://www.purecs.net/thread/topic736_1.aspx
簡敘:
Step 1:
在 form 中請多添加以下這個 member
private delegate void InvokeUpdateState(string state); // 依需求
Step 2:
要透過 Thread 做動作的東西
如 event handler 會 call 到的那支 function
對那支 function 做一些調整
ex:
private void show( string k ){
if( this.form元件.InvokeRequired ){
this.Invoke(
new InvokeUpdateState(this.show) , new object[]{k}
);
}else{ // 原先寫好動作的部分
}
}
這樣就沒啥問題了
2008年1月7日 星期一
六招 gdb
我到現在還只會用 printf 真弱啊 XD 但這招陪伴我解決了大大小小的作業
雖然 OS 作業有做過 gdb kernel 但其實我不太會去改 kernel 就又忘光了
今天看 Kudo 稍微操作 還不賴
亦回想起嵌入式課程的介紹 有些呼應 越來越懂 gdb 的精神了
記一些簡單的指令就夠用一輩子了
1.# gcc -g test.c 這應該是加入 debug 資訊
2.# gdb a.out 出錯時就可以用了
3.(gdb) run 就給它 run 到出錯處
4.(gdb) br linenum 就是設中斷點
5.(gdb) display xx 顯示 xx 變數之值
6.(gdb) n 往下執行
這六招就很夠用了哩!!
以前都沒用過 -g 而修課時又很恍神 今天看大神用才終於融會貫通啊
簡單地說 就是先按 run 會跑到出錯的地方 因為有 debug 資訊
所以會顯示在第幾行出錯 此時就可以設中斷點 除此之外還可以設定要顯示的變數
接下來再 run 一次 就是重跑囉 就會停在中斷點 就可以看到資訊啦