TextOutA函式與TextOutW函式

2021-09-10 13:10:31 字數 1733 閱讀 8263

這仍然是在學習字元編碼的時候引出來的。

原意是感覺字元編碼既然這麼普遍地存在,那麼作業系統又是如何做的呢?所以想到要除錯一下textouta函式,看看它輸出文字的時候是怎樣對付字元編碼問題的。最後的結果是:

textouta實際上是封裝了乙個另外的函式呼叫。textouta的流程大概是這個樣子:

bool textouta(

hdchdc,           // handle to dc

intnxstart,       // x-coordinate of starting position

intnystart,       // y-coordinate of starting position

lpctstrlpstring,  // character string

int cbstring       // number of characters

)  if(lpstring == null)

proc lpfunc = (proc) 0x77ef8e4e;

lpfunc(hdc, nxstart, nystart, 0, 0, lpstring, cbstring, 0, 1);

} 在上述偽**中的lpfunc中,又依次呼叫了gdigetcodepage函式和multibytetowidechar函式,然後呼叫了乙個位址(在我的電腦上是77ef664f)處的**,接下來是其它的工作,而textoutw則是直接呼叫了77ef664f位址處的**。

以上就是除錯好幾個小時的結論。實際上,這些東西都可以通過靜態分析看出來,那樣的話更簡單。這個結論到後來沒有任何意義了。但為幾個小時的除錯,還是暫且記下來。

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

這仍然是在學習字元編碼的時候引出來的。

原意是感覺字元編碼既然這麼普遍地存在,那麼作業系統又是如何做的呢?所以想到要除錯一下textouta函式,看看它輸出文字的時候是怎樣對付字元編碼問題的。最後的結果是:

textouta實際上是封裝了乙個另外的函式呼叫。textouta的流程大概是這個樣子:

bool textouta(

hdchdc,           // handle to dc

intnxstart,       // x-coordinate of starting position

intnystart,       // y-coordinate of starting position

lpctstrlpstring,  // character string

int cbstring       // number of characters

)  if(lpstring == null)

proc lpfunc = (proc) 0x77ef8e4e;

lpfunc(hdc, nxstart, nystart, 0, 0, lpstring, cbstring, 0, 1);

} 在上述偽**中的lpfunc中,又依次呼叫了gdigetcodepage函式和multibytetowidechar函式,然後呼叫了乙個位址(在我的電腦上是77ef664f)處的**,接下來是其它的工作,而textoutw則是直接呼叫了77ef664f位址處的**。

以上就是除錯好幾個小時的結論。實際上,這些東西都可以通過靜態分析看出來,那樣的話更簡單。這個結論到後來沒有任何意義了。但為幾個小時的除錯,還是暫且記下來。

PostgreSQL C風格函式TEXT優化

1.在c函式中不檢查引數是否為null,null引數檢查在create function sql中設定strict實現.2.當用pg getarg xx獲取引數後,根據需要檢查引數值是否有效.3.如不能編譯是因為缺少標頭檔案,自己新增缺失的標頭檔案即可.4.postgresql分配和釋放記憶體使用p...

sql常用函式之日期 text函式

日期函式常用來操作datetime和smalldatetime型別的資料 1 day day函式返回date expression 中的日期值。例 select day 2004 10 15 返回 15 2 month month函式返回date expression中的月份值。例 select m...

python服務返回text與json

dumps和loads方法,來自json模組,而json模組是python中的,可以直接匯入 import json 而jsonify是flask封裝的擴充套件包 from flask import jsonify dumps 和loads json.dumps 把字典轉成json字串,json.l...