Ca marche FILE* avec les SOCKET de windows ?
Version imprimable
sans doute... un HANDLE n'est pas si différent d'un descripteur de fichier completé
un exemple :
http://web.mit.edu/Source/third/perl/win32/win32sck.c
faudrait peut-être un peu chercher... mais je ne penses pas que ce soit indispensable
sauf mauvaise foi extrême d'un codeur Java, il faut quand même se dire que tous les langages fournissent de quoi ne pas réinventer la roue en permanence... même si ce n'est pas dans l'api de base, dans un environnement professionnel, le choix des librairies externes aura été fait, et tout le monde aura de quoi bosser sans repartir de zéro
je ne continuerais pas sur ce point précis... même si certains tenteront (ou pas) d'affirmer que l'approche modulaire n'est possible qu'avec un langage objet et une énorme API de base ^^
Je suis bien d'accord mais ce que je voulais dire c'est que surtout en C si tu veux utiliser la norme C99 avec gcc tu aura bien du mal car cette norme est encore très loin d'y être entièrement incorporée.
A non je n'est jamais essayé. En quoi pose t-il problème ?
le c99, t'es assez mal barré... la seule chose à être "vraiment" portable, c'est le C-ANSI :aie:
en ce qui concerne C++, je dirais que même les compilo à la mode sont pas géniaux côté respect de la norme...
il a fallu attendre g++ 4 et vc++ 2003 pour avoir certaines fonctionnalités
pour infos, j'ai entendu dire que le compilo le plus respectueux de la norme était comeau c++ ; je ne peux confirmer car je l'attend encore :aie:
on peut généraliser à tous les compilo java autre que celui de sun... :aie:
par ailleurs, pas mal d'implémentations sont en pratique restées au stade de jdk 1.4, ce qui ralentit fortement les exécutions si tu utilises les generics (entre autres)
Pour le C99, en portable, autant laisser tomber. Chez Microsoft, ils ne semblent toujours pas intéressés.
Pour le C++, les particularités incompatibles concernent des aspects particulièrement avancés du langage. Pas des aspects que rencontrent les utilisateurs lambdas qui en sont restés au "C/C++ où la mémoire doit être gérée à la main." :?
Dans tous les cas, problèmes de portabilités réseau, c'est encore autre chose vu que ni le C, ni le C++ n'ont quoique ce soit en standard -- comme dit précédemment. Il faut donc se diriger vers des frameworks portables qui encapsulent tout cela.
C'est "pire" que cela (-> pas besoin de changer de fournisseur). Il y a parfois des régressions entre les java 1.3 et 1.4 de chez sun, régressions qui sont corrigées en 1.5.
Ou encore, un truc que j'ai rencontré avec ma machine: le firewall applicatif pour XP qui accompagne ma carte mère (qui intègre une carte réseau) fait planter des JVM de sun...
La portabilité, grâce à l'hégémonie de Sun, est plutôt pas mal du tout, mais pas parfaite. S'il faut comparer quelque chose, c'est le côté une compilation (Java et autres langages interprétés) vs 15 compilations (C&C++). Dans tous les cas, il y aura 15 séries de tests intensifs à réaliser.
=> +1 à ce que tu (gorgonite) disais