CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] que fait ce code ?

dark_drow
dark_drow
Niveau 15
03 mai 2013 à 15:33:23

Salut,
Je dois comprendre un code écrit en C/objective-C sauf que je suis loin de gérer dans ces deux langages... bref ! le mec à écrit une fonction qui est complètement impossible à comprendre avec mon niveau pour le moment :hap:

http://pastebin.com/fa0srxy9

En gros : qu'est ce que l'offsetInFile ? la doc' d'apple ou sof ne m'a pas trop avancé https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileHandle_Class/Reference/Reference.html

mais surtout les lignes 12/13/14/15 sont pour moi un énorme mystère sans compter la fonction to_host() Je ne savais même pas qu'on pouvait caster une chaine de caractère en int à la volée :fou:

godrik
godrik
Niveau 30
03 mai 2013 à 19:24:19

Je ne sias pas bien ce que ca fait. C'est de l'objective C et clairement pas du C. Du coup, il y a des instructions dont je ne comprends pas completement l'effet.

dark_drow
dark_drow
Niveau 15
03 mai 2013 à 20:13:53

Ah mauvaise nouvelle :( tu parles des opérations sur les bit ?
Une explication pour l'offset d'un fichier ?

Pseudo supprimé
Pseudo supprimé 03 mai 2013 à 21:37:38

c'est une boucle qui parcours un fichier pour trouver la chaine 'mdat'

dark_drow
dark_drow
Niveau 15
04 mai 2013 à 09:19:29

Certes mais vu que je vais sûrement devoir modifier ce code j'avoue que j'aurais voulu comprendre comment il s'y prend.
C'est un extrait de code qui parse un fichier vidéo pendant qu'il s'écrit sur le disque et je vais sûrement devoir faire le même genre pour l'audio ;s

Pseudo supprimé
Pseudo supprimé 04 mai 2013 à 15:17:02

https://gist.github.com/aanonymous/6bda7c187e98a724f188

return (p[0] << 24) + (p[1] << 16) + (p[2] << 8) + p[3];

cette ligne prend 4 bytes et les met dans un integer dans le bon ordre

eg: [0x40][0x50][0x60][0x70] -> 0x40506070 au lieu de 0x70605040

dark_drow
dark_drow
Niveau 15
04 mai 2013 à 19:50:10

ah yes merci ! Sortit d'une formation orientée Java, les manipulations de bytes sont assez obscure pour moi.

Pour la fonction offsetinfile() apparemment c'est pareil que ce code en C :
off_t offset = lseek([handle fileDescriptor], 0, SEEK_CUR);

en accord avec le man :
off_t lseek(int fildes, off_t offset, int whence);
SEEK_CUR
La tête de lecture/écriture est avancée de offset octets.

Le truc qui me parait bizzare c'est que le mec fait :
taille_du_fichier - offset_courant
normalement le résultat ne devrait pas être 0 :question:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment