StupidBeauty
Read times:564Posted at:Tue Apr 13 18:41:07 2010本座今天要调试一个使用QtCreator来写的程序的性能问题,听说使用gprof能够得到每 个函数的调用次数,执行时间等信息,那它不就是本座需要的吗? 于是本座就去找gprof的用法了,gprof已经很荣幸地随着binutils被安装到系统中了,所以只需要研究一下怎么用就行了。 这位哥哥转载了一个关于gprof的用法:http://blog.sina.com.cn/s/blog_3e26e9390100b2sn.html,其中关键的一点是要在编译及链接的时候加上“-pg”选项。在这里的一位哥哥说了他的方法:http://www.daniweb.com/forums/thread270094.html,很荣幸地,那个页面仍然是英文的,要找到中文的,很难,本座没找到。所以顺便说一句呢,要找这种东西,还是要用神兽古鸽。 这个解决方案是这样做的:在“?.pro”文件中加上这样几句:
CONFIG(release, debug|release): QMAKE_CFLAGS+=-pg QMAKE_CXXFLAGS+=-pg QMAKE_LFLAGS+=-pg
根据本座的理解,下面的三个“?FLAGS”语句最终分别会传递到Makefile中,对应的是“CFLAGS”“CXXFLAGS”“LFLAGS”。这样,gcc在编译每个文件的时候,都会带上“-pg”参数。链接的时候,会带上“-pg”参数。于是,编译出来的程序在运行结束之后就会生成一个“gmon.out”文件了。再就可以使用gprof来分析其中的记录信息了。 很荣幸地,本座觉得可以使用另一种方法来将“-pg”选项加到编译器及链接器中,并且试了一下,真的可以啊:在QtCreator中切换到“工程”面板,在“编译步骤”的“Make”步骤区域中,编辑“Make参数”那个文本框,把三个“?FLAGS”都写进去就行了,例如:“CFLAGS+=-pg CXXFLAGS+=-pg LFLAGS+=-pg”。这样同样能将参数传递给编译器及链接器。看看截图: 程序运行完毕之后,如何使用gprof来分析“gmon.out”文件,这个已经有中文的网页说明了,猪位可以用神兽古鸽来找找。 写这篇美文只是为了让猪位像本座一样虽然看得懂英文但是看着英文就不爽的人能够爽一点点。加油吧,猪位一秒钟掰开当成两半用的XXXX工程师们。太极美术工程师师长与妳们共勉。
Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4