摘要: 内存分区 内存分布分为5个部分,从高地址到低地址依次为栈区(stack),堆区(heap),未初始化数据段(uninitialized data),初始化数据段(initialize data)和代码段(text)。 有些文档也把初始化的数据段和未初始化的数据段合称全局区。 1. 文本段--只读、共 阅读全文
posted @ 2015-10-14 22:27 yuxi_o 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 一. 共享库生成 组成共享库的目标文件和一般目标文件有所不同,在编译时要加-fPIC选项(生成与位置无关代码 Position Independent code)。 $gcc -c -fPIC stack/stack.c stack/push.c stack/pop.c stack/is_empty 阅读全文
posted @ 2015-10-14 20:19 yuxi_o 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 库文件名都是以lib开头的,静态库以a作为后缀,表示archive。 创建静态库: ar rs libstack.a stack.o push.o pop.o is_empty.o ar把目标文件打包成静态库; r表示将后面的文件列表添加到文件包,若果文件包不存在就创建它; s是专用于生成静态库的, 阅读全文
posted @ 2015-10-14 20:13 yuxi_o 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 一、基础 ld:GNU的链接器。用来把一定量的目标文件跟档案文件链接在一起,并重新定位它们的数据,链接符号引用。一般编译一个程序时,最后一步就是运行ld进行链接。每一个链接都被一个链接脚本所控制,这个脚本是用链接命令语言书写的。 链接脚本的一个主要目的是描述输入文件中的各个段(数据段,代码段,堆,栈 阅读全文
posted @ 2015-10-14 19:39 yuxi_o 阅读(548) 评论(0) 推荐(0) 编辑
摘要: EMC测试主要进行了4项: 1. ESD 采用静电枪测试,接触电压±6KV,检测了整个箱体和内部可见金属部分; 空气放电正负8KV,检测了箱体及内部金属部分(如板卡壳体),特别检测了220V电源插头及开关处。 注:接触放电和空气放电测试不同在于静电枪尖头不同,接触放电尖头为尖锐金属。 2. Surg 阅读全文
posted @ 2015-10-14 19:19 yuxi_o 阅读(4759) 评论(0) 推荐(0) 编辑