• [^] # Re: Langages modernes

    Posté par . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 5.

    Qu'est-ce qui n'est « pas possible sous Linux » ? Je suis désolé, sous Linux on peut très bien récupérer un NULL face à un malloc(). Exemple en Python (allocation d'un tableau Numpy de 32 Go alors que j'ai 8 Go de RAM et pas de swap) :

    >>> import numpy as np
    >>> m = 32 * (1024 ** 3)
    >>> a = np.empty(m, dtype='int8')
    Traceback (most recent call last):
     File "<ipython-input-4-c19c3513c3d4>", line 1, in <module>
     a = np.empty(m, dtype='int8')
    MemoryError
    >>> !cat /etc/os-release
    NAME="Ubuntu"
    VERSION="16.04.1 LTS (Xenial Xerus)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 16.04.1 LTS"
    VERSION_ID="16.04"
    HOME_URL="http://www.ubuntu.com/"
    SUPPORT_URL="http://help.ubuntu.com/"
    BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
    UBUNTU_CODENAME=xenial