代码是否被视为可移植可执行文件格式中的初始化数据,初始化数据和单元化数据之间的确切区别是什么
Is code seen as initialized data in the Portable Executable format, and what exactly are the difference between initialized and unitialized data?
代码是否被视为可移植可执行文件(PE(格式中的初始化数据,初始化数据和单元化数据之间的区别究竟是什么?
根据以前的经验,我认为初始化的数据是字符串或整数,但可执行代码在PE上下文中也被称为初始化的数据吗?
此外,初始化数据和单元化数据之间究竟有什么区别?
文件上写着:
截面数据
节的初始化数据由简单块组成字节。但是,对于包含全零的节不需要包括数据。
每个进程基本上由4部分地址空间组成进程可访问,其中之一是。数据部分,分为:
1( 初始化的只读数据:它包含数据元素由程序初始化,并且在过程的执行。
2( 初始化的读写数据:它包含数据元素由程序初始化,并将在流程执行。
3( 未卫生化的数据:这包含的元素不是由程序初始化,并在进程执行之前设置为0。这些也可以被修改并被称为BSS(块启动符号(。这个这些元素的优点是,系统不必在该区域的程序文件,b'Cz在进程开始执行。
代码是否被视为可移植可执行文件(PE(格式中的初始化数据
任何程序的代码都可以在.文本部分找到,它包含要执行的实际指令。在许多操作系统上,它被设置为只读,类似于初始化的只读数据。
初始化数据和单元化数据之间究竟有什么区别?
因此,它们之间的区别在于它们的值,初始化的数据在进程开始前由程序设置了一个唯一的值,可以是读写或只读数据,另一方面,未初始化的数据值由操作系统设置为0,你可以在这里看一看。
Amrane Abdelkader。
相关文章:
- 如何使用数据对象上的常量指针初始化类
- C++中数据初始化的不同方式
- 在没有默认构造函数时使用垃圾数据初始化对象
- 如何使用派生类类型数据初始化 std::shared_ptr?
- 委派复制构造函数和常量数据初始化
- 从其后声明的另一个成员数据初始化成员数据是否为未定义行为
- 使用类/对象实例数据初始化对话框
- 使用数据初始化 cv::Mat 不起作用
- 使用函数中的数据初始化C++ const 成员 (MPI_comm_size/rank)
- 如何故意用未初始化的数据初始化变量,以便valgrind将该变量视为未初始化
- 使用通用数据初始化多个C++数组
- 特征库 --> 使用文件或现有 std::vector<string> content (c++) 中的数据初始化矩阵
- 使用联合数组中的数据初始化std::向量
- 新操作员的内存分配和数据初始化
- 用动态分配的数据初始化cv::Mat
- 如何用预制数据初始化指针到指针
- 如何用该类的其他成员数据初始化类成员数据
- c++中静态数据初始化的时间和方式
- 将大量数据初始化到C++容器中的最佳方法
- 如何使用浮点数组中的数据初始化 cv::Mat