摘要:
在C语言中,字符串是以连续的字节流表示的,并且以 '\0' 结尾,C语言标准库中也提供了很多函数来操作这种形式的字符串,比如,求字符串长度 strlen( ),求子串strstr( ),字符串拷贝strcpy( )等等,但是,这些函数并不安全,很可能给系统或应用程序带来严重的问题,如栈溢出等,C语言字符串中并没有记录操作系统为其分配的长度,用户必须自己将字符串长度保存在其他的变量中,很明显如果操作不当就会产生错误,如臭名昭著的缓冲区溢出。 阅读全文
随笔分类 - Step By Step 系列
Lex & Flex 词法分析器实践(未完,持续更新)
2011-10-10 23:38 by Haippy, 12009 阅读, 收藏, 编辑
摘要:
Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具, Lex (最早是埃里克·施密特和 Mike Lesk 制作)是许多 UNIX 系统的标准词法分析器(lexical analyzer)产生程式,而且这个工具所作的行为被详列为 POSIX 标准的一部分。 阅读全文
巧用 python 脚本控制你的C程序
2011-09-17 22:02 by Haippy, 3038 阅读, 收藏, 编辑
摘要:
python是一门艺术语言,除了开发桌面程序,还能够开发网络应用,数据库应用,还可以代替shell编写一些的实用脚本,本文主要讲述了如何利用 python 程序控制你的 C 程序的行为。
作为例子,本文将用 python 和 C 语言来编写示例代码,同时也会顺便介绍一下 利用 C 语言扩展 python的方法,最后会给出完整的 C 编写 python 模块的源码。 阅读全文