更改软件的起始位置是什么意思

更改软件的起始位置是什么意思,第1张

指定包含原始项目或一些相关文件的文件夹。有时,程序需要使用其他位置的文件。或许需要指定这些文件所在的文件夹,这样该程序才能找到它们。有时,要在起始位置填入工作文件夹。比如当使用快捷方式或图标启动Excel时,默认的工作文件夹不正确。或许程序所需要的一些文件在C盘。所以在起始位置指定C盘的一个绝对路径。

在开始的时候设置起始代码段。

1,首先,进入目录LINK,运行make生成arm-linux-ld选项为“-Ttext 0x00000000”的反汇编码ttt.s。

然后,修改Makefile:将第4、7行的“#”去掉,在第3、6行前加上“#”,运行make生成arm-linux-ld选项为“-Ttext 0x30000000”的反汇编码ttt2.s,link.s程序中用到两种跳转方法:b跳转指令、直接向pc寄存器赋值。

然后,先把在不同“-Ttext”选项下,生成的可执行文件的反汇编码列出来,再详细分析这两种不同指令带来的差异。

然后,让第一张图片从最左面开始,滚动方向是从左向右,而且让第一张图片和最后一张图片要连接在一起,现在是一个滚动完成之后,图片又从最右边开始向左滚动。

然后,在应用程序中,栈和堆的起始地址是有约定的。但是内核本身没有另外一个更高层的程序来管理内核的地址空间,所以内核空间的栈的组织,和应用程序有所不同。内核的栈如果溢出时,不能像应用程序那样产生一个page fault,然后分配新的地址空间,继续使用。内核的栈如果溢出,没有人知道,除非溢出的地方影响了运行,让程序crash。

后,堆的空间的扩大靠brk()系统调用,而内核的内存使用,get_free_pages来实现的(虽然上层封装了kmalloc和vmalloc),这个基本上是自己管理自己,由于Linux内核还不支持自己的swapping,所以内核如果找不到可用的页框了,也就没办法了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11521734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存