導航:首頁 > 軟體知識 > cc怎麼調用程序

cc怎麼調用程序

發布時間:2024-06-06 22:42:02

⑴ C璇璦鍑芥暟璋冪敤鏂瑰紡鐨勫尯鍒


閫氬父鍦ㄤ嬌鐢╒C榪涜屽嚱鏁板畾涔夋椂浼氭寚瀹氳ュ嚱鏁拌皟鐢ㄦ柟寮忥紝璇稿傦細
int __stdcall max錛坕nt a, int b錛
{
return ab?a:b;
}
int __cdecl min錛坕nt a, int b錛
{
return ab?a:b;
}
bool __fastcall equal錛坕nt a, int b錛
{
return a=b?true:false;
}
棣栧厛錛岃╂垜浠鏉ュ垎涓綾伙紝璋冪敤鏂規硶鍒嗕負涓ゅぇ綾誨彟鍔犱竴涓杈冪壒孌婄殑__thiscall.
絎涓綾伙細__stdcall綾 鍒鍚嶏細WINAPI,CALLBACK,PASCAL銆傝ョ被鐗圭偣鏄錛氫富璋冨嚱鏁拌礋璐e弬鏁板叆鏍堬紝鐢卞嚱鏁版湰韜璐熻矗鏍堢殑鎮㈠嶃
絎浜岀被錛歘_cdecl綾 鍒鍚嶏細C/C++涓榛樿よ皟鐢ㄦ柟寮忥紝鑻ヤ綘瀹氫箟鍑芥暟鏈鎸囧畾鍑芥暟璋冪敤綰﹀畾錛圕alling Conventions錛夛紝渚嬪傚湪VC6涓涓嬮潰涓や釜鍑芥暟鐨勮皟鐢ㄧ害瀹氭槸絳変環鐨勶細
int max錛坕nt a, int b錛
{
return ab?a:b;
}
int __cdecl min錛坕nt a, int b錛
{
return ab?a:b;
}
璇ョ被璋冪敤綰﹀畾鐨勭壒鐐規槸錛氱敱涓昏皟鍑芥暟璐熻矗鍙傛暟鍏ユ爤錛屽苟鐢變富璋冨嚱鏁拌礋璐g嚎鐨勬仮澶嶃
絎涓夌被錛歘_thiscall 璇ョ被姣旇緝鐗規畩錛屽彧鐢ㄤ簬綾繪垚鍛樺嚱鏁拌皟鐢錛屼綘鐢氳嚦涓嶈兘寮哄埗鎸囧畾榪欎釜鍑芥暟璋冪敤綰﹀畾銆傚畠鏄鐢盋/C++緙栬瘧鍣ㄨ嚜鍔ㄦ坊鍔犵殑銆傚湪C/C++涓綾繪垚鍛樺嚱鏁頒細榛樿や紶鍏ヤ竴涓猼his鎸囬拡錛屽逛簬姝わ紝鍦ㄩ粯鍏ユ儏鍐典笅錛孋/C++涓綾繪垚鍛樺嚱鏁伴氳繃姝ょ被璋冪敤綰﹀畾鏉ユ寚瀹歵his鎸囬拡銆
鎺ョ潃浠嬬粛涓涓媉_thiscall錛宊_thiscall鏄鍏充簬綾葷殑涓縐嶈皟鐢ㄦ柟寮忋
瀹冧笌鍏朵粬璋冪敤鏂瑰紡鐨勬渶澶у尯鍒鏄錛
__thiscall瀵規瘡涓鍑芥暟閮藉炲姞浜嗕竴涓綾繪寚閽堝弬鏁
class aa
{
void bb錛坕nt cc錛夛紱
};
瀹為檯涓奲b鐨勫嚱鏁板師褰㈡槸void bb錛坅a this, int cc錛夛紱
__cdecl鐨勮皟鐢ㄦ柟寮忎粙緇嶏細 C鍜孋++緙虹渷璋冪敤鏂瑰紡
渚嬪瓙錛
void Input錛 int m,int n錛夛紱/*鐩稿綋浜巚oid __cdecl Input錛坕nt m,int n錛夛紱*/
浠ヤ笅鏄鐩稿簲鐨勬眹緙栦唬鐮侊細
00401068 lea eax,[ebp-8] ;鍙朳ebp-8]鍦板潃錛坋bp-8錛夛紝瀛樺埌eax
0040106B push eax ;鐒跺悗鍘嬫爤
0040106C lea ecx,[ebp-4] ;鍙朳ebp-4]鍦板潃錛坋bp-4錛夛紝瀛樺埌ecx
0040106F push ecx ;鐒跺悗鍘嬫爤
00401070 call @ILT+5錛圛nput錛 錛0040100a錛夛紱鐒跺悗璋冪敤Input鍑芥暟
00401075 add esp,8 ;鎮㈠嶆爤
浠庝互涓婅皟鐢↖nput鍑芥暟鐨勮繃紼嬪彲浠ョ湅鍑猴細鍦ㄨ皟鐢ㄦゅ嚱鏁頒箣鍓嶏紝棣栧厛鍘嬫爤ebp-8,鐒跺悗鍘嬫爤ebp-4,鐒跺悗璋冪敤鍑芥暟Input,鏈鍚嶪nput鍑芥暟璋冪敤緇撴潫鍚庯紝鍒╃敤esp+8鎮㈠嶆爤銆傜敱姝ゅ彲瑙侊紝鍦–璇璦璋冪敤涓榛樿ょ殑鍑芥暟淇楗癬cdecl錛岀敱涓昏皟鐢ㄥ嚱鏁拌繘琛屽弬鏁板帇鏍堝苟涓旀仮澶嶅爢鏍堛
涓嬮潰鐪嬩竴涓嬶細鍦板潃ebp-8鍜宔bp-4鏄浠涔堬紵 鍦╒C鐨刅IEW-debug windows-Registers,鏄劇ず瀵勫瓨鍣ㄥ彉閲忓礆紝鐒跺悗鍦ㄩ塪ebug windows-Memory,杈撳叆ebp-8鐨勫煎拰ebp-4鐨勫礆紙鎴栫洿鎺ヨ緭鍏ebp-8鍜-4錛夛紝鐪嬩竴涓嬭繖涓や釜鍦板潃瀹為檯瀛樺偍鐨勬槸浠涔堝礆紝瀹為檯涓婃槸鍙橀噺"n "鐨勫湴鍧錛坋bp-8錛夛紝m鐨勫湴鍧錛坋bp-4錛夈
鐢辨ゅ彲浠ョ湅鍑猴細鍦ㄤ富璋冪敤鍑芥暟涓榪涜屽疄鍙傜殑鍘嬫爤騫朵笖欏哄簭鏄浠庡彸鍒板乏銆傚彟澶栵紝鐢變簬瀹炲弬鏄鐩稿簲鐨勫彉閲忕殑寮曠敤錛屼篃璇佹槑瀹為檯涓婂紩鐢ㄤ紶閫掔殑鏄鍙橀噺鐨勫湴鍧錛堢被浼兼寚閽堬級銆
鎬葷粨錛氬湪C鎴朇++璇璦璋冪敤涓榛樿ょ殑鍑芥暟淇楗癬cdecl錛岀敱涓昏皟鐢ㄥ嚱鏁拌繘琛屽弬鏁板帇鏍堝苟涓旀仮澶嶅爢鏍堬紝瀹炲弬鐨勫帇鏍堥『搴忔槸浠庡彸鍒板乏錛屾渶鍚庣敱涓昏皟鍑芥暟榪涜屽爢鏍堟仮澶嶃傜敱浜庝富璋冪敤鍑芥暟綆$悊鍫嗘爤錛屾墍浠ュ彲浠ュ疄鐜板彉鍙傚嚱鏁般傚彟澶栵紝鍛藉悕淇楗版柟娉曟槸鍦ㄥ嚱鏁板墠鍔犱竴涓涓嬪垝 綰匡紙_錛夈
_stdcall璋冪敤綰﹀畾浠嬬粛錛氬疄闄呬笂灝辨槸PASCAL錛孋ALLBACK,WINAPI
渚嬪瓙錛
void WINAPI Input錛 int m,int n錛夛紱
鐪嬩竴涓嬬浉搴旇皟鐢ㄧ殑奼囩紪浠g爜錛
00401068 lea eax,[ebp-8]
0040106B push eax
0040106C lea ecx,[ebp-4]
0040106F push ecx
00401070 call @ILT+5錛圛nput錛 錛0040100a錛
浠庝互涓婅皟鐢↖nput鍑芥暟鐨勮繃紼嬪彲浠ョ湅鍑猴細鍦ㄨ皟鐢ㄦゅ嚱鏁頒箣鍓嶏紝棣栧厛鍘嬫爤ebp-8,鐒跺悗鍘嬫爤ebp-4,鐒跺悗璋冪敤鍑芥暟Input,鍦ㄨ皟鐢ㄥ嚱鏁癐nput涔嬪悗錛屾病鏈夌浉搴旂殑鍫嗘爤鎮㈠嶅伐浣滐紙涓哄叾瀹冪殑鍑芥暟璋冪敤錛屾墍浠ユ垜娌℃湁鍒楀嚭錛変笅闈㈠啀鍒楀嚭Input鍑芥暟鏈韜鐨勬眹緙栦唬鐮侊細錛堝疄闄呮ゅ嚱鏁頒笉澶э紝浣嗗仛奼囩紪渚嬪瓙榪樻槸澶т簡浜涳紝澶у跺彲浠ュ彧鐪嬪墠鍜屽悗錛屼腑闂翠唬鐮佷笌姝や緥瀛愭棤鍏籌級
39: void WINAPI Input錛 int m,int n錛
40: {
00401110 push ebp
00401111 mov ebp,esp
00401113 sub esp,48h
00401116 push ebx
00401117 push esi
00401118 push edi
00401119 lea edi,[ebp-48h]
0040111C mov ecx,12h
00401121 mov eax,0CCCCCCCCh
00401126 rep stos dword ptr [edi]
41: int s,i;
42:
43: while錛1錛
00401128 mov eax,1
0040112D test eax,eax
0040112F je Input+0C1h 錛004011d1錛
44: {
45: printf錛"Please input the first number m:"錛夛紱
00401135 push offset string "Please input the first number m" 錛004260b8錛
0040113A call printf 錛00401530錛
0040113F add esp,4
46: scanf錛"%d",m錛夛紱
00401142 mov ecx,dword ptr [ebp+8]
00401145 push ecx
00401146 push offset string "%d" 錛004260b4錛
0040114B call scanf 錛004015f0錛
00401150 add esp,8
47:
48: if 錛 m= s 錛
004011B3 mov eax,dword ptr [ebp+8]
004011B6 mov ecx,dword ptr [eax]
004011B8 cmp ecx,dword ptr [ebp-4]
004011BB jl Input+0AFh 錛004011bf錛
57: break;
004011BD jmp Input+0C1h 錛004011d1錛
58: else
59: printf錛" m
n*錛坣+1錛/2,Please input again!"錛夛紱
004011BF push offset string " m
n*錛坣+1錛/2,Please input agai" 錛00426060錛
004011C4 call printf 錛00401530錛
004011C9 add esp,4
60: }
004011CC jmp Input+18h 錛00401128錛
61:
62: }
004011D1 pop edi
004011D2 pop esi
004011D3 pop ebx
004011D4 add esp,48h
004011D7 cmp ebp,esp
004011D9 call __chkesp 錛004015b0錛
004011DE mov esp,ebp
004011E0 pop ebp
004011E1 ret 8
涔嬪悗錛屾垜浠鐪嬪埌鍦ㄥ嚱鏁版湯灝鵑儴鍒嗭紝鏈塺et 8錛屾槑鏄炬槸鎮㈠嶅爢鏍堬紝鐢變簬鍦32浣岰++涓錛屽彉閲忓湴鍧涓4涓瀛楄妭錛坕nt涔熶負4涓瀛楄妭錛夛紝鎵浠ュ脊鏍堜袱涓鍦板潃鍗8涓瀛楄妭銆傜敱姝ゅ彲浠ョ湅鍑猴細鍦ㄤ富璋冪敤鍑芥暟涓璐熻矗鍘嬫爤錛屽湪琚璋冪敤鍑芥暟涓璐熻矗鎮㈠嶅爢鏍堛傚洜姝や笉鑳藉疄鐜板彉鍙傚嚱鏁幫紝鍥犱負琚璋冨嚱鏁頒笉鑳戒簨鍏堢煡閬撳脊鏍堟暟閲忥紝浣嗗湪涓昏皟鍑芥暟涓鏄鍙浠ュ仛鍒扮殑錛屽洜涓哄弬鏁版暟閲忕敱涓昏皟鍑芥暟紜瀹氥
涓嬮潰鍐嶇湅涓涓嬶紝ebp-8鍜宔bp-4榪欎袱涓鍦板潃瀹為檯瀛樺偍鐨勬槸浠涔堝礆紝ebp-8鍦板潃瀛樺偍鐨勬槸n 鐨勫礆紝ebp -4瀛樺偍鐨勬槸m鐨勫箋傝存槑涔熸槸浠庡彸鍒板乏鍘嬫爤錛岃繘琛屽弬鏁頒紶閫掋
鎬葷粨錛歘stdcall鍦ㄤ富璋冪敤鍑芥暟涓璐熻矗鍘嬫爤錛屽湪琚璋冪敤鍑芥暟涓璐熻矗寮瑰嚭鍫嗘爤涓鐨勫弬鏁幫紝騫朵笖璐熻矗鎮㈠嶅爢鏍堛傚洜姝や笉鑳藉疄鐜板彉鍙傚嚱鏁幫紝鍙傛暟浼犻掓槸浠庡彸鍒板乏銆傚彟澶栵紝鍛藉悕淇楗版柟娉曟槸鍦ㄥ嚱鏁板墠鍔犱竴涓涓嬪垝綰匡紙_錛夛紝鍦ㄥ嚱鏁板悕鍚庢湁絎﹀彿錛園錛夛紝鍦ˊ鍚庨潰緔ц窡鍙傛暟鍒楄〃涓鐨勫弬鏁版墍鍗犲瓧鑺傛暟錛10榪涘埗錛夛紝濡傦細void Input錛坕nt m,int n錛夛紝琚淇楗版垚錛歘Input@8 瀵逛簬澶у氭暟api鍑芥暟浠ュ強紿楀彛娑堟伅澶勭悊鍑芥暟鐨嗙敤CALLBACK,鎵浠ヨ皟鐢ㄥ墠錛屼富璋冨嚱鏁頒細鍏堝帇鏍堬紝鐒跺悗api鍑芥暟鑷宸辨仮澶嶅爢鏍堛
濡傦細
push edx
push edi
push eax
push ebx
call getdlgitemtexta
鏈鍚庯紝鍦⊿DK涓杈撳嚭API鍑芥暟鐨勬椂鍊欙紝緇忓父浼氬埄鐢╓INAPI瀵瑰嚱鏁拌繘琛岀害瀹氾紝WINAPI鍦╓IN32涓錛屽畠琚瀹氫箟涓篲_stdcall 鍑芥暟璋冪敤綰﹀畾鏈夊氱嶏紝榪欓噷綆鍗曡翠竴涓嬶細
1銆乢_stdcall璋冪敤綰﹀畾鐩稿綋浜16浣嶅姩鎬佸簱涓緇忓父浣跨敤鐨凱ASCAL璋冪敤綰﹀畾銆傚湪32浣嶇殑VC++5.0涓璓ASCAL璋冪敤綰﹀畾涓嶅啀琚鏀鎸侊紙瀹為檯涓婂畠宸茶瀹氫箟涓篲_stdcall銆傞櫎浜哶_pascal 澶栵紝__fortran鍜宊_syscall涔熶笉琚鏀鎸侊級錛屽彇鑰屼唬涔嬬殑鏄痏_stdcall璋冪敤綰﹀畾銆備袱鑰呭疄璐ㄤ笂鏄涓鑷寸殑錛屽嵆鍑芥暟鐨勫弬鏁拌嚜鍙沖悜宸﹂氳繃鏍堜紶閫掞紝琚璋冪敤鐨勫嚱鏁板湪榪斿洖鍓嶆竻鐞嗕紶閫佸弬鏁扮殑鍐呭瓨鏍堬紝浣嗕笉鍚岀殑鏄鍑芥暟鍚嶇殑淇楗伴儴鍒嗭紙鍏充簬鍑芥暟鍚嶇殑淇楗伴儴鍒嗗湪鍚庨潰灝嗚︾粏璇存槑錛夈
_stdcall鏄疨ascal紼嬪簭鐨勭己鐪佽皟鐢ㄦ柟寮忥紝閫氬父鐢ㄤ簬Win32 Api涓錛屽嚱鏁伴噰鐢ㄤ粠鍙沖埌宸︾殑 鍘嬫爤鏂瑰紡錛岃嚜宸卞湪閫鍑烘椂娓呯┖鍫嗘爤銆俈C灝嗗嚱鏁扮紪璇戝悗浼氬湪鍑芥暟鍚嶅墠闈㈠姞涓婁笅鍒掔嚎鍓嶇紑錛屽湪鍑芥暟鍚嶅悗鍔犱笂"@"鍜屽弬鏁扮殑瀛楄妭鏁般
2銆丆璋冪敤綰﹀畾錛堝嵆鐢╛_cdecl鍏抽敭瀛楄存槑錛夋寜浠庡彸鑷沖乏鐨勯『搴忓帇鍙傛暟鍏ユ爤錛岀敱璋冪敤鑰呮妸鍙傛暟寮瑰嚭鏍堛傚逛簬浼犻佸弬鏁扮殑鍐呭瓨鏍堟槸鐢辮皟鐢ㄨ呮潵緇存姢鐨勶紙姝e洜涓哄傛わ紝瀹炵幇鍙鍙樺弬鏁扮殑鍑芥暟鍙鑳戒嬌鐢ㄨヨ皟鐢ㄧ害瀹氾級銆傚彟澶栵紝鍦ㄥ嚱鏁板悕淇楗扮害瀹氭柟闈涔熸湁鎵涓嶅悓銆
_cdecl鏄疌鍜孋錛嬶紜紼嬪簭鐨勭己鐪佽皟鐢ㄦ柟寮忋傛瘡涓涓璋冪敤瀹冪殑鍑芥暟閮藉寘鍚娓呯┖鍫嗘爤鐨勪唬鐮侊紝鎵浠ヤ駭鐢熺殑鍙鎵ц屾枃浠跺ぇ灝忎細姣旇皟鐢╛stdcall鍑芥暟鐨勫ぇ銆傚嚱鏁伴噰鐢ㄤ粠鍙沖埌宸︾殑鍘嬫爤鏂瑰紡銆俈C灝嗗嚱鏁扮紪璇戝悗浼氬湪鍑芥暟鍚嶅墠闈㈠姞涓婁笅鍒掔嚎鍓嶇紑銆傛槸MFC緙虹渷璋冪敤綰﹀畾銆
3銆乢_fastcall璋冪敤綰﹀畾鏄鈥滀漢鈥濆傚叾鍚嶏紝瀹冪殑涓昏佺壒鐐瑰氨鏄蹇錛屽洜涓哄畠鏄閫氳繃瀵勫瓨鍣ㄦ潵浼犻佸弬鏁扮殑錛堝疄闄呬笂錛屽畠鐢‥CX鍜孍DX浼犻佸墠涓や釜鍙屽瓧錛圖WORD錛夋垨鏇村皬鐨勫弬鏁幫紝鍓╀笅鐨勫弬鏁頒粛鏃ц嚜鍙沖悜宸﹀帇鏍堜紶閫侊紝琚璋冪敤鐨勫嚱鏁板湪榪斿洖鍓嶆竻鐞嗕紶閫佸弬鏁扮殑鍐呭瓨鏍堬級錛屽湪鍑芥暟鍚嶄慨楗扮害瀹氭柟闈錛屽畠鍜屽墠涓よ呭潎涓嶅悓銆
_fastcall鏂瑰紡鐨勫嚱鏁伴噰鐢ㄥ瘎瀛樺櫒浼犻掑弬鏁幫紝VC灝嗗嚱鏁扮紪璇戝悗浼氬湪鍑芥暟鍚嶅墠闈㈠姞涓"@"鍓嶇紑錛屽湪鍑芥暟鍚嶅悗鍔犱笂"@"鍜屽弬鏁扮殑瀛楄妭鏁般
4銆乼hiscall浠呬粎搴旂敤浜庘淐++鈥濇垚鍛樺嚱鏁般倀his鎸囬拡瀛樻斁浜嶤X瀵勫瓨鍣錛屽弬鏁頒粠鍙沖埌宸﹀帇銆倀hiscall涓嶆槸鍏抽敭璇嶏紝鍥犳や笉鑳借紼嬪簭鍛樻寚瀹氥
5銆乶aked call閲囩敤1-4鐨勮皟鐢ㄧ害瀹氭椂錛屽傛灉蹇呰佺殑璇濓紝榪涘叆鍑芥暟鏃剁紪璇戝櫒浼氫駭鐢熶唬鐮佹潵淇濆瓨ESI錛孍DI錛孍BX錛孍BP瀵勫瓨鍣錛岄鍑哄嚱鏁版椂鍒欎駭鐢熶唬鐮佹仮澶嶈繖浜涘瘎瀛樺櫒鐨勫唴瀹廣俷aked call涓嶄駭鐢熻繖鏍風殑浠g爜銆俷aked call涓嶆槸綾誨瀷淇楗扮︼紝鏁呭繀欏誨拰_declspec鍏卞悓浣跨敤銆

