re: 我個人比較受用的一些習慣 溪流 2010-05-18 12:36
嗯,受教了~
@airey
代碼在家里所以下午真的是忘了不是刻意隱瞞。
盡管這根本算不上什么技術難題,可是,本著學習軟件發布、運作過程的精神,我還是不想親口對潛在的競爭對手透露現行產品的具體實現細節。
如果沒有在這么一篇文章中,面臨一個不針對特定對象的問題,我會知無不言、言無不盡的。相信你能找到答案的。
@airey
忘了,應該就是GetModuleHandle吧。。
@Condor
只能說VS很黃很無恥,它會搜索所有進程的主窗口文字,如果發現“改鍵”等字樣就強行關閉之。開個帶“改鍵”標題的瀏覽器都會被VS關掉。
其實很多工具并不是所謂的“插件”。VS沒有權力認定用戶不能運行某些軟件。
re: 美帝出差最后一天 溪流 2010-05-07 17:24
C囧...這名字起的好!
@peter
你知道 TortoiseGit 里頭怎么指定絕對路徑不?
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 17:16
好像是
D3DXMATRIX projection;
D3DXMatrixPerspectiveFovLH(&projection, D3DX_PI / 2, (float)m_nWidth / (float)m_nHeight, 0, FLT_MAX);
的問題
倒數第二個參數改為正的就可以了。。。有人知道為什么嗎?
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 15:35
發現禁用z-buffer,然后保證從遠處往近處畫,這樣不會閃
為啥?
z-buffer這么不經用的嗎?看那些教材上的意思,好像都用的呀
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 13:31
@Bill Hsu
去掉了還是一樣會閃。。。
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 09:13
@Bill Hsu
我記得把alphablend關了也閃的。。。等下再試試看
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 09:12
@Davy.xu
哦,好的,多謝指教~~~
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-30 09:11
@besterChen
哥哥,這里哪來的DC啊,,麻煩回帖先看帖
re: 碩士論文致謝 溪流 2010-04-29 16:59
@溪流
哦。。。孫犁原來也是抄的古語
re: 碩士論文致謝 溪流 2010-04-29 16:57
好有才。。。第一句是哪篇課文里的?黃鸝?黃鶯?
re: D3D 求助,為啥畫面老是閃? 溪流 2010-04-29 16:48
@空明流轉
是慢在貼紋理的過程嗎?
申請棧內存的操作時 sub esp, xx
文中拿到的內存雖然也是在那個位置,但是 esp 未變化,這并不能算合法申請內存,而是在用不屬于自己的內存
我面臨的問題是,手工改容易出錯
如果要給出20國語言的原始PO,我可以做好一個,復制20份
之后如果每個都新增幾條語句拿去補翻,這工作就不好做了
@陳梓瀚(vczh)
可以理解,但很難接受啊
如果我原先一個程序就十M百M,多個2M也不算什么;如果原來只有100K不到,突然變成2M,就有點突兀了
@欲三更
WTL 嘗試過一次,用起來不是很爽。。。
@Bill Hsu
那你推薦一個好用的小的能靜態鏈接的最終程序體積不大的界面庫?
@young40
嗯?一個空的 C# 程序才 6.5KB 啊
re: 左值和右值 溪流 2010-04-13 14:22
l, r 的原始含義真的這樣啊?剛才同事跟我說我還不信呢。。。
re: VS2010英文正式版官方下載 溪流 2010-04-13 10:53
標題黨。。。
@欲三更
有什么費力的?都到讀寫文件的關口了,難道幾個字節你都不想弄清楚?
另,你喜歡寫成 fread(buf, sizeof(T), 1, stream) 呢,還是 fread(buf, 1, sizeof(T), stream) 呢?每次我都為這個問題糾結好久。
re: 在c++頭文件里定義數組的方法。 溪流 2010-04-08 17:38
__declspec(selectany)
re: 對 C++ 歷史的個人觀點 溪流 2010-04-07 10:55
C++ 1x 確定了?
re: 對 C++ 歷史的個人觀點 溪流 2010-04-07 10:35
搬凳子學習
@only
它是不是講如何利用什么handler去釋放內存之類的?
我的題設是內存申請失敗,而不是被new的那個對象的構造函數執行失敗。(我已經假設了被new的只是一個int)
我的困惑不是技術上如何保證沒有內存泄漏,而是——
要是我的構造函數有異常拋出,用戶該如何用這個類?我該不該讓構造函數拋出異常?
@欣萌
開發過程中當然可以調試,可是有很多場合不好調試,比如internal release的東西被測到奇怪的現象。。。即使開發過程中,也有不是很方便調試(不是說不可以)的東西,比如NTService
@陳梓瀚(vczh)
這構想挺好,有點寫了一部分C++編譯前端的感覺。。。不過公司里的項目,我還是不想把編譯過程復雜化,要是讓頭兒郁悶了我可就完了。以后在自己個人的東西上玩哈
@OwnWaterloo
Read 那一句我習慣第二段的。
不錯,是讀取二進制文件格式,文件格式應該已經知曉了。何謂知曉?就是知道它每一個字節是干啥的,所以精確到每個字節不帶來壞處。
假如有個文件頭(為討論方便,請忽略對齊問題)
struct T
{
BYTE sign[10];
DWORD headerSize;
。。。
}
你是寫成 read(buf, sizeof(T), 1, stream) 呢,還是寫成 read(buf, 1, sizeof(T), stream) 呢?還是覺得這個 1 是多余的?
按你說的最小設計原則,不用 elememtSize * count 的形式,直接精確到字節,現有的任務都可以完成。而搞成 elementSize * count 的形式,在挺大一部分的例子中,有個參數是多余的。那么,這個設計不是很失敗么?
第一點,我不覺得“字節流”與“二進制文件”有什么區別
第二點,要返回值檢測,不至于我連讀到哪兒了都不知道
不知道二樓的代碼有什么精妙之處,,請解釋下。。。。
T a[count];
if ( count != fread(a, sizeof a[0], count, stream) ) {
// error
}
這段完全可以寫成:
T a[count];
if ( bytes != fread(a, 1, (sizeof a[0]) * count, stream) ) {
// error
}
么,而且能夠知道到底讀了多少,半個T,1/4個T,都可以精確表示出來
@OwnWaterloo
那應該告訴我讀了 sizeof(T)/2 個字節,而不是告訴我讀了 0 個 T 啊
@OwnWaterloo
本來就是字節流嘛
“二進制格式存放的數據”,無非也就是多少個字節而已。
1個T就是 sizeof(T) 個 byte
@OwnWaterloo
看不來了,你解釋一下吧
我不要返回count,返回bytesRead就行了
@OwnWaterloo
T a[count];
if ( count != fread(a, sizeof a[0], count, stream) ) {
// error
}
T a[count];
ReadFile(hFile, a, sizeof(a), ...);
這樣多明確啊!
@OwnWaterloo
void * 也行
讀寫文件我應該知道要讀/寫多少字節吧?原先的第二個參數可以固定為1
@OwnWaterloo
不理解
我的意思是,fread應該這樣:
int fread(FILE *file, unsigned char *buffer, int bufferSize);
返回已讀取的字節數
哪里來的一個size加有一個count
@OwnWaterloo
下面的好。可是為什么上面的當初要那樣設計呢?
@OwnWaterloo
直接傳入需要讀取的字節數,傳出已成功讀取的字節數
@OwnWaterloo
我是說它參數里頭的 elementSize 和 count,應該合并成一個,沒必要分成兩個
@OwnWaterloo
我需要的的確是 Log。會有很多類似 XL_LOG(L"%s\n", L"Message."); 的東西,我想搞清楚哪些東西是在哪些函數里輸出的。
@陳梓瀚(vczh)
那我該期待別人怎么用我的class呢?
Open Source Initiative OSI - The MIT License:Licensing
The MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
還是這句話。。。