Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1430 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Cours de C "minimaliste en lignes, riche en résultats"

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cours de C "minimaliste en lignes, riche en résultats"

n°2081722
darkeagle1​0
Je choisis l'option offensive
Posté le 10-06-2011 à 01:04:48  profilanswer
 

Bonjour à tous :)
 
Je recherche, pour la culture personnelle et professionnelle également, un/des cours de C portant sur ces fameux codes très très courts (genre une à deux lignes, parfois plus) qui généralement n'ont pas une apparence très parlante à première vue, mais qui au final signifient réellement quelque chose, par exemple un équivalent au fork bombing en bash comme :
 

Code :
  1. " :() { : | : & };: "


 
Une recherche avec google n'a rien donné de concret, peut être ai-je employé les mauvais termes  :??:  
 
En fait il y a des chances que je doive passer un entretien avec une personne aimant bien poser ce genre de question (style "Peux-tu me dire ce que fait ce code C de 2 lignes ? C'est tiré du kernel de Linux et joue un rôle très important" ... le truc qu'on ne trouve pas forcément dans le cours C de base quoi ...).
 
Donc si vous avez des références (blogs, articles, cours, livres, etc), ça m'intéresse énormément !
 
Un grand merci d'avance :)


---------------
Gates gave you the windows. GNU gave us the whole house.
mood
Publicité
Posté le 10-06-2011 à 01:04:48  profilanswer
 

n°2081730
Joel F
Real men use unique_ptr
Posté le 10-06-2011 à 01:46:04  profilanswer
 
n°2081858
darkeagle1​0
Je choisis l'option offensive
Posté le 10-06-2011 à 14:31:11  profilanswer
 

Un grand merci, c'est déjà ça à se mettre sous la dent :)


---------------
Gates gave you the windows. GNU gave us the whole house.
n°2081874
Joel F
Real men use unique_ptr
Posté le 10-06-2011 à 15:39:04  profilanswer
 

Alors apres, une boite veut m'engager sur mes capa a ecrire du code merdique inmaintenabel, je change de cremerie

n°2081880
darkeagle1​0
Je choisis l'option offensive
Posté le 10-06-2011 à 15:56:22  profilanswer
 

Non non, et à vrai dire après brève lecture de ces codes, ce n'est pas exactement ce que je recherche (même si ça reste intéressant).
 
Le code obfuscé n'est pas le genre de code sur lequel on me questionnera, mais plus simplement un code court (très court) tel qu'on puisse trouver dans une fonction C d'un OS, par exemple :)


---------------
Gates gave you the windows. GNU gave us the whole house.
n°2082158
Tamahome
⭐⭐⭐⭐⭐
Posté le 13-06-2011 à 14:57:06  profilanswer
 

ce genre de code est souvent écrit à grands renforts de macro... Y'a des exemples rigolo de ce genre de trucs sur le net (un othello je crois, donc le code fait une ligne... y'a un autre dont le code fait un ascii art...)

n°2082177
Anonymouse
Posté le 13-06-2011 à 18:06:11  profilanswer
 
n°2082187
gilou
Modérateur
Modzilla
Posté le 13-06-2011 à 18:56:35  profilanswer
 

C'est du pdf obfusqué apparemment vu les réactions de Acrobat Reader et Foxit reader...
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2082188
GrosBocdel
Posté le 13-06-2011 à 19:00:24  profilanswer
 

gilou a écrit :

C'est du pdf obfusqué apparemment vu les réactions de Acrobat Reader et Foxit reader...
 
A+,


 
Iceweasel sous kde propose d'ouvrir le fichier avec unzip. C'est la seule fois en 1000000 fois qu'il a bon  :D  
 

n°2082192
Anonymouse
Posté le 13-06-2011 à 19:26:04  profilanswer
 

gilou a écrit :

C'est du pdf obfusqué apparemment vu les réactions de Acrobat Reader et Foxit reader...
 
A+,


 
Tu viens d'échouer au 1er test d’admission au master : un zip renommé en pdf :o
 
Les déclarations de structures sont à la fin du PDF (Contenu dans le zip :o).


Message édité par Anonymouse le 13-06-2011 à 19:36:57
mood
Publicité
Posté le 13-06-2011 à 19:26:04  profilanswer
 

n°2082268
darkeagle1​0
Je choisis l'option offensive
Posté le 14-06-2011 à 09:26:25  profilanswer
 


Merci  :jap:  
 
(même si ça porte sur le même sujet que le cours ASE de Master Info en première année à Lille 1  :D )


---------------
Gates gave you the windows. GNU gave us the whole house.
n°2084357
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 23-06-2011 à 19:24:57  profilanswer
 

Le mot que tu cherche est: operateur ternaire
 
genre:
 
x > 2 ? x : x + 2
 
C'est bien ça?

n°2084360
darkeagle1​0
Je choisis l'option offensive
Posté le 23-06-2011 à 19:38:12  profilanswer
 

Non, quelque chose qui tient en quelques lignes (genre une fonction système courte).
 
Le if raccourci (opérateur ternaire donc), ce sera pas le genre de truc posé ^^" (malheureusement :p)


---------------
Gates gave you the windows. GNU gave us the whole house.
n°2084361
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 23-06-2011 à 19:49:48  profilanswer
 

La deja ça raccourci bien ^^
 
A la base c'est ça:
 
if (x > 2)
return x
else  
return x + 2
 
Aprés du peu chainer pour faire des else if (ca devient vite illisble)
 
Sinon pour des appels systemes, a part imbriquer des appels de façon dégueulasse ou carement de l'assembleur je vois pas trop.
 
Edit:
 
Ou sinon des dereférencement a la volée avec des *(& ) partout c'est fun aussi, mais la c'est juste de la logique de pointeur.
 
Ou peu être parles-tu de masques binaire, le genre de chose utilisé pour optimiser des comparaison, comme celui utilisé dans le strlen() systeme par exemple


Message édité par gueuledange le 23-06-2011 à 19:55:15
n°2084369
darkeagle1​0
Je choisis l'option offensive
Posté le 23-06-2011 à 20:52:56  profilanswer
 

En effet c'est (il me semble) la majorité du temps des pointeurs, voire même pointeurs de fonctions. Enfin bref je vois que ça n'a pas de catégorie particulière, je crois que je suis juste bon pour me trouver un cours C version roxxor de la progra histoire de compléter mes connaissances.
 
En tout cas merci à vous pour les infos malgré tout :)


---------------
Gates gave you the windows. GNU gave us the whole house.
n°2084375
Joel F
Real men use unique_ptr
Posté le 23-06-2011 à 21:30:40  profilanswer
 

sauf que c'est tout sauf du roxxor. Ecrire du code imbitable ca sert un bon rien quoi :s

n°2084378
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 23-06-2011 à 21:40:12  profilanswer
 

darkeagle10 a écrit :

En effet c'est (il me semble) la majorité du temps des pointeurs, voire même pointeurs de fonctions. Enfin bref je vois que ça n'a pas de catégorie particulière, je crois que je suis juste bon pour me trouver un cours C version roxxor de la progra histoire de compléter mes connaissances.
 
En tout cas merci à vous pour les infos malgré tout :)


 
 
Si tu veut t'entrainer, tu reprend du code a toi en essayant de le condenser a mort, en utilisant le moins de variable possible (voire aucune).
 
Par contre t'oublie les vérification de valeur de retour & co....
 
Bref y a que des inconvénient a coder comme ça, a part peu être gagné quelques dizaine d'octet ou de la rapidité d’exécution, voir même du temps de compilation (micro secondes? xD). Je sais pas comment se passe le développement des kernel mais ça me paraîtrai bizar qu'ils fassent du code illisible....

n°2084499
fred777888​999
Posté le 24-06-2011 à 11:24:22  profilanswer
 

Ah, ces jolies boites qui ont embauche un naze persuade d'etre bon parcequ'il etait le seul a pouvoir se relire. Quand ils cherchent a le remplacer, ca pose ce genre de problemes.

n°2084800
darkeagle1​0
Je choisis l'option offensive
Posté le 24-06-2011 à 19:51:54  profilanswer
 

Non mais vous semblez pas avoir compris, je ne recherche pas du tout du code obfuscé, encore moins du code raccourci au max juste pour raccourcir.

 

C'est pas pour un entretien de boulot, c'est pour en entretien d'une spécialité de Master 2 ...

 

Comme c'est un prof ayant donné cours sur tout ce qui touche ordonnancement, sémaphores, etc ... en C (cours OS), j'imagine que ça doit tourner dans ces eaux là (du code court mais complet en même temps et exploitant le C à fond).

Message cité 1 fois
Message édité par darkeagle10 le 24-06-2011 à 19:52:25

---------------
Gates gave you the windows. GNU gave us the whole house.
n°2084850
el muchach​o
Comfortably Numb
Posté le 25-06-2011 à 09:24:11  profilanswer
 

Au lieu de poser des questions débiles et sans intérêt, downloade le source de linux et lis-le.

n°2084854
billgatesa​nonym
Posté le 25-06-2011 à 10:15:41  profilanswer
 

darkeagle10 a écrit :

Je recherche, pour la culture personnelle et professionnelle également
...
En fait il y a des chances que je doive passer un entretien

darkeagle10 a écrit :

C'est pas pour un entretien de boulot, c'est pour en entretien d'une spécialité de Master 2 ...

Il fallait le dire tout de suite. Maintenant, je comprends. Vous ne connaissez pas encore le monde professionnel, et vous n'avez pas encore constaté que le monde de l'informatique professionnel est très différent du monde de l'informatique scolaire. Dans le premier cas, on est les mains dans le cambouis, dans la graisse sale des vieux programmes, dans la jungle infestée de moustiques, et dans l'autre cas, on est sur les nuages blancs de l'utopie théorique et délirante. Donc, c'est sûr, vous n'aurez pas le même genre de tests.

Ca aussi, il aurait fallu nous le dire dès le début. Dans le monde réel, moins de 1 pourcent des informaticiens travaillent à la réalisation d'un OS, les 99 autres pourcent utilisent juste celui qui est à leur disposition. Mais, dans le monde scolaire, on peut se permettre de réinventer ou d'étudier les mécanismes internes des OS.
 
J'ai rarement vu des profs écrire des lignes de codes. Et en général, ils détestent le code C. Mais par contre il écrivent souvent des lignes de pseudo-code. Et on peut faire du pseudo-code très compact en utilisant des mots vagues.
 
Donc, je pense qu'il vous serait profitable de vous concentrer sur du vocabulaire : objet, instance, assertion, prédicat, paradigme, lemme, l-value, réassignation, reusability, scalability, automate (fini), phase, structure, système, environnement, virtuel (mémoire), multi, parallèle, signal, noyau, exception, carte perforée, pico, femto, tera, peta, silicium, arsenure de gallium, contrôleur, pipeline, core, cache de deuxième niveau, filtre, Fourrier, von Neumann, Turing, temps réel, méthode prédictive, multiplex, fibre optique, pigeon voyageur...


Message édité par billgatesanonym le 25-06-2011 à 10:15:54
n°2084868
darkeagle1​0
Je choisis l'option offensive
Posté le 25-06-2011 à 12:53:38  profilanswer
 

J'admets que j'aurais du préciser à quelle fin était destinée ma recherche.
Je vous assure, le prof en question sait très bien coder des fonctions système en C lui-même, l'option en question porte sur la sécurité des logiciels, OS et réseaux.

 

Que 99% des personnes n'utilisent pas de C dans ce cadre-là, je m'en fiche un peu à vrai dire. En quoi voir comment un ordonnancement d'OS fonctionne est utopique ? (oui je suis effectivement encore étudiant sans expérience pro, je ne le cache pas)

 

Je recherchais juste à savoir si ce genre d'exos existaient sur la toile (il arrive qu'on ne parvienne pas à mettre un terme sur un domaine particulier, c'est quand même plus pratique de le connaître avant de se lancer dans une recherche).

 

@el muchacho : merci de porter autant d'attention à mon post, je vous en suis gré. Je doute que le noyau linux soit la meilleure solution didactique pour apprendre du code C (même si j'en conviens, il doit être très riche), j'aurais plutôt vu ceci comme une 2ème étape ... après quelque chose de plus "light".


Message édité par darkeagle10 le 25-06-2011 à 13:06:08

---------------
Gates gave you the windows. GNU gave us the whole house.
n°2084879
breizhbugs
Posté le 25-06-2011 à 14:38:46  profilanswer
 

Bonjour,
Le code des demomakers, ceux qui font des intro 4k et 64k peut être ? (enfin si ils codent en C!)


---------------
Seul Google le sait...
n°2084990
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 26-06-2011 à 18:14:37  profilanswer
 

...pigeon voyageur... Polymorphisme par heritage, heritage multiple, Interface, classe abstraite, template, late binding...
 
T'avais oublie le meilleur :P

n°2085010
Tsomi
From station to station
Posté le 26-06-2011 à 21:08:12  profilanswer
 

Plop,
 
Je me demande si ce n'est pas ça que tu cherches : par exemple, le Duff's Device ou certaines implémentations très raccourcies de strcpy ou strncpy.
 
Bon y a aussi des trucs vraiment hardcore mais je pense que c'est une très mauvaise idée d'avoir ça trop longtemps sous les yeux :o
 
EDIT : Master Info à Lille 1 ? On risque de se voir l'année prochaine.


Message édité par Tsomi le 26-06-2011 à 21:09:56
n°2085385
gueuledang​e
Smokin chroniı̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨c
Posté le 28-06-2011 à 07:49:10  profilanswer
 

Une puissance calculé sans boucle c'est pas hardcore, c'est magnifique :P
 
C'est grace a cet algo que le 1er wolfenstein est sorti en pseudo 3d (raycasting) ça optimise le calcul a mort :O


Message édité par gueuledange le 29-06-2011 à 20:53:01
n°2085587
darkeagle1​0
Je choisis l'option offensive
Posté le 28-06-2011 à 19:54:41  profilanswer
 

Hep merci pour ces infos Tsomi :)
 
(oui on risque de se voir ^^, si tout va bien je serai en M2 TIIR, enfin on verra les résultats ;) ).


---------------
Gates gave you the windows. GNU gave us the whole house.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Cours de C "minimaliste en lignes, riche en résultats"

 

Sujets relatifs
C, Fortran, OpenGLAfficher résultats base mysql -> tableau html horizontal
Ecrire une bibliothèque en C++Question Visual C++
preg_match() sur plusieurs lignesC, linux et les pipes
[C# .NET] Crash d'une DataGridViewRecherche et suppression de plusieurs lignes simultanément
cours C++ concis ? 
Plus de sujets relatifs à : Cours de C "minimaliste en lignes, riche en résultats"


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR