﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-厚积薄发-随笔分类-汇编</title><link>http://www.cppblog.com/weiym/category/19545.html</link><description>海纳百川, 有容乃大
</description><language>zh-cn</language><lastBuildDate>Sun, 09 Feb 2014 06:35:42 GMT</lastBuildDate><pubDate>Sun, 09 Feb 2014 06:35:42 GMT</pubDate><ttl>60</ttl><item><title>C++中new和delete的背后</title><link>http://www.cppblog.com/weiym/archive/2013/11/17/204292.html</link><dc:creator>Richard Wei</dc:creator><author>Richard Wei</author><pubDate>Sun, 17 Nov 2013 13:17:00 GMT</pubDate><guid>http://www.cppblog.com/weiym/archive/2013/11/17/204292.html</guid><wfw:comment>http://www.cppblog.com/weiym/comments/204292.html</wfw:comment><comments>http://www.cppblog.com/weiym/archive/2013/11/17/204292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/weiym/comments/commentRss/204292.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/weiym/services/trackbacks/204292.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我们可以看到数组new[]和delete[]的关键是， C++编译器在数组起始地址之前的4个字节保存了对象的数量N，后面会根据这个数量值进行N次的构造和析构 。<br>我们可以看到C++ 编译器在背后干了很多事情，可能会内联我们的函数， 也可以修改和产生其他一些函数， 而这是很多C开发者受不了的事情， 所以在内核级别， 很多人宁愿用C来减少编译器背后的干扰。&nbsp;&nbsp;<a href='http://www.cppblog.com/weiym/archive/2013/11/17/204292.html'>阅读全文</a><img src ="http://www.cppblog.com/weiym/aggbug/204292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/weiym/" target="_blank">Richard Wei</a> 2013-11-17 21:17 <a href="http://www.cppblog.com/weiym/archive/2013/11/17/204292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解ATL中的一些汇编代码</title><link>http://www.cppblog.com/weiym/archive/2012/10/23/193701.html</link><dc:creator>Richard Wei</dc:creator><author>Richard Wei</author><pubDate>Mon, 22 Oct 2012 16:23:00 GMT</pubDate><guid>http://www.cppblog.com/weiym/archive/2012/10/23/193701.html</guid><wfw:comment>http://www.cppblog.com/weiym/comments/193701.html</wfw:comment><comments>http://www.cppblog.com/weiym/archive/2012/10/23/193701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/weiym/comments/commentRss/193701.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/weiym/services/trackbacks/193701.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 以我个人的经验，一些东西刚开始看不太懂就放一放，先去看一些基本的东西，比如不懂COM，先去学下C++ 中的虚函数；不懂C++模板，先去学下STL；不懂Thunk，先去看一下汇编，等有了一定的积累，回头再看，一切就觉得没这么难了。&nbsp;&nbsp;<a href='http://www.cppblog.com/weiym/archive/2012/10/23/193701.html'>阅读全文</a><img src ="http://www.cppblog.com/weiym/aggbug/193701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/weiym/" target="_blank">Richard Wei</a> 2012-10-23 00:23 <a href="http://www.cppblog.com/weiym/archive/2012/10/23/193701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>堆栈桢的生成原理</title><link>http://www.cppblog.com/weiym/archive/2012/07/20/184344.html</link><dc:creator>Richard Wei</dc:creator><author>Richard Wei</author><pubDate>Fri, 20 Jul 2012 06:00:00 GMT</pubDate><guid>http://www.cppblog.com/weiym/archive/2012/07/20/184344.html</guid><wfw:comment>http://www.cppblog.com/weiym/comments/184344.html</wfw:comment><comments>http://www.cppblog.com/weiym/archive/2012/07/20/184344.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/weiym/comments/commentRss/184344.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/weiym/services/trackbacks/184344.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 那么Windbg分析Dump时，会如何推理堆栈过程呢？<br>如果每个函数都是有标准的push ebp, 那么按照ebp递推就可以了；<br>否这就只能用其他方法分析，比如看看堆栈里某个地址是不是函数返回地址（该地址属于某个模块的代码段），这样就可以确定该地址是某个函数堆栈桢的起始地址。&nbsp;&nbsp;<a href='http://www.cppblog.com/weiym/archive/2012/07/20/184344.html'>阅读全文</a><img src ="http://www.cppblog.com/weiym/aggbug/184344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/weiym/" target="_blank">Richard Wei</a> 2012-07-20 14:00 <a href="http://www.cppblog.com/weiym/archive/2012/07/20/184344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>