日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
C++profile應(yīng)用技巧分析

想必用過(guò)C++編程語(yǔ)言的開(kāi)發(fā)人員會(huì)發(fā)現(xiàn),這一應(yīng)用廣泛的計(jì)算機(jī)應(yīng)用語(yǔ)言確實(shí)比較復(fù)雜,要想完全弄清其中的功能特點(diǎn),是一個(gè)非常艱巨的任務(wù)。在這篇文章中我們先來(lái)了解一下C++ profiler的簡(jiǎn)單用法。#t#

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括察雅網(wǎng)站建設(shè)、察雅網(wǎng)站制作、察雅網(wǎng)頁(yè)制作以及察雅網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,察雅網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到察雅省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!

自從VC6以后,C++ profile功能便從Team Server Editions以外的版本中去掉了,如果沒(méi)有此版本的VC,只能自己動(dòng)手了。這是另一種使用Profile的方法,根據(jù)MSDN關(guān)于/callcap 的說(shuō)明,編譯WinCE應(yīng)用程序時(shí)可以使用這個(gè)開(kāi)關(guān),試過(guò)后在Win32平臺(tái)上也可以。這里需要注意的是在_CAP函數(shù)中,***不修改寄存器,那樣可能導(dǎo)致被調(diào)用的函數(shù)產(chǎn)生錯(cuò)誤。

另外,如果直接把函數(shù)實(shí)現(xiàn)和調(diào)試的程序放在一個(gè)項(xiàng)目中編譯,將會(huì)使CAP函數(shù)產(chǎn)生遞歸調(diào)用而導(dǎo)致堆棧溢出,處理方法是在一個(gè)靜態(tài)庫(kù)中不使用/callcap編譯,然后再聯(lián)接到調(diào)試的程序中。這種方式調(diào)試函數(shù)仍然不太方便,只能知道一個(gè)函數(shù)指針,無(wú)法知道函數(shù)名稱(chēng)。

 
 
 
  1. extern "C" {  
  2. //void __stdcall _CAP_Profiling(void* func);  
  3. //void __stdcall _CAP_Start_Profiling(void* func, void* called);  
  4. //void __stdcall _CAP_End_Profiling(void* func);  
  5. void __stdcall _CAP_Enter_Function(void* func);  
  6. void __stdcall _CAP_Exit_Function(void* func);  
  7. }  
  8. void __stdcall _CAP_Enter_Function(void* func)  
  9. {  
  10. __asm  
  11. {  
  12. pushad //堆棧中按順序壓入寄存器: EAX,ECX,EDX,EBX,ESP,EBP,ESI和EDI  
  13. pushfd  
  14. }  
  15. //這里添加代碼  
  16. __asm   
  17. {  
  18. popfd  
  19. popad  
  20. }  
  21. }  
  22. void __stdcall _CAP_Exit_Function(void* func)  
  23. {  
  24. __asm   
  25. {  
  26. pushad  
  27. pushfd  
  28. }  
  29. __asm   
  30. {  
  31. popfd  
  32. popad  
  33. }  

以上就是對(duì)C++ profile的相關(guān)介紹。


本文名稱(chēng):C++profile應(yīng)用技巧分析
文章轉(zhuǎn)載:http://m.5511xx.com/article/cdcojod.html