массивы в сях

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Дикс, 24 Dec 2006.

  1. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    на 32-битных процах в защищенном режиме виртуальное адресное пространство ограничено 4Гб.
    Из-за PAE (Physical Address Extensions) есть доступ к 64Гб памяти, но указатель все равно остался 4 байта.
    А вот на 64битных можно адресовать уже 2^64 байт памяти и размер адреса стал 8 байт
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ога )
    А ведь мог бы просто написать "Да, я был не прав" ;)
     
  3. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    ай, как хорошо быть теоретиком,
    только вот на практике пока можна адресовать только 2^48, остальные биты зарезервированы(это справедливо как для интеловской так и для амд-ой платформы)
     
  4. dexus

    dexus New Member

    Joined:
    6 Jan 2007
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    ... А если по теме то зицеоф() в сях не предназначен для определения длины массива... поэтому в сишных функциях присутствуют такие вещи типа

    fgets(char *str, int n, FILE *stream)

    (c) тов. Касперски.

    и ваще в сях для определения размерности массива средств нету...
    или мы уже не про то ? )))))
     
  5. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ну я это и говорил ;)
    А вот в C++ есть ;)