最近跟乙個同事討論乙個讀取bmp顯示的問題時,他提出想用彙編進行優化。於是我就寫了個例子嘗試了一下,**如下:
#include
#include
using namespace std;
#define source_len 400000
#define dest_len 800000
int main()
delete pbuff;
delete pdest;
return 0;
} 這個是顯示的測試**. 直接寫點,主要是測試**是否正確,沒有考慮效率問題.
for (int i = 0; i < m_iheight; i++)
}這個內聯彙編實現了把bmp的24位格式轉換為可在directdraw下使用的32位rgba格式.
寫完之後,發現與用c寫出的**相比,效率並無提高.以前就聽說編譯器優化是如何強勁,
現在是領教了哦.
其中有一些值得關注的問題,
1. bmp檔案中顏色資料是以bgr的方式儲存的,需要進行轉換.
2. 要記得儲存使用的暫存器.雖然vc inline assemble 不要求儲存暫存器,但是還是要有這個意識才可以哦.
3. 檔案每行要4位元組對齊,所以必須計算pitch,而不能通過每次累加3來確定每行邊界.
記一次完全不成功的參賽
安恆資訊培訓群裡看到的比賽,於是想著報名參加一下,至少知道一下自己的不足之處,於是乎發現了自己全是不足,先寫個文紀念一下這次的慘痛經歷 說慘痛實在是不為過,一共就寫出來一道crypto的簽到題。太菜了 crypto簽到 凱撒密碼,摩斯密碼,柵欄密碼 柵欄密碼還有個變種,籬笆密碼,就是按w形寫明文 m...
記錄一次不成功的換手機螢幕經歷。
在動手之前我心中已明白的是 1,手機屏習慣分內外屏。其實是有三層結構的。如果觸控可用,就只用換最外的保護玻璃。如果觸控不可用但顯示好,就要換觸控與外保護玻璃。觸控是一張有機膜。2,明白如果帶介面的就在拆機。3,網上店家的教程裡有個小坑。出錯的地方。1,拆機時出問題,首先拆下了後蓋時沒出錯,這是因為這...
並不成功的開始
我所讀的學校是中國西部的一所普通高校。我進大學後也和大多數同學一樣,過著60分萬歲的日子,除了對程式設計比較感興趣外。呵呵,好多室友都說我外表女人,內心卻男人 喜歡寫程式,喜歡和男生打星際,喜歡打cs選土匪,拿ak47 四年的大學生活淘進了我剛進校時的傲氣與自尊,在梔子花開的季節,我面對的卻是無法把...