V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fucktwice
V2EX  ›  PHP

PHP为什么没有32位和64位版本之分的?整个int的差别是怎么做到无差异化的?

  •  
  •   fucktwice · 2013-11-27 21:10:44 +08:00 · 8706 次点击
    这是一个创建于 4016 天前的主题,其中的信息可能已经有所发展或是发生改变。
    11 条回复    1970-01-01 08:00:00 +08:00
    fucktwice
        2
    fucktwice  
    OP
       2013-11-27 21:20:48 +08:00
    @freeznet 看到了,我就是想知道怎么做到无差异化的? 还有5.5之后不支持xp是什么意思?
    likexian
        3
    likexian  
       2013-11-27 22:59:12 +08:00
    1. 谁说没有32和64之分,求出处,看看哪个2b说的

    2. xp微软都不更新了还指望php,这个漏洞百出的系统早该废了
    BOYPT
        4
    BOYPT  
       2013-11-27 23:01:54 +08:00
    32 PHP和64 的PHP里面的整数本来就是不一样,哪里来无差异……
    felix021
        5
    felix021  
       2013-11-27 23:03:06 +08:00
    谁说没有32和64之分? zval里面是用long,不是用的int。

    http://git.php.net/?p=php-src.git;a=blob;f=Zend/zend.h

    321 typedef union _zvalue_value {
    322 long lval; /* long value */
    323 double dval; /* double value */
    324 struct {
    325 char *val;
    326 int len;
    327 } str;
    328 HashTable *ht; /* hash table value */
    329 zend_object_value obj;
    330 } zvalue_value;
    fucktwice
        6
    fucktwice  
    OP
       2013-11-27 23:51:43 +08:00
    @felix021 那为什么不出一个32位版本和64位版本呢?
    事实是底层已经屏蔽掉了,但是具体的比如CRC校验的算法或者其他方面应该随着平台的差异性,还是会有区别的吧?
    fucktwice
        7
    fucktwice  
    OP
       2013-11-27 23:54:26 +08:00
    这样的话,在接口API层其实已经没有差异了,但是实际的还是会有差别的,那具体的差别呢?
    比如内存管理,算法选择,IO方面等等。
    vibbow
        8
    vibbow  
       2013-11-28 09:14:38 +08:00
    很明显是有区别的
    32位的PHP,在ip2long的时候就经常会溢出成负数。
    64位的就不会。
    joyqi
        9
    joyqi  
       2013-11-28 10:05:32 +08:00
    所有软件的源代码是不会区分32位和64位的,在不同的平台编译后的二进制程序才会体现这些区别。你看windows二进制包下载,http://windows.php.net/download/,里面清晰的表明了x86和x64两种
    fucktwice
        10
    fucktwice  
    OP
       2013-11-28 11:41:59 +08:00
    明白了,vibbow说的问题也确实存在。
    coronanimo
        11
    coronanimo  
       2013-12-15 21:28:56 +08:00
    就不要用32位的了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:43 · PVG 03:43 · LAX 11:43 · JFK 14:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.