IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Ffmpeg 32 bits vs 64 bits limitation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut Ffmpeg 32 bits vs 64 bits limitation
    Bonjour à tous,

    Je suis un peu embête par une limitation du logiciel FFMPEG. En effet, j'utilise l'option -start_number qui limite le nombre à 2 147 483 648 soit la valeur max d'un INT.

    En C, peut-on avec le même programme source utiliser le format "int" pour les processeurs 32 bits et "long long" pour les processeurs 64 bits?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Bonjour,

    oui, de plusieurs façons en fait.
    Sous Linux par exemple, le plus simple est simplement d'utiliser le type long int. En effet, sur un linux32 long int est de la taille d'un int (soit 4 bytes) et sur un linux64 long int est de la taille d'un long long int (soit 8 bytes). Il faudrait vérifier le cas Linux X32 …
    Sinon en passant par des typedef et le préprocesseur, un peu comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #if MSVC
        #ifdef _M_X86
            #define ARCH_X86
        #endif
    #endif
     
    #if GCC
        #ifdef __i386__
            #define ARCH_X86
        #endif
    #endif
     
    #ifdef ARCH_X86
        typedef int MyNumberType;
        #define PRINT_MY_NUMBER "d"
    #else
        typedef long long int MyNumberType;
        #define PRINT_MY_NUMBER "ll"
    #endif
    Mais c'est un peu plus lourd et il y a beaucoup de cas à vérifier suivant le processeur, le compilateur, l'architecture, etc ...
    Des infos sur les macros prédéfinies : https://sourceforge.net/p/predef/wiki/Home/

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 146
    Billets dans le blog
    4
    Par défaut
    Sur leur site ils ont des versions 64 bits pour Windows, Mac et Linux.
    Si ça suffit pas, c'est une limitation du programme, et à part le recompiler tu pourras pas grand chose.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. [Batch] Service BITS Limiter bande passante
    Par karl98 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 07/02/2019, 14h50
  2. Limitation mémoire Windows Web Server 2008 32 bits
    Par vivoli12 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 05/07/2010, 11h48
  3. Réponses: 9
    Dernier message: 10/03/2009, 13h49
  4. Réponses: 2
    Dernier message: 03/11/2008, 09h28
  5. Limites mémoire de ASE 12.5.4 sur windows 32 bit
    Par sybcat dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 10/08/2007, 07h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo