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 :

g++ et fichiers image/son


Sujet :

C++

  1. #1
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut g++ et fichiers image/son
    Bonjour

    j ai essayé de me renseigner... mais je ne trouve pas...

    est il possible, au moyen de g++ de faire une edition de liens avec :
    * les codes sources
    * les bibliotheques SFML
    * ET les fichiers son/images...

    avec l idee d obtenir un executable contenant tout cela ?

    merci de votre aide.
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Je connais 2 façons de faire C'est

    1) de transformer chaque fichier en chaîne de caractères (avec des caractères imprimables)/ tableau de valeurs et les introduire dans le code sous forme de macro/ variable [globale]/ fonction/ ...
    Édit : @jo_link_noir dans 1 commentaire en dessous me signale que 1 tableau de valeurs hexadécimales est préférable que transformer son fichier en chaîne de caractères. Cela dépend du contexte je dirais.

    2) d'utiliser RC, Resource Compiler de Microsoft. Je te laisse chercher
    Il faut faire 1 fichier .rc [/ .res] qui va faire correspondre chaque ressource via 1 identifiant, identifiant qui sera utilisé dans le code.
    Par contre, il faut sûrement utiliser 1 IDE Microsoft. Et sous Linux, il doit y avoir 1 équivalant ou passer par Qt/ Gnome-GTK.

    Exemple de fichier .rc avec C++ Builder :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    #if defined(_CPP_BUILDER) || defined(_CPP_BUILDER_xe6)
    #include "..\\Project\\Resources\\my_winresrc.h"
    #else
    #include <windows.h>
    #endif
     
     
    #include "Resource.h"
     
     
    LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
    #pragma code_page(1252)
     
     
    1 TEXTINCLUDE DISCARDABLE
    BEGIN
      "Resource.h\0"
    END
     
     
    2 TEXTINCLUDE DISCARDABLE
    BEGIN
       "#include ""winver.h""\r\n"
       "\0"
    END
     
     
    3 TEXTINCLUDE DISCARDABLE
    BEGIN
      "\r\n"
      "\0"
    END
     
     
    VS_VERSION_INFO  VERSIONINFO
      FILEVERSION    PROJECT_IHM_VERSION
    //PRODUCTVERSION PRODUCT_VERSION
      FILEOS         VOS_WINDOWS32
      FILETYPE       VFT_APP
    BEGIN
      BLOCK "StringFileInfo"
      BEGIN
        BLOCK "040C04E4"
        BEGIN
          VALUE "CompanyName",      COMPANY_NAME
          VALUE "ProductName",      PRODUCT_NAME
          VALUE "ProductVersion",   PRODUCT_VERSION_STR
          VALUE "LegalCopyright",   LEGAL_COPYRIGHT
          VALUE "FileVersion",      PROJECT_IHM_VERSION_STR
          VALUE "InternalName",     PROJECT_IHM_NAME
          VALUE "OriginalFilename", PROJECT_IHM_NAME
          VALUE "FileDescription",  PROJECT_IHM_DESCRIPTION_FR
        END
      END
     
      BLOCK "VarFileInfo"
      BEGIN
        VALUE "Translation", 0x040C, 0x04E4
      END
    END
     
     
    LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
     
     
    MAINICON  ICON DISCARDABLE MY_FIRM_LOGO_MULTI
    IDI_ICON1 ICON DISCARDABLE MY_FIRM_LOGO_MULTI
     
    IDB_ATLAS RCDATA "atlas.png"

    my_winresrc.h :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    #ifndef MY_WINRESRC
    #define MY_WINRESRC
     
    #define LANG_ENGLISH       0x09
    #define SUBLANG_ENGLISH_US 0x01
     
    #define LANG_FRENCH    0x0C
    #define SUBLANG_FRENCH 0x01
     
    #define LANG_NEUTRAL    0x00
    #define SUBLANG_NEUTRAL 0x00
     
    #define VS_VERSION_INFO 1
     
    /* ----- VS_VERSION.dwFileFlags ----- */
    #define VS_FF_DEBUG             0x00000001L
    #define VS_FF_PRERELEASE        0x00000002L
    #define VS_FF_PATCHED           0x00000004L
    #define VS_FF_PRIVATEBUILD      0x00000008L
    #define VS_FF_INFOINFERRED      0x00000010L
    #define VS_FF_SPECIALBUILD      0x00000020L
     
    /* ----- VS_VERSION.dwFileOS ----- */
    #define VOS_UNKNOWN             0x00000000L
    #define VOS_DOS                 0x00010000L
    #define VOS_OS216               0x00020000L
    #define VOS_OS232               0x00030000L
    #define VOS_NT                  0x00040000L
    #define VOS_WINCE               0x00050000L
     
    #define VOS_BASE                0x00000000L
    #define VOS_WINDOWS16           0x00000001L
    #define VOS_PM16                0x00000002L
    #define VOS_PM32                0x00000003L
    #define VOS_WINDOWS32           0x00000004L
     
    #define VOS_DOS_WINDOWS16       0x00010001L
    #define VOS_DOS_WINDOWS32       0x00010004L
    #define VOS_OS216_PM16          0x00020002L
    #define VOS_OS232_PM32          0x00030003L
    #define VOS_NT_WINDOWS32        0x00040004L
     
    /* ----- VS_VERSION.dwFileType ----- */
    #define VFT_UNKNOWN             0x00000000L
    #define VFT_APP                 0x00000001L
    #define VFT_DLL                 0x00000002L
    #define VFT_DRV                 0x00000003L
    #define VFT_FONT                0x00000004L
    #define VFT_VXD                 0x00000005L
    #define VFT_STATIC_LIB          0x00000007L
     
     
    #endif // MY_WINRESRC
    Resource.h :
    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
    21
    22
    23
    24
    25
    #ifndef RESOURCE_H
    #define RESOURCE_H
     
     
    #define IDI_ICON1      101
    #define IDB_ATLAS      102
     
     
    #define COMPANY_NAME        "MY_FIRM\0"
    #define PRODUCT_NAME        "MY_TOOL\0"
    #define PRODUCT_NAMEW       L"MY_TOOL"
    #define PRODUCT_VERSION      0
    #define PRODUCT_VERSION_STR "\0"
    #define LEGAL_COPYRIGHT     "2022 - 2023, MY_FIRM\0"
     
     
    #define PROJECT_IHM_VERSION        1,5,1,0
    #define PROJECT_IHM_VERSION_STR   "1.5.1\0"
    #define PROJECT_IHM_VERSION_WSTR L"1.5.1\0"
    #define PROJECT_IHM_NAME          "MY_TOOL.exe\0"
     
    #define PROJECT_IHM_DESCRIPTION_FR "Lecteur/ Encodeur de badges MIFARE DESFire EV1\0"
    #define MY_FIRM_LOGO_MULTI "MY_FIRM\\MY_FIRM.ico"
     
    #endif // RESOURCE_H

  3. #3
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Merci de votre reponse

    a priori, la solution (1) me semble preferable...
    j utilise des images .png

    faudrait-il que je me cree un logiciel qui convertit le fichier.png en tableau (a 2 dimensions) pour en faire quelquechose d exploitable dans le code ?
    (avec un copié/collé probablement)...
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Tu as le format Portable Pixmap (fichier .pbm, .pgm, .ppm, .pnm) et + spécialement le format .pam qui gère la transparence : Netpbm, lien wikipédia en anglais

    Et évidemment ce format est supporté par les logiciels de retouche, de traitement et de dessin via des extensions, par la bibliothèque Netpbm et peut-être d'autres.
    Tu n'as plus qu'à transformer le fichier "ASCII" en chaîne de caractère (et voir comment passer cette chaine de caractères aux fonctions de manipulation) ou en tableau de valeurs via 1 moulinette.

  5. #5
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Sinon, j utilise "Visual Studio Community"...

    dans les proprietes du projet, il est peut-etre possible d inclure les fichiers image quelque part dans les options...

    Quelqu un sait-il quelque chose a ce sujet ?
    Bien sur, ca fait que je me passe alors de g++
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Citation Envoyé par adiya Voir le message
    Sinon, j utilise "Visual Studio Community"...

    dans les proprietes du projet, il est peut-etre possible d inclure les fichiers image quelque part dans les options...
    C'est ce que je disais la solution 2

    Il y a de grandes chances que Visual Studio [Community] gère le(s) fichier(s) .rc/ .res automatiquement (sinon tant pis )
    C'est peut-être en fonction du choix du projet que tu peux ajouter des fichiers dans l'exécutable (mais comme je le disais, je pense que ce sera 1 projet "Windows" avec la liaison d'1 grosse bibliothèque)

  7. #7
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 739
    Points : 3 627
    Points
    3 627
    Par défaut
    Aucune raison d'embarquer les fichiers avec des caractères imprimables, ça ne sert à rien. Ce qu'il faut faire, c'est mettre tous le fichier dans un tableau d'octet. Généralement un simple tableau de char où chaque octet est écrit sous forme hexadécimal pour ne pas avoir de problème de syntaxe. On doit pouvoir trouver des outils qui le font, sinon, ce n'est pas bien compliqué à écrire.

    Les outils plus avancés comme ceux de Qt ajoutent par-dessus un système de fichier qui peut-être utilisé à travers les classes de manipulation de fichier du framework. C'est d'ailleurs peut-être même la seule manière de faire, je crois que les ressources de Qt sont aussi compressées.

    S'il y a beaucoup de ressource, c'est intéressant d'ajouter de la compression, mais certains formats le sont déjà et le gain n'est alors pas énorme (par exemple, png le fait pas ligne et un coup de optipng donnera de bien meilleurs résultats qu'une compression supplémentaire). Sur des formats texte, le gain va être très intéressant, pour le rapport vitesse de décompression / taux de compression, zstd est très bon.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 058
    Points : 12 093
    Points
    12 093
    Par défaut
    Je comprends pas trop cette fixette de n'avoir qu'un fichier "exe" pour une solution logicielle.
    C'est bien plus simple et souple d'utiliser les gestionnaires de package/msi pour installler/mettre à jour/désinstaller un logiciel.

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 016
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 016
    Points : 1 527
    Points
    1 527
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Je comprends pas trop cette fixette de n'avoir qu'un fichier "exe" pour une solution logicielle.
    C'est bien plus simple et souple d'utiliser les gestionnaires de package/msi pour installler/mettre à jour/désinstaller un logiciel.
    La peur des "pirates" ...

  10. #10
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Je comprends pas trop cette fixette de n'avoir qu'un fichier "exe" pour une solution logicielle.
    C'est bien plus simple et souple d'utiliser les gestionnaires de package/msi pour installler/mettre à jour/désinstaller un logiciel.
    eh bien...
    ca me semble plus simple et plus propre... surtout que je code "leger"...

    et puis il n y a pas besoin d etre un hacker au top pour me piquer une image gentiment disponible...
    j aime bien le concept "bibliotheque statique"...
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Citation Envoyé par adiya Voir le message
    et puis il n y a pas besoin d etre un hacker au top pour me piquer une image gentiment disponible...
    saches qu'avec 1 logiciel comme Resource Hacker (lien officiel) tu peux parser, extraire et modifier tes ressources.
    Tu remarqueras qu'il utilise le(s) fichier(s) .rc/ .res (et sa syntaxe) : ce logiciel ne fonctionne qu'avec Windows.

    De souvenirs, modifier 1 ressource est assez pénible parce que sa taille est enregistrée : donc il faut que la nouvelle ressource est la même taille (peut-être inférieure avec du bourrage).
    À moins que maintenant, les logiciels "recompilent" tout.


    Citation Envoyé par jo_link_noir Voir le message
    S'il y a beaucoup de ressource, c'est intéressant d'ajouter de la compression, mais certains formats le sont déjà et le gain n'est alors pas énorme (par exemple, png le fait pas ligne et un coup de optipng donnera de bien meilleurs résultats qu'une compression supplémentaire). Sur des formats texte, le gain va être très intéressant, pour le rapport vitesse de décompression / taux de compression, zstd est très bon.
    j'avais utilisé la bibliothèque libbzip2 : bonne compression, bibliothèque active et pas trop grosse, code facile à faire pour juste 1 décompression (c'est la fonction BZ2_bzBuffToBuffDecompress)

  12. #12
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Oui
    Il me semblait bien qu on peut quand meme extraire les fichiers qui sont implantés dans le code source
    d ailleurs, il me semble que en assembleur, les informations en question sont dans un genre de ".data", un truc dans le genre...
    donc la securité des donnees n est jamais vraiment absolue...
    Mais quand meme, j aime autant ne pas fournir mes .png a tout le monde...
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 058
    Points : 12 093
    Points
    12 093
    Par défaut
    Donc vous pénalisez l'utilisateur légitime (performance à chier), et le hobbyiste qui veut bidouiller le bidule, pour laisser la main aux black hats, quand la start-up nation pense être "l'oméga de l'évolution".

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Donc vous pénalisez l'utilisateur légitime (performance à chier)
    Perte de performances
    lorsque tu fais 1 IHM, beaucoup d'images se retrouvent dans l'exécutable.
    D'ailleurs, étant dans l'exécutable, ce sont des accès mémoire et non disque dur/ SSD.

    Après :
    • Pour autre chose que des images/ sons, par exemple des .dll ou des fichiers .ini, il faudra à coup sûr les enregistrer en local. Et effectivement refaire ce que fait 1 packager est 1 peu inutile (surtout avec Windows, son architecture dossiers et ses droits)
    • Si les fichiers sont protégés (ressources zippées avec mot de passe ou chiffrées avec 1 clef ou cachées dans 1 bibliothèque par exemple), là il faut voir au cas par cas.

  15. #15
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    oups...
    c est quoi, un IHM ?
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  16. #16
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par foetus Voir le message
    Perte de performances
    lorsque tu fais 1 IHM, beaucoup d'images se retrouvent dans l'exécutable.
    D'ailleurs, étant dans l'exécutable, ce sont des accès mémoire et non disque dur/ SSD.

    Après :
    • Pour autre chose que des images/ sons, par exemple des .dll ou des fichiers .ini, il faudra à coup sûr les enregistrer en local. Et effectivement refaire ce que fait 1 packager est 1 peu inutile (surtout avec Windows, son architecture dossiers et ses droits)
    • Si les fichiers sont protégés (ressources zippées avec mot de passe ou chiffrées avec 1 clef ou cachées dans 1 bibliothèque par exemple), là il faut voir au cas par cas.
    Du coup, si j integre mes images a l executable, je n utilise pas .loadFromFile("")...
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 627
    Points : 10 548
    Points
    10 548
    Par défaut
    Citation Envoyé par adiya Voir le message
    c est quoi, un IHM ?
    Interface Homme-Machine, 1 application avec 1 fenêtre (contrairement à 1 application console ou 1 application Web)

    Citation Envoyé par adiya Voir le message
    Du coup, si j integre mes images a l executable, je n utilise pas .loadFromFile("")...
    Non LoadResource, lien MSDN pour Win32/ WinAPI
    Note que c'est 1 bibliothèque pour les ressources qui permet de charger, trouver, énumérer, ...

  18. #18
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Donc vous pénalisez l'utilisateur légitime (performance à chier), et le hobbyiste qui veut bidouiller le bidule, pour laisser la main aux black hats, quand la start-up nation pense être "l'oméga de l'évolution".
    Euh... avant Omega, c est la lettre Psy... faut consulter ?
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  19. #19
    Nouveau membre du Club Avatar de adiya
    Homme Profil pro
    auto didacte
    Inscrit en
    Juillet 2016
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : auto didacte
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2016
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par adiya Voir le message
    Euh... avant Omega, c est la lettre Psy... faut consulter ?
    Autant pour moi, la lettre grecque en question, c est Psi... Tant pis pour ma blague...
    Le sens d'un Langage est d'exprimer des Concepts... Mais pas trop...

  20. #20
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 058
    Points : 12 093
    Points
    12 093
    Par défaut
    Les ressources, c'est un vieux machin du 16 bits à base handles qui servent de descripteur de segment et de tables d'indexation, sans compter que c'est dans des segments "discardable".
    Un fichier, bin, on a toutes l'architecture de drivers et kernel qui optimisent les accès et le mapping mémoire.

    lorsque tu fais 1 IHM, beaucoup d'images se retrouvent dans l'exécutable.
    C'est une erreur, et les Dll de localisation font bien mieux le taf.

    D'ailleurs, étant dans l'exécutable, ce sont des accès mémoire et non disque dur/ SSD.
    Dans des segments non mappés en mémoire, y accéder, c'est comme aller lire sur le disque.

Discussions similaires

  1. Recherche d'un fichier image par son contenu
    Par jportemer dans le forum Windows
    Réponses: 0
    Dernier message: 04/09/2017, 20h08
  2. Passer d'une image à son fichier txt
    Par amtrg dans le forum ImageJ
    Réponses: 1
    Dernier message: 04/07/2012, 12h37
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 20h08
  4. Imprimer fichiers images en ligne de commande
    Par naholyr dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 02/09/2004, 19h11
  5. Comment lire un fichier image
    Par Charlemagne dans le forum DirectX
    Réponses: 9
    Dernier message: 12/03/2004, 01h22

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