uatlaosiji 发表于 2017-10-29 21:03

[笔记]+ipv6 python学习-02



补充一下网络知识,就去看了看到linux programming interface 描述临时文件.
下边是笔记内容:
1.ls -la /dev/fd/
下边全是软连接,在这里都是软连接。
2.linux的二进制执行文件格式有COFF和ELF。coff比较复杂,之后在看。先mark
3. size + a.out 检查程序的各个区段的大小信息。
#size a.out
   text    data   bss   dec   hex   filename
   1237   504      16    1757   6dd    a.out
bss-未初始化段。全局变量,静态变量。
data段,初始化数据。全局变量,静态变量
dec
text段。执行的ML语句

1、文本段:包含程序的指令,它在程序的执行过程中一般不会改变。
2、数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。
3、BSS段:包含未经初始化的全局变量和静态变量。
4、堆栈段:包含了函数内部声明的局部变量。
论1:未初始化的全局变量保存在BSS段
论2:经过初始化的全局变量保存在数据段中
论3:未初始化的静态变量保存在BSS段中
论4:经过初始化的静态变量保存在数据段中
论5:函数内部声明的局部变量保存在堆栈段(text
论6:const修饰的全局变量保存在文本段
结论7:const修饰的局部变量保存在堆栈段
论8:字符串常量保存在文本段
结论
1、经过初始化的全局变量和静态变量保存在数据段中。
2、未经初始化的全局变量和静态变量保存在BSS段。
3、函数内部声明的局部变量保存在堆栈段中。
4、const修饰的全局变量保存在文本段中,const修饰的局部变量保存在堆栈段中。
5、字符串常量保存在文本段中。



四、示例查看进程各个段中的数据
栈:栈段是一个容器,栈段中有多个栈帧。一个进程只有一个栈段。
每个函数都有自己的栈帧,在函数结束的时候,函数的栈帧释放。
函数中变量的空间分配在栈帧上的,变量的空间释放了。变量的生命结束了。
什么样的变量的空间分配在栈帧上?
函数中的自动局部变量和函数的形参的空间分配在栈帧中。
生命周期:函数

堆:堆的生命周期 要么程序员手动释放堆空间。否则,进程结束的时候。
BSS:
数据段:
静态的局部变量和全局变量的空间分配在数据段。
生命周期:进程
但两者的作用域不同。:局部变量:函数内全局变量:整个文件

代码段:

局部变量int i; 和 static int i; 生命周期不同,作用域一样
全局变量int i; 和 static int i; 生命周期相同,作用域不同

lzh@lzh:~/lzh/UC$ cat memory.c
#include <stdio.h>
int a;
int a1 = 10;
static int a2 = 20;
static int a3;
const int a4 = 10;
const int a5;
void foo(int i, const int i1)
{
   printf("函数形参 &i=%p\n", &i);
   printf("函数(常)形参 &i1=%p\n", &i1);
}

int main(void)
{
   int b;
   int b1=20;
   static int b2=30;
static int b3;
   const int b4 = 20;
const int b5;
   printf("pid=%d\n", getpid());
   printf("未初始化全局变量 &a=%p\n", &a);
   printf("全局变量 &a1=%p\n", &a1);
   printf("全局静态变量 &a2=%p\n", &a2);
printf("未初始化全局静态变量 &a3=%p\n", &a3);
   printf("常全局变量 &a4=%p\n", &a4);
   printf("未初始化局部变量 &b=%p\n", &b);
   printf("局部变量 &b1=%p\n", &b1);
   printf("局部静态变量 &b2=%p\n", &b2);
printf("未初始化局部静态变量 &b3=%p\n", &b3);
   printf("常局部变量 &b4=%p\n", &b4);

   foo(f, a1);

   int *g = (int *)malloc(4);
   printf("动态分配&g=%p\n", &g);

   getchar();
   return 1;
}


ref:http://blog.sina.com.cn/s/blog_3d5517850101gngl.html
http://blog.sina.com.cn/s/blog_770d18dd0102xat0.html
4.

Erye_Forever 发表于 2017-10-29 22:29

看到ipv6就进来了

夏雨微凉 发表于 2017-10-30 07:59

看,,,看不懂

Jamesstrange 发表于 2017-10-30 12:14

楼主搞笑来了吧!你写的是pyhton语句?
页: [1]
查看完整版本: [笔记]+ipv6 python学习-02