打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C语言是怎么寻址的?
举个简单的例子,平台win32
int main(){
    int a=1;
    int b=2;
    int c;
    c=a+b;
    return 0;
}
代码生成exe文件后,也是按照段来组织程序的,对于a,b,c三个变量的声明编译器会生成一个数据段,里面存放三个变量,对于语句c=a+b,编译器会生成一个代码段,当然代码段里面还会有其它的一些和程序相关的代码,而且编译器可能还会生成其它的一些段,C语言其实和汇编是一个概念,只是隐藏了一些底层的细节,比如就代码c=a+b而言,用汇编实现的话可能是这样:mov eax,a add eax,b mov c,eax代码不是很准确,只是举个例子,无论是汇编还是C代码,最后生成的都是基于特定操作系统和特定环境的二进制文件,他们的最终目的都是一样的,只是C代码更具可读性,汇编一般都是用寄存器来寻址的,而C封装了寄存器寻址的复杂性,只用简单的变量和指针来寻址数据或代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
volatile关键字
内联汇编基础知识
探索C++的底层机制
Strict Aliasing,神坑?
C++ 基本功: 全面掌握const, volatile 和 mutable关键字
内联汇编很可怕吗?看完这篇文章,终结它!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服