⑵ 急求!我的電腦打不開PR cc,重裝系統後打開了,但是一導入素材到軌道上就會彈出關閉程序怎麼辦

1、右鍵開始菜單進入程序和功能卸載有問題的PremiereCC軟體。
2、下載安裝「Registry Workshop」注冊表清理軟體。在搜索欄中鍵入「Premiere」搜索注冊表中所有的項,全選所有項,右鍵刪除「注冊表中所有項」。
3、打開資源管理器(此電腦),在左上欄中鍵入「Premiere」,搜索C盤中所有Premiere CC的項,全選搜索到的文件和文件夾並刪除。
4、重新安裝PremiereCC。此後PremiereCC工作正常。

閱讀全文

與cc怎麼調用程序相關的資料

熱點內容
手游如何交易安全 瀏覽:85
去南方人才市場需要准備什麼 瀏覽:931
南昌廉租房信息在哪裡查 瀏覽:275
吉林普洱茶葉如何代理 瀏覽:100
主機入侵檢測系統利用哪些信息 瀏覽:993
怎麼教孩子壘球技術 瀏覽:352
朝陽附近工商代理多少錢 瀏覽:555
所有程序菜單中標黃色是什麼意思 瀏覽:128
單行道逆行多少天信息 瀏覽:591
伽思珂護發素怎麼代理 瀏覽:761
三甲基鋁產品有什麼用 瀏覽:678
小程序風口在什麼地方 瀏覽:562
系統還原數據丟失怎麼辦 瀏覽:671
cnc程序里為什麼加g52 瀏覽:876
雲伺服器微信小程序用哪個套餐 瀏覽:110
銀行代理費是多少 瀏覽:322
編號是什麼數據 瀏覽:982
引流卡怎麼申請代理 瀏覽:393
哪些交易所大陸注冊 瀏覽:886
python爬取股票實時數據後如何下單 瀏覽:266