https://www.hackerschool.com/blog/7-understanding-c-by-learning-assemblyhttps://www.hackerschool.com/blog/5-learning-c-with-gdb Last time, Alan showed how to use GDB as a tool to learn C. Today I want to go one step further and use GDB to help us und…
转自:https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Function-Attributes.html 5.24 Declaring Attributes of Functions In GNU C, you declare certain things about functions called in your program which help the compiler optimize function calls and check your…
http://clrprofiler.codeplex.com/ http://blogs.msdn.com/b/davbr/archive/2012/11/19/clrprofiler-4-5-released-includes-windows-store-app-support.aspx Rewrite MSIL Code on the Fly with the .NET Framework Profiling API Aleksandr Mikunov This article assum…
"We should start back", Gared urged as the woods began to grow dark around them. "The wildings are dead". "Do the dead frighten you"? Ser Waymar Royce asked with just the hint of a smile.Gared did not rise to the bait. He was…
1. System.Object The runtime requires every type to ultimately be derived from the System.Object type. Because all types are ultimately derived from System.Object, you are guaranteed that every object of every type has a minimum set of…
译者前言 总是看到有人说用汇编实现objc_msgSend是为了速度快,当然这个不可否认.但是难道没有别的原因?于是就看到了这篇文章,遂翻译之!=.= 我自己的理解就是,用汇编实现,是为了应对不同的“Calling convention”,把函数调用前的栈和寄存器的参数.状态设置,交给编译器去处理. 先看看原文吧. 原作者: Ari Grant 原文链接: Why objc_msgSend Must be Written in Assembly http://arigrant.com/blog/…
Introduction One of the revolutionary features of C++ over traditional languages is its support for exception handling. It provides a very good alternative to traditional techniques of error handling which are often inadequate and error-prone. The cl…
.NET中 类型,对象,线程栈,托管堆在运行时的关系 The Relationship at Run Time between Types,Objects,A Thread's Stack,and The Managed Heap for .NET by 唐小崇 http://www.cnblogs.com/tangchong .NET中的类型,无论是值类型或引用类型都是继承自Object的类.这点跟Java类似,但与C/C++有很大不同.既然值类型与引用类型都是类,那它们的没有什么不同的地方.…
.NET中 类型,对象,线程栈,托管堆 在运行时的关系 The Relationship at Run Time between Types,Objects,A Thread's Stack,and The Managed Heap for .NET by 唐小崇 http://www.cnblogs.com/tangchong .NET中的类型,无论是值类型或引用类型都是继承自Object的类.这点跟Java类似,但与C/C++有很大不同.既然值类型与引用类型都是类,那它们的没有什么不同的地方…
复制数据的快速方法std::copy C++复制数据各种方法大家都会,很多时候我们都会用到std::copy这个STL函数,这个效率确实很不错,比我们一个一个元素复制或者用迭代器复制都来的要快很多. 比如,我写了一段下面的代码,复制100000000数据量,std::copy的性能要比前两个性能要好. ; int *k = new int[size]; int *p = new int[size]; //const int size = 5F5E100h; DWORD t1, t2; t1…
前几天看System V AMD64 ABI标准的时候发现栈帧的顶部后面有一块"red zone",在学cs:app3e/深入理解操作系统的时候并没有遇到这个,总结一下. 引用标准中的话: The 128-byte area beyond the location pointed to by %rsp is considered to be reserved and shall not be modified by signal or interrupt handlers. There…
Abstract We present the internals of QEMU, a fast machine emulator using an original portable dynamic translator. It emulates several CPUs (x86, PowerPC, ARM and Sparc) on several hosts (x86, PowerPC, ARM, Sparc, Alpha and MIPS). QEMU supports full s…