腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(4272)
视频
沙龙
1
回答
与
x86
中
的
.
code
段
相比
,
如何将
.
data
段
加
载到
单独
的
内存
区域
?
、
、
、
、
因此,我一直在涉足汇编,并且一直想知道,当加载内核时,不同
的
段
是如何加
载到
不同
的
内存
区域
的
。我知道对于操作系统
中
的
用户代码,链接器和操作系统可以简单地将代码和数据放在他们想要
的
任何
区域
中,但这个问题更特定于内核,因为内核没有操作系统将.
code
和.
data
放在不同
的
区域
中。假设我有一个简单
的
内核: .
d
浏览 11
提问于2019-10-26
得票数 1
回答已采纳
1
回答
Clang OpenMP卸
载到
GPU
的
内存
映射
、
、
、
、
我有一些
与
OpenMP卸载有关
的
问题。2.如何决定将哪些数据映射到NVIDIA GPU
中
的
“共享
内存
”
区域
?3.代码
段
中
的
常量是否映射到GPU
中
的
常量
内存
? 我试图为这些问题找到答案,但找不到任何参考资料。提前谢谢。
浏览 3
提问于2018-06-17
得票数 0
回答已采纳
1
回答
在ELF
中
,是否可以指定物理
内存
区域
的
映射?
、
、
在ELF
中
,是否可以指定物理
内存
区域
的
映射? 我有一个软件需要访问位于物理
内存
地址空间
的
固定
区域
中
的
内存
。目前,我是通过打开/dev/mem并将这个
区域
mmap()到虚拟地址空间来实现
的
。这样做
的
缺点是我不知道mmap()将把映射放在虚拟地址空间
的
什么地方。因此,我总是需要通过从映射开始
的
偏移量来计算指向
区域
浏览 0
提问于2021-01-22
得票数 0
3
回答
为什么汇编程序有
单独
的
段
?
为什么汇编程序要将
段
(.
data
/.bss和.text)加
载到
单独
的
内存
块
中
,而不是同时将数据
段
和代码
段
加
载到
单个
内存
块
中
?我
的
猜测是,操作系统随后可以移动数据
段
,或者以某种方式针对存储
的
数据类型优化
内存
。有什么想法?
浏览 0
提问于2011-10-17
得票数 8
回答已采纳
1
回答
在Linux
中
创建堆
区域
/
段
、
、
我
的
理解是,在Linux上,进程加载程序不会像堆栈那样自动为进程创建“堆”
区域
,对吗? 我使用了/proc/$$/maps,在调用malloc()之前没有“堆”
区域
。
浏览 0
提问于2015-12-18
得票数 4
3
回答
在数据
区域
的
正确地址上找不到定义
的
字符串
、
、
、
我在ARM组装
中
为cortex - M4定义了两个
段
,一个是代码
段
(只读),另一个是数据
段
(读写)。只读存储器定义为从地址0x08000000开始,RW存储器从0x20000000开始。每个管段都在其自己
的
部件文件
中
定义,并且标签名称已正确导出/导入。数据
段
写成:EXPORT myString myString DCB "To be or not to b
浏览 2
提问于2013-09-18
得票数 2
2
回答
macOS如何为进程分配堆栈和堆?
、
、
我想知道macOS是如何为进程分配堆栈和堆
内存
的
,即macOS中进程
的
内存
布局。我只知道mach-o可执行文件
的
段
被加
载到
页面
中
,但我找不到
与
进程
的
堆栈或堆
区域
相对应
的
段
。有关于这方面的文件吗?
浏览 0
提问于2019-07-14
得票数 0
1
回答
windows如何显示进程
的
内存
段
?
、
、
、
我们有像objdump、readelf和dumbin这样
的
工具来显示可执行
的
文件内容。但是,当可执行文件加
载到
内存
中
(创建进程)时,
内存
中
的
段
通常
与
可执行文件<
code
>E 217</
code
>
中
的
段
不同。例如,在加载时,会分配两个额外
的
段
,即堆栈和堆(这里我
浏览 3
提问于2013-07-11
得票数 0
回答已采纳
2
回答
在运行时存储
的
类本身在何处用作引用
、
、
、
、
在C#或Java
中
,我们发现对象存储在堆
中
,它们
的
引用vars存储在堆栈
中
。但是在运行时,在哪里存储
的
类定义将用作创建对象
的
模板?
浏览 0
提问于2016-01-18
得票数 3
回答已采纳
2
回答
C编译
的
程序使用哪些
段
?
、
、
我在OSDev wiki上读到,
x86
体系结构保护模式允许您为代码和数据创建
单独
的
段
,而不能写入代码
段
。Windows (是的,这就是平台)将新代码加
载到
代码
段
中
,并在数据
段
上创建数据。但是,如果是这样的话,程序如何知道它必须将
段
切换到数据
段
呢?因为如果我理解正确的话,所有的地址指令都指向你运行代码
的
段
,除非你切换了描述符。但我也读到过,这种可压缩
的</e
浏览 0
提问于2010-05-03
得票数 3
回答已采纳
3
回答
一个程序是如何细分
的
?
、
、
我最近在一个入门编程类
中
读到了关于程序分段
的
内容,以及程序通常是如何被分成“
段
”
的
,当需要时,这些“
段
”被
单独
加
载到
内存
中
(或者通过分页加
载到
内存
中
……我想)。我们
的
书提到,程序通常根据逻辑划分分为
段
,例如堆栈
的
段
、堆
的
段
、全局常量
的
段
等。
浏览 4
提问于2012-04-28
得票数 3
回答已采纳
1
回答
引导加载器
中
gdt
的
跳远
、
、
、
ax, 0x10 mov es, ax mov gs, ax ret 我无法理解这段代码
的
作用jmp指令是做什么
的
?然后,我们为什么要将0x10移到ax,然后再移动到其他寄存器。
浏览 3
提问于2014-06-01
得票数 11
回答已采纳
3
回答
为什么
x86
上
的
Linux对用户进程和内核使用不同
的
段
?
、
、
因此,我知道Linux为
x86
处理器使用了四个默认
段
(内核代码、内核数据、用户代码、用户数据),但它们都有相同
的
基和限制(0x00000000和0xfffff),这意味着每个
段
映射到相同
的
线性地址集。既然如此,为什么还要有用户/内核
段
呢?我理解为什么代码和数据应该有
单独
的
段
(这仅仅是因为
x86
处理器如何处理cs和ds寄存器),但是为什么没有一个代码
段
和一个数据
段
呢?<em
浏览 4
提问于2011-01-01
得票数 19
回答已采纳
2
回答
关于维基百科上数据
段
的
解释
的
问题?
、
根据昨天
的
问题,我做了一些研究,我认为我对linux进程
内存
映射有了更清晰
的
了解。但是,我
的
理解是,数据
段
包含rodata、BSS和数据,有人能证实我
的
理解吗?(如果专家能重写维基百科
的
文章,那就更好
浏览 0
提问于2011-09-21
得票数 0
回答已采纳
1
回答
TBB并发向量支持旧
的
c样式循环吗?
、
、
、
、
那么,我们能安全地假设我们可以在不放置锁
的
情况下从begin迭代到begin+length吗?或者
如何将
指针内容传递给接受开始指针和长度
的
C样式函数?我们是否只提供从向量
中
删除元素
的
锁,同时增长是可以接受
的
? 现实生活问题:指向zmqsockets
的
指针
的
并发向量,它正在变得越来越大,同时变得越来越小。提供C样式迭代
的
具有zmq轮询
的
线程。
浏览 10
提问于2015-09-25
得票数 0
回答已采纳
2
回答
现代操作系统
中
的
内存
分段
、
、
加
载到
内存
中
的
程序经常被描述为被分成文本、数据、堆栈等
段
,即使在Linux这样
的
操作系统
中
,虚拟
内存
纯粹基于分页。是不是仅仅是程序,而不是
内存
本身被称为分段?如果是这样的话,我觉得这个术语令人困惑。我看到可以在Linux中使用'sbrk‘调用来实现malloc,该调用增加了数据
段
的
大小。再问一次,这个“数据
段
”只是一个
内存
区域
,按照惯例
浏览 1
提问于2012-02-27
得票数 8
回答已采纳
1
回答
静态变量
内存
位置
它是否使用像malloc这样
的
东西将其放入程序
内存
中
,或者是否有其他方式存储它,以便所有程序查看该变量,例如: static int counter = 4; int counter
浏览 25
提问于2019-09-29
得票数 0
回答已采纳
1
回答
内存
映射
段
和堆是否会增长,直到它们相遇?
、
、
我试图从以下两个来源计算出共享
内存
段
的
范围,即进程
内存
布局
中
的
内存
映射
段
。从 https://manybutfinite.com/post/anatomy-of-a-program-in-memory/
中
,我找到了一个进程
内存
布局
的
图表
内存
映射
段
和堆是否会增长,直到它们相遇或者这两个
段
中
浏览 0
提问于2018-09-02
得票数 5
1
回答
为什么必须将'.
CODE
‘插入到'main PROC’之前?
、
我正在学习汇编语言,有一个关于过程语法
的
问题。(我使用
的
是VS 2012)。 main Proc .
data
ret但对于main下
的
其他局部过程,它在
浏览 3
提问于2015-04-05
得票数 0
7
回答
运行时程序
的
机器指令存储在哪里?
、
据我所知,每当我们运行任何程序时,程序
的
机器指令都会加
载到
RAM
中
。同样,
内存
有两个
区域
:堆栈和堆。 我
的
问题是:机器指令存储在哪个
内存
区域
?堆还是堆?我了解到,下面的程序会给出一个运行时错误,尽管函数
中
没有声明变量。这背后
的
原因是堆栈溢出。那么,我应该假设函数
的
机器指令存储在堆栈
中
吗?
浏览 8
提问于2015-01-29
得票数 8
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
透明代码大页:让数据库也能用上 2MB 大页!
编译、链接、装载
为什么需要动态链接?
跟我一起学《汇编语言》——包含多个段的程序
高性能网络编程必备技能之IO与NIO阻塞分析
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券