请问一下一般函数的参数传递都是从右到左的被压入堆栈区,
这样的话左边的参数地址值应该更小,右边的应该更大,而且参数之前的地址差值应该为参数类型的长度才对,
但是我实际试的时候却有偏差。。 下面图一个是windows的 一个是ubuntu的,程序代码都一模一样,windows的结果是预期的,
但是ubuntu上面的结果却不一样,求解。。
ubuntu函数参数传递的一个问题
-
- 帖子: 10
- 注册时间: 2014-03-01 21:51
- 系统: ubuntu 13.10
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 10
- 注册时间: 2014-03-01 21:51
- 系统: ubuntu 13.10
Re: ubuntu函数参数传递的一个问题
感谢了,没想到还和编译器有关系。。eexpress 写了:看不到图。。。
传参数,和编译器直接有关,你不能直接比啥的。
还有一个问题就是
我用long long测试的时候 两个间隔变量的地址差为8 对应longlong占8个字节
int测试的地址差是4 int占4个字节
但是用char测试的时候 地址差也是4 按照常理说 char的只占1个字节 地址差应该是1才对吧?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: ubuntu函数参数传递的一个问题
gcc按4位内存地址对齐的吧,不过只知道int在不同机器上会出现差距,char一直都是1 字节的吧。另,ee说的那是编码的长度吧,跟locale相关而已,与这些无关的。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关