2009年5月26日 星期二

[轉貼]Vista 輸入法語言列消失修複方法

在網路上發現很多人遇到語言列平白無故就消失的案例,
大部分人所提供的解決辦法是進入控制台 → 變更顯示語言 → 變更鍵盤 中的語言列標籤,
將語言列從隱藏勾選成固定在工作列;但是這個辦法並沒有解決我的問題。

2009年4月29日 星期三

error LNK2019的解決一例

在編譯W32的DLL的程式時,意外的出現error LNK2019: 無法解析的外部符號 "public: int __thiscall WavFile::FreeWaveData(struct WaveDataArray *)這一類的錯誤訊息,百般檢查程式的確是沒有錯誤的地方啊~~後來去爬了一下,有人提到VC++對於template的編輯支援的問題,由此template的程式必須要編譯二次,VC++似乎沒有支援,於是我將原本來.CPP檔中的程式主體搬到.H檔案中,放至宣告後面,這個問題就解決了。

2009年4月24日 星期五

[C++ ][原創]使用new動態配置二維陣列

在以往C++語言的環境下,一般想要動態的配置一個二維的陣列,必須先配置出一個一維陣列的指標,再將每一小塊的陣列配給那個指標。

int** a = new int*[b];
for (int i=0;i++)
a[i] = new int[10];






for (int i=0;i++)
delete[] a[i];
delete[] a;

但是這樣的配置記憶體是不連續的,而且要刪除時也很麻煩,必須先把每一欄的記憶體刪除,在去刪除指標陣列,現在有個方法可以直接使用new來完成一次配置,當然,也可以一次把記憶體刪除,且記憶體是連續的方便管理。
int (*a)[10] = new int[b][10];

delete[] a;
根據C與C++的規範,宣告成空陣列時,Column一定要有值,也就是說必須讓編輯器知道要多大的記憶體塊,好讓你可以runtime的去配置記憶體,所以就可以宣告成指向固定記憶體塊{(*int)[10]}的指標,再用new去配置那塊記憶體即可,a這個值就會是一個二維陣列的位置,且可以動態的被配置出來,且刪除時也較方便。

2008年12月25日 星期四

絕對的權力使人絕對的腐化,那是因為你沒要求他盡到絕對的義務~~

隨著組織規模越來越旁大,組織的首腦會逐漸地將權力下放至各個管理階層,這是自然而然形成的現象,因為良好的管理品質必須維持管理者與管理人的一定比例;隨著時間過去,那些權力的擁有者似乎逐漸忘記當初權力下放的原因與目的,於是濫用權力的情況發生,當初獲得授權所享有的權力沒有對應到應盡的義務,所以公平的天秤失衡了,自然就會造成天怒民怨,自然組織也就跟著衰退,最後可能就會消失殆盡也不一定。

2008年12月22日 星期一

人越大就越複雜,其實複雜的是你的心.........

每個人的成長過程,從簡單的東西開始學習複雜的事,喝奶、吃粥、吃飯一路進步著,爬行、走路、跑步一直進步著,隨著會的東西越來越多,心境也越來越複雜,憤怒、說謊、嫉妒、畏縮一直複雜變多,但是回歸到原點,其實你的需求一直都是沒變的,變得複雜的只有你的心,放下包袱的那一刻起,你會發現其實一點都不複雜,而且什麼事都可以解決。