Develop/5
をテンプレートにして作成
Land.to
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* インライン関数展開 [#gebded62]
-ページ: [[Develop]]
-投稿者: [[novice]]
-優先順位: 低
-状態: 提案
-カテゴリー: 覚え書き
-投稿日: 2012-02-04 (土) 16:23:45
-バージョン:
** メッセージ [#k8b0949a]
インライン関数の展開で同じコードが生成されると思ったが同...
CDlgAbout.cpp, m_hWndに直接アクセスする場合
m_hWnd(DWORD PTR [ecx+12])をそのままpushしている。
#code(c){{
; 257 : }
; 258 : return CDialog::OnBnClicked( wID );
jmp ?OnBnClicked@CDialog@@UAEHH@Z ; CDialog::OnBnClicked
$LN1@OnBnClicke:
push ebx
push esi
push edi
; 249 : case IDC_BUTTON_COPY:
; 250 : {
; 251 : HWND hwndEditVer = GetDlgItem( m_hWnd, IDC_ED...
push 1126 ; 00000466H
push DWORD PTR [ecx+12]
call DWORD PTR __imp__GetDlgItem@8
; 252 : ::SendMessage( hwndEditVer, EM_SETSEL, 0, -1 );
mov esi, DWORD PTR __imp__SendMessageA@16
push -1
push 0
mov ebx, 177 ; 000000b1H
mov edi, eax
push ebx
push edi
call esi
}}
CDlgAbout.cpp, GetHwnd()関数経由でアクセスする場合
eaxレジスタにm_hWnd(DWORD PTR [ecx+12])を代入してからpush...
#code(c){{
; 257 : }
; 258 : return CDialog::OnBnClicked( wID );
jmp ?OnBnClicked@CDialog@@UAEHH@Z ; CDialog::OnBnClicked
$LN1@OnBnClicke:
; 249 : case IDC_BUTTON_COPY:
; 250 : {
; 251 : HWND hwndEditVer = GetDlgItem( GetHwnd(), IDC...
mov eax, DWORD PTR [ecx+12]
push ebx
push esi
push edi
push 1126 ; 00000466H
push eax
call DWORD PTR __imp__GetDlgItem@8
; 252 : ::SendMessage( hwndEditVer, EM_SETSEL, 0, -1 );
mov esi, DWORD PTR __imp__SendMessageA@16
push -1
push 0
mov ebx, 177 ; 000000b1H
mov edi, eax
push ebx
push edi
call esi
}}
----
#comment
#attach
終了行:
* インライン関数展開 [#gebded62]
-ページ: [[Develop]]
-投稿者: [[novice]]
-優先順位: 低
-状態: 提案
-カテゴリー: 覚え書き
-投稿日: 2012-02-04 (土) 16:23:45
-バージョン:
** メッセージ [#k8b0949a]
インライン関数の展開で同じコードが生成されると思ったが同...
CDlgAbout.cpp, m_hWndに直接アクセスする場合
m_hWnd(DWORD PTR [ecx+12])をそのままpushしている。
#code(c){{
; 257 : }
; 258 : return CDialog::OnBnClicked( wID );
jmp ?OnBnClicked@CDialog@@UAEHH@Z ; CDialog::OnBnClicked
$LN1@OnBnClicke:
push ebx
push esi
push edi
; 249 : case IDC_BUTTON_COPY:
; 250 : {
; 251 : HWND hwndEditVer = GetDlgItem( m_hWnd, IDC_ED...
push 1126 ; 00000466H
push DWORD PTR [ecx+12]
call DWORD PTR __imp__GetDlgItem@8
; 252 : ::SendMessage( hwndEditVer, EM_SETSEL, 0, -1 );
mov esi, DWORD PTR __imp__SendMessageA@16
push -1
push 0
mov ebx, 177 ; 000000b1H
mov edi, eax
push ebx
push edi
call esi
}}
CDlgAbout.cpp, GetHwnd()関数経由でアクセスする場合
eaxレジスタにm_hWnd(DWORD PTR [ecx+12])を代入してからpush...
#code(c){{
; 257 : }
; 258 : return CDialog::OnBnClicked( wID );
jmp ?OnBnClicked@CDialog@@UAEHH@Z ; CDialog::OnBnClicked
$LN1@OnBnClicke:
; 249 : case IDC_BUTTON_COPY:
; 250 : {
; 251 : HWND hwndEditVer = GetDlgItem( GetHwnd(), IDC...
mov eax, DWORD PTR [ecx+12]
push ebx
push esi
push edi
push 1126 ; 00000466H
push eax
call DWORD PTR __imp__GetDlgItem@8
; 252 : ::SendMessage( hwndEditVer, EM_SETSEL, 0, -1 );
mov esi, DWORD PTR __imp__SendMessageA@16
push -1
push 0
mov ebx, 177 ; 000000b1H
mov edi, eax
push ebx
push edi
call esi
}}
----
#comment
#attach
ページ名: