@violin
如果用DLL或LIB的話,注意傳入UNICODE字符串就可以了。
如果要源代碼方式重用的話,不知道改動大不大。
支持多文件
@OwnWaterloo
我覺得我的需求有點既要“被中止”又要“主動中止”的意思。。。事實上好像免不了在任務函數里插入檢測語句或者如上面說的標記點。。。算了,,,應該就差不多那樣子了。
另外,我突然覺得。一個“好”的程序,不,一個正確的程序。里面除了 WaitForSingleOnject(..., 0) 和 WaitForSingleOnject(..., INFINATE) 之外,是不應該出現 WaitForSingleOnject(..., 其他數值) 的,就像不應該出現 TerminateThread 一樣。這看法合理否?
@SOS
嗯,我有處理的,目錄的話 zipOpenNewFileInZip 里那個 ZIP中的文件名加一個“/”,然后不要添加數據直接zipCloseFileInZip就可以了
@SOS
那就 zipOpenNewFileInZip,然后直接 zipCloseFileInZip,不要寫數據了
我記得處理過的,等下檢查下
@yrj
所以最后還是需要類似我開頭寫的那樣子,是嗎?
@OwnWaterloo
好像有點矛盾的感覺。。。
但是,安全的退出點我覺得是必須的。比如我在寫文件,過程雖然中斷了但是我必須保證已寫部分是符合格式的,還可能要寫點結尾性質的數據;又比如我在更改一系列具有關聯的狀態數據,我必須保證這些數據的一致性,不能隨便找個點退出;。。。是不是?
我想了解對于此類函數你們大家都是怎樣寫的?是否也跟我一樣隔段代碼檢測一下隔段步驟再檢測一下?
@放屁阿狗
不錯。那么是不是只能像我一開始舉例的那樣子寫任務代碼呢?任務代碼里要充斥著退出條件檢測?
@OwnWaterloo
還是同樣的問題啊,在執行 ctx.Eip = (DWORD)cancel; 的時候,原始的代碼執行到哪一步了呢?當下是否適合跳到別處呢?
@天堂的隔壁
@yrj
我發這篇文章,說這么多,就是為了不使用暴力手段。不然怎么知道線程究竟在哪兒被結束的?只有天知道了
re: 再次批判 裘宗燕 溪流 2011-05-20 00:27
@Martin
這個解釋我看過,雖然作者是經過深思熟慮的;可是拋開已有的約定成俗的翻譯,去造一個生僻詞,個人并不怎么認同。
另外,LZ沒有對裘老師做任何人身攻擊,只是客觀的闡述他的看法而已,用“批判”并無任何不尊敬之處。何況,學術交流、學術批判,本來就該在平等的基礎之上進行的,尊敬了反而不好。只要不帶惡意人身攻擊,任何質疑、批判,偶覺得都是可行的。不然就得這樣說話了:
裘老師在書里把 inline 翻譯成了‘在線’了。作為一個著名譯者,應該不會犯這樣的低級錯誤的,一定是他有他的想法。可是我學識淺薄,有點不理解裘老師的用意,弱弱地覺得還是按照大眾譯法說成‘內聯’好一些。不知道是不是?
別扭不?
@風聲邊界
當作普通文件處理,ZIP格式保證了其中可以含有ZIP文件。
編譯示例代碼,運行 ZLibWrapTest.exe 測試看看?我試過好像沒問題。
re: GUI庫分塊 溪流 2011-05-09 07:57
@陳梓瀚(vczh)
那也該有自己的虛擬控件管理體系嘛
re: 生成隨機數的一段代碼 溪流 2011-05-08 21:49
@釀妹汁
當然要較真,因為LZ較真了。現在LZ不較真了,于是我們也可以不較真。這就是態度。
re: GUI庫設計前奏 溪流 2011-05-06 23:10
@陳梓瀚(vczh)
你到處推銷codeplex啊~
re: GUI庫分塊 溪流 2011-05-06 23:08
LZ考慮的好像都是些外圍的東西。
那些內在的消息處理等等,處理起來并不輕松的樣子。要很細致入微、精巧才行。
嚴格的說,LZ想做的不是GUI庫,是GUI上層庫了。
@裝配腦袋
遇到了SVN,我就不再碰CVS了;遇到了GIT,一段時間后我又回到了SVN。。。
@陳梓瀚(vczh)
可以知道啊,即便是C#工程,花一點點時間了解下試驗下,就可以了呀
不用VS插件,只用資源管理器插件,不就沒事了么。。
@天下
哎,,我說的不是學術上的,而是工程上的。
學術上倒是可以假定某個操作是原子的,就可以了;假定實時性“不高”也可以。。。
@天下
這不是能被說成“實時性高不高”的,只有兩種情形:1、需要線程安全;2、不需要線程安全。不存在兩者之間的模糊界限,否則,即使是你認為的是實行不高的場景,在用戶那里一定會出現你預料之外的情況。
@天下
還是不可以。
1、如果GetData是從數據庫或者文件獲取,那么線程安全的責任被轉嫁到了相關的IO層面;如果是放在內存中,那么這里你還是需要解決線程安全問題。
2、你的 IsModified 變量的改變,也不具有原子性。當數據源更新后,可能在你試圖將 IsModified 改為 True 的同時,線程 A 已經讀到了舊的 False 值。
其實,特征很好找,保證線程安全必須有具備原子操作特征的玩意兒出現,如 Windows 下的 CriticalSection、InterlockedIncrement 等等;如果沒有,你就沒法保證。
re: 一個簡單的 Tuple 實現 溪流 2011-04-29 10:22
@陳梓瀚(vczh)
這樣子啊,,我原先也嫌多,打算幾個幾個小范圍合并來著。。。合并成一個。。。。。我想想。。。。
@陳梓瀚(vczh)
Exchange通訊錄里木有等級。。。
re: 一個簡單的 Tuple 實現 溪流 2011-04-28 23:49
@ccsdu2009
哎,目前好像只能這樣了。期待不定模版參數。。
re: C++著名程序庫的比較和學習經驗 溪流 2011-04-28 23:45
很豐富,多謝提供,以后一個一個慢慢學
@陳梓瀚(vczh)
問題是我想回的時候,總不能一個一個查他們的資料吧?那樣就太累了。。。下午那人至少比我高四個級別。。。
@foxtail
哥今天也碰了個壁很郁悶。公司里某人群發郵件說造了 json 的輪子,偶很興奮,表示支持的同時,看他們的宣傳點除了性能還是性能,于是多說了幾句提了下不要只關注性能考慮點易用性等等。結果沒想到那個人是個很高級別的家伙,針對我的意見一一表示已經做到或已經在考慮了,最后再加一句“把文章看完是一件很重要的事情”。NND,不爽。
@oo
NULL 檢查還是有點意義的吧,這是唯一能檢查的值,其他情況就讓用戶自生自滅吧,檢查了 NULL 就表示告訴用戶我盡力了。。。
拋異常我也覺得不妥,這里沒必要引入異常體系
re: Win32 RPC 編程(一) 溪流 2011-04-27 09:28
@liweihua
/LIBPATH:"X:\xxx\xxx"
re: 標準C++的一些約定 溪流 2011-04-24 21:24
@C小加
嗯?你要表達什么意思?和C++0x有何關系?
re: 博客遷移 溪流 2011-04-24 21:19
獨立博客雖然自在些,但博客還是需要交流的,獨立博客很難有一個相對穩定的圈子。看了博主的幾篇文章,覺得博主是個樂于分享的人,希望不要過于淡出CppBlog,期待能有更多的碰撞和交流~
@Kenny Jiang
正因為壓棧是主調函數做的,所以,如果存在你說的“編譯器不同導致‘棧不同’”的問題,出棧工作不是應該同樣由主調函數承擔才不至于出問題嗎?所以從這一點上說,__cdecl 顯得更合理。
其他的,是否語言間能互相識別,只要遵循同樣的調用約定就可以了,不存在某種調用約定的特殊優勢。
@Kenny Jiang
你可以仔細看看我的回復以及樓上,我覺得你理解的有問題
re: 標準C++的一些約定 溪流 2011-04-19 23:01
1、最新 C++ 標準是 C++03 吧?
4、引號的搜索路徑中我記得是當前目錄找不到就找include目錄,這是標準吧?
@Kenny Jiang
這怎么說?壓棧工作難道不是主調函數做的?
其實,從設計角度上說,還是覺得__cdecl 合理些,誰創建誰銷毀
re: WinInet編程中如何使用異步 溪流 2011-04-18 12:37
@4321
僅僅WinCE下InternetReadFileEx未實現而已
re: 移居北京 溪流 2011-04-12 15:58
@陳梓瀚(vczh)
呃,好吧,轉調。
期待成品啊。
再加上MIDI導入導出吧,嘿嘿。
re: 移居北京 溪流 2011-04-11 22:35
@千暮(zblc)
太復雜了啊,搞個編輯器生成譜子的腳本,再搞個渲染器生成圖片,支持簡譜、五線譜,支持各種變調,就已經很強大了
re: 移居北京 溪流 2011-04-11 22:23
打算搞個語法來定義音符和各種記號嗎?