2016-12-29 LEo
在Windows上,通过Cygwin编译的c程序在运行时,若有内存错误也会产生类似Linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像Linux一样使用gdb调试。所以,在Windows平台调试Cygwin编译的c程序不太方便。本文介绍一种方法,通过反汇编c程序,结合程序coredump时生成的stackdump文件,可以快速定位出程序的coredump位置。 继续阅读 »
2016-08-30 craneyuan
goto语句一直被人所诟病,说它使得代码结构复杂化,但是语言设计者们还是没有放弃goto这个功能强大的语句。Java以面向对象所著称也没能够放弃goto,而是把它当做保留字,但是并未在语言中得到正式使用。 然而,从Java的break和continue这两个关键字的身上,我们依然能够看出一些goto的影子。 下面是《Thinking In Java 4th》中关于“goto”的介绍: 臭名昭著的“goto” goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多 跳转。然而,got 继续阅读 »
2016-10-05 Mithrilwoodrat
之前闲着无聊,参考着《程序员的自我修养》把最后一章的 minicrt 移植到了 64 位环境下。 项目地址:https://github.com/Mithrilwoodrat/toy-crt 移植到64位下主要存在的问题就是 read write 等 system call 是由 gcc 内联汇编实现的,移植到64位下需要按照64位的格式重写。 继续阅读 »