社区
C++ 语言
帖子详情
定义全局变量的汇编代码在哪里?
dragonzcs
2009-10-10 11:36:17
我写了一个程序,里面有全局变量,例如:
int gloab=100;
int main()
{
int a;
char b;
。。。。。。
我用VC go to disassembly了一下,发现汇编代码只是从main开始的,请问int gloab=100;这段汇编代码在哪?谢谢!
...全文
445
9
打赏
收藏
定义全局变量的汇编代码在哪里?
我写了一个程序,里面有全局变量,例如: int gloab=100; int main() { int a; char b; 。。。。。。 我用VC go to disassembly了一下,发现汇编代码只是从main开始的,请问int gloab=100;这段汇编代码在哪?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dragonzcs
2009-10-11
打赏
举报
回复
呵呵,多谢各位了!
danxuezx
2009-10-10
打赏
举报
回复
您看到的是执行时候的代码,全局变量是在程序加载的时候映射到内存的数据段。
进程的运行过程如下。
1)地址映射,代码段,数据段等映射到逻辑地址空间
2)main才开始运行。
3)代码访问 “逻辑地址空间”中的内容,该地址空间尚未加载到物理内存时,加载之。
一般我们查看时都是从第2步开始的
taodm
2009-10-10
打赏
举报
回复
那个int gloab = 100;为什么一定要有汇编代码呢。
真这么好奇心强,去google 《Linkers & Loaders》
xingzhe2001
2009-10-10
打赏
举报
回复
定义全局变量不需要汇编代码,直接编译器在写exe/lib/dll时会在某个数据段留好位置。
pcboyxhy
2009-10-10
打赏
举报
回复
汇编里不过是把栈顶的位置调整一下
deerwin1986
2009-10-10
打赏
举报
回复
全局变量首先在编译时 会被编译器放在1.如果初始化 则data段 2.如果未初始化 则bss段(不占空间)
而后会由操作系统在加载时 放入进程虚拟地址空间用户模式分区的全局数据区。。。
呵呵 不错哦 有好奇心 有对知识的饥渴 早晚成大器 LZ加油!
闲梦远的天空
2009-10-10
打赏
举报
回复
全局变量的位置跟编译器有关的,在vc中有一种可能是放在数据段中,加载的时候映射到地址空间中的。不过根据全局变量的使用情况,编译器也有可能会将它优化掉,根本看不到它的。
taodm
2009-10-10
打赏
举报
回复
一般C、C++程序员不该关心编译出来的汇编是啥样的。
dragonzcs
2009-10-10
打赏
举报
回复
第一步程序员一般不用关心吧?
【
汇编
C】
全局变量
、局部变量、修改数值外挂的原理
外挂中提到的所谓基址,其实就是
全局变量
,变量是什么?变量就是一块地址的别名。
全局变量
全局可见,从被
定义
往下所有的地方都可以对它进行操作,局部变量只能在
定义
它的函数内使用,其他地方不可见。
汇编
语言中可以
定义
变量吗?怎么
定义
?有局部变量和
全局变量
之分吗?作用域是什么?
汇编
语言
定义
变量的格式为 【变量名】【变量类型】【数值列表】 其中 变量类型有 DB DW DD等,分别表示变量占有的内存空间(依次为1,2,4个字节) 如:A DB 1,2,3,4 就
定义
了名称为A的4个占1个字节的变量,分别是1,...
c51
汇编
语言如何
定义
全局变量
_
汇编
语言程序访问C语言
全局变量
汇编
语言程序可通过地址间访问在C语言程序中声明的
全局变量
。通过使用IMPORT***引入
全局变量
,并利用LDR和STR指令根据
全局变量
的地址来访问它们。对于不同类型的变量,需要采用不同选项的LDR和STR指令:unsigned ...
c51
汇编
语言如何
定义
全局变量
_用
汇编
语言研究C语言的
全局变量
、局部变量、参数、返回值放在哪里...
前提知识c0s调用main函数的地址: 11ahmain函数的连接地址: 01fah一、
全局变量
与局部变量测试程序int a1,a2,a3;void f(void);void g(void);void h(void);main(){int b1,b2,b3; a1 = 0xa1;a2 = 0xa2;a3 = 0xa3;b1 = ...
汇编
语言里怎么用c的变量,混合使用C、C++和
汇编
语之:从
汇编
代码
访问 C
全局变量
-嵌入式系统-与非网...
12.2从
汇编
代码
访问C
全局变量
在
汇编
代码
中访问C
全局变量
,只能通过地址间接访问
全局变量
。要访问
全局变量
,必须在
汇编
中使用IMPORT伪操作输入
全局变量
,然后将地址载入寄存器。可以根据变量的类型使用载入和存储指令...
C++ 语言
64,642
社区成员
250,580
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章