- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录
Python源码剖析笔记0-C语言基础回顾
Python源码剖析笔记1-Python对象初见
Python源码剖析笔记2-Python整数对象
Python源码剖析笔记3-Python执行原理初探
Python源码剖析笔记4-内建数据类型
Python源码剖析笔记5-模块机制
Python源码剖析笔记6-函数机制
Python源码剖析笔记7-类机制
本文档使用 看云 构建 - 2 -
Python源码剖析笔记0-C语言基础回顾
Python源码剖析笔记0-C语言基础回顾
1 关于ELF文件
2 关于指针
2.1 指针易错点
2.2 指针和数组
3 关于typedef和#define
4 关于结构体
4.1 不完全类型
4.2 不完全类型结构体
4.3 结构体初始化和大小
4.4 柔性数组
5 总结
6 参考资料
要分析python源码 ,C语言的基础不能少 ,特别是指针和结构体等知识。这篇文章先回顾
C语言基础 ,方便后续代码的阅读。
1 关于ELF文件
linux中的C编译得到的目标文件和可执行文件都是ELF格式的 ,可执行文件中以segment来
划分 ,目标文件中 ,我们是以section划分。一个segment包含一个或多个section ,通过
readelf命令可以看到完整的section和segment信息。看一个栗子 :
char pear[40];
static double peach;
int mango 13;
char *str "hello";
static long melon 2001;
int main()
{
int i 3, j;
pear[5] i;
peach 2.0 * mango;
return 0;
}
本文档使用 看云 构建 - 3 -
Python源码剖析笔记0-C语言基础回顾
这是个简单的C语言代码 ,现在分析下各个变量存储的位置。其中mango ,melon属于data
section ,pear和peach属于common section中 ,而且peach和melon加了static ,说明只
能本文件使用。而str对应的字符串"helloworld"存储在rodata section中。main函数归属于
text section ,函数中的局部变量i,j在运行时在栈中分配空间。注意到前面说的全局未初始化
变量peach和pear是在common section中 ,这是为了强弱符号而设置的。那其实最终链接
成为可执行文件后 ,会归于BSS segment。同样的 ,text section和rodata section在可执行
文件中都属于同一个segment。
更多ELF内容参见 《程序猿的自我修养》一书。
2 关于指针
想当年学习C语言最怕的就是指针了 ,当然 《c与指针》和 《c专家编程》以及 《高质量C编
程》里面对指针都有很好的讲解 ,系统回顾还是看书吧 ,这里我总结了一些基础和易错的
点。环境是ubuntu14.10的32位系统 ,编译工具GCC。
2.1 指针易错点
/***
指针易错示例1 demo1.c
***/
int main()
{
char *str "helloworld"; //[1]
str[1] 'M'; //[2] 会报错
char arr[] "hello"; //[3]
arr[1] 'M';
return 0;
}
demo1.c中 ,我们定义了一个指针和数组分别指向了一个字符串 ,然后修改字符串中某个字
符的值。编译后运行会发现[2]处会报错 ,这是为什么呢 ?用命令 ` gcc -S de
1亿VIP精品文档
相关文档
知传链电子书
最近下载
- 初中信息技术学业水平考试卓凡系统选择题(161-200题).pptx VIP
- 物理化学(第六版)课后习题答案详解.pdf
- 《中国共产党纪律处分条例》PPT加强党的纪律建设课件.pptx VIP
- 工程造价毕业答辩常见问题(含答案).pdf
- 国家开放大学电大农业推广终结性考试调查报告答案.doc
- 《中国共产党纪律处分条例》解读PPT全面加强党的纪律建设课件.pptx VIP
- 电子商务网站的设计与实现.docx
- 初中信息技术学业水平考试卓凡系统选择题(360-400题).pptx VIP
- 双减作业:北师大版小学数学 四年级上册练习设计(第10-13周).pdf VIP
- 排卵障碍性不孕症中西医结合诊疗指南 (1).pdf
文档评论(0)