OVH Cloud OVH Cloud

conversion long en string

24 réponses
Avatar
john.ambou
Bonjour,

Je voudrais convertir un long en string afin de pouvoir ensuite
l'envoyer =E0 l'aide de socket.
Connaissez vous un moyen de faire cela ?

4 réponses

1 2 3
Avatar
Aski
Hello Patrice Henrio,

Tu as savamment écrit :

Pour ma part je dispose de visual studio et d'un gros bouquin sur
visual C++ (Visual C++
de chez Eyrolles)



Je trouve cet éditeur-compilateur très complexe.
J'ai celui de Sybex. Il n'est pas bon.

Avec les indications de jean-marc je n'ai eu aucune difficulté à
faire des dll pour que la partie calcul de mon programme Vb se fasse
en C.



J'en ai fait également une Dll dans les mêmes conditions fin 2004 et ce sont
Patrick, Olivier et Nicolas qui m'on aidé sur le groupe C++.

Pour être plus précis, je dispose d'un tableau de 60000 double qui
sont les coordonnées terrestres de 30000 points et je dois recalculer
à chaque clic sur une carte les coordonnées de ces points projetés
sur un plan tangent à la surface du globe (le point de tangence
changeant régulièrement) et je ne parle même pas de ramener tout ce
calcul à la dimension de l'écran dont l'origine n'est pas au centre.

J'avais déjà signalé à l'époque que le gain de temps par le passage
au C était des 2/3, c'est à dire que là où le processeur était
utilisé 15 secondes, il ne l'était plus que 5.



Il s'agissait pour moi de rechercher les données du WAB, donc c'était du
texte.

Par contre j'ai essayé de me mettre à java et j'ai l'impression de
perdre au niveau du temps d'exécution : est-ce une illusion ou une
mauvaise méthode ?
Peut-on intégrer des dll en C dans du code java que cela reste
portable sur toute plate-forme ?

Bon week-end à tous.



Dito

Henri
Avatar
jean-marc
"Patrice Henrio" a écrit dans le message de
news:
Pour ma part je dispose de visual studio et d'un gros bouquin sur


visual C++
(Visual C++
de chez Eyrolles)

Avec les indications de jean-marc je n'ai eu aucune difficulté à faire


des
dll pour que la partie calcul de mon programme Vb se fasse en C.

Pour être plus précis, je dispose d'un tableau de 60000 double qui


sont les
coordonnées terrestres de 30000 points et je dois recalculer à chaque


clic
sur une carte les coordonnées de ces points projetés sur un plan


tangent à
la surface du globe (le point de tangence changeant régulièrement) et


je ne
parle même pas de ramener tout ce calcul à la dimension de l'écran


dont
l'origine n'est pas au centre.

J'avais déjà signalé à l'époque que le gain de temps par le passage au


C
était des 2/3, c'est à dire que là où le processeur était utilisé 15
secondes, il ne l'était plus que 5.



Cela semble tout à fait OK, c'est le gain attendu pour ce type
d'opérations.


Par contre j'ai essayé de me mettre à java et j'ai l'impression de


perdre au
niveau du temps d'exécution : est-ce une illusion ou une mauvaise


méthode ?

Ni l'un ni l'autre. En calcul brut, Java est plus lent que C.

Peut-on intégrer des dll en C dans du code java que cela reste


portable sur
toute plate-forme ?




[Je ne suis pas un expert Java: ce qui suit sous réserve]

On peut appeler des fonctions écrites en C et compilées dans une dll
depuis une
appi en Java.
Quand à la portabilité, il faut voir. Bien évidemment, si on parle de
compatibilité binaire, elle disparait: une machine Unix ne saurait même
pas
ce qu'est une dll, envore moins compilées sous Windows.

MAIS, si on écrit les fonctions en C ANSI (ce qu'on doit bien sur
TOUJOURS faire),
alors pas de soucis. Il suffit de recompiler sur la plateforme souhaitée
avec
le compilateur adéquat, et ça roule.
Par exemple sous Unix, les librairies dynamiques (équivalent des dll)
existent.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
jean-marc
"Aski" a écrit dans le message de
news:
Hello jean-marc,

Tu as savamment écrit :

>> nous
>> conseille quant au C pur sans IHM. :-)
>
> Ce sera avec joie, mais quels genre de conseils?

Pardon, je parlais de l'éditeur, compilateur.



Difficile de donner des "conseils".

Note que le tutorial que j'avais indiqué pour compiler
une dll est tout à fait utilisable pour faire un programme
classique (un exe):
http://users.skynet.be/candide/tuto/cetvb.htm

Il suffit ce choisir "Win32 Console Application" au lieu
de "Win32 Dynamic Library", le reste est identique.


Perso, je suis familier de cet IDE, je l'utilise depuis
plus de 10 ans (lui ou son prédécesseur). Il n'est pas
compliqué, juste riche. J'ai formé une collègue au début de
l'année, elle n'avait jamais utilisé cet environnement, en
une matinée, elle était opérationelle et en savait autant
que moi.

En revanche, il faut être familier avec la façon dont on fabrique
un programme (ce que cache VB, en fait):
- Préprocesseur,
- Compilation,
- Edition des liens.

Bien connaitre aussi les notions d'unité de traduction, de librairies
statiques ou dynamiques, etc...

En fait, l'IDE de Visual C++ n'est pas plus compliqué à utiliser qu'un
autre, il est même très agréable quand on le connait bien, tout aussi
sympa que celui de VB. Pour l'anecdote, je ferais une page web un de ces
jours qui explique comment on compile un programme en C sur un mainframe
IBM sous z/OS... Tout un programme, vous pouvez me croire :-))

Pour ceux qui sont rétifs aux IDE, on peut tout à fait compiler sous
Windows
en utilisant gcc (gratuit) par exemple, qui est un des standards
reconnus.
Il y en a d'autres.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Aski
Hello jean-marc,

Tu as savamment écrit :

Difficile de donner des "conseils".

Note que le tutorial que j'avais indiqué pour compiler
une dll est tout à fait utilisable pour faire un programme
classique (un exe):
http://users.skynet.be/candide/tuto/cetvb.htm

Il suffit ce choisir "Win32 Console Application" au lieu
de "Win32 Dynamic Library", le reste est identique.
...............



Merci pour ces conseils que tu n'as pas donnés. lol rofl lol
--
Cordialement
Aski
1 2 3