12 2011 档案
摘要:与缓冲区相关的操作的常见的使我们的字符的输入输出操作,其实在接触过操作系统和编译原理之后,感觉计算机其实就是在处理一串又一串的字符串。今天给大家介绍get家族的几个函数。 很多最初使用C语言进行字符串操作,并且认识到缓冲区问题的一般都是从类似下面的程序开始的: 很多初学者会问,按下回车,为什么没等第二次输入程序就结束了,这就是缓冲区的原因了。这里需要了解一下getchar函数,这也是今天第一个要给大家介绍的stdio家族中getchar。 (1) int getchar(void) 函数每次从stdin缓冲区读入一个字符遇到回车返回,并且回车...
阅读全文
摘要:这学期学了计算机学院王彦老师的计算机安全概论,算是一门入门级的课程,但是自己还是长了很多的见识的,学到缓冲区溢出攻击的时候,突然想到自己拖了很久的一件事情,就是好好的总结和学习一下C语言缓冲区的问题。时间过了这么久,真是有些惭愧了。这篇博文应该算是入门级的了,欢迎大家指教。 C语言可以用指针直接操作内存地址,这是他的一个优势,但是也是安全最容易出问题的地方。我们知道C语言是没有内存保护的,他假定C语言负责内存的安全。过去的经验告诉我,Objective-C语言也是这样的,相反java就提供了内存保护的机制。详细的就不多说了。说一下缓冲区的来历。 在linux上写程序,了解操作系统的话,我们都知
阅读全文
摘要:这个学期开始了自己期待已久的一门课程,编译原理,时间像回到了大二操作系统课程的时候一样,充满了期待却又感叹自己的实力不足,几个头文件,就可以把自己弄晕的日子。 昨天第一次实验已经结束了,实现一个简单的词法分析器。看到很多同学上传了自己的程序,龙哥的相册名字很有意思,从零开始,那我觉得自己甚至连零都还没有达到,起码现在是吧,所以这个标题干脆就叫做了在零之前。 我是一个技术控,想做自己的webFace想做自己的LBS也想做自己的编译器,权当作是爱好吧,我想通过自己的这些日志记录一下这个编译器的成长过程。我把它叫做了Yui,是为了纪念自己的大学日子。我在自己的每一个阶段都有一个代号,这个Yui最..
阅读全文