OVH Cloud OVH Cloud

apprentissage de le programmation windows

36 réponses
Avatar
Eric Wajnberg
Bonjour,

J'aurai besoin d'un conseil.

Je cherche à apprendre la programmation d'applications Windows.

Je connais déjà bien le C et également bien la programmation directement de
la Xlib (sous X11) sous Unix. J'ai besoin à présent de développer du code
sous windows.

J'ai donc deux/trois questions:

1) Je cherche un compilateur simple, souple, efficace et freeware qui me
permettre d'écrire, débugger et compiler du C à volonter. Et qui puisse
inclure des librairies (et/ou un éditeur de ressources) qui me face gagner
(beaucoup) de temps. En connaissez vous un? J'ai entendu parler de
lcc-win32. Que me conseillez vous? J'aimerai bien un compilateur qui possède
un forum de discussion en cas de problème, mais on ne peut pas toujours
réver..

1.bis) où pourrais-je trouver des librairies disponibles qui vont avec
(widgets, boutons, ascenseurs, etc..)? Toujours en freeware.

2) Je voudrais apprendre à partir d'un livre qui commence par le BA-BA, mais
qui soit exaustif, au besoin en anglais. Les sites web que j'ai visité et
qui présentent des tutoriaux ne me parraissent pas assez complets et pas
forcement clairs. Quel ouvrage me conseillerez vous?

D'avance merci pour toute aide sur ce point.

Eric.

10 réponses

1 2 3 4
Avatar
AMcD®
Vincent Burel wrote:

Ca dépend ce qu'on programme mon cher,



Eh oui ! En France, c'est du Database et de la gestion à fond les gamelles.
Alors, Java, .Net, et toutes ces horreurs où tu génères 1 Mo de "compilé"
pour 3 instructions, tous ces trucs où il te faut 100 Mo de DLLs installées,
une rangée de 25 livres officiels derrière toi et 3 mois de brouillard
intellectuel pour faire une appli que tu faisais en 1/2 journée en C, c'est
vachement à la mode. Moi, j'adore certains forums C++/.Net. Plus la réponse
est imbitable et plus le gars se donne de l'importance. Et après, ces gars
là massacrent l'assembleur sous prétexte que ce n'est pas portable. Mouarf.

Ceux qui travaillent dans le
millieu pro sont confronté à des sessions débugging où certain partie
du soft sont protégé par de la clef hardware, ou certaine partie du
code sont externalisées dans de la carte additionnel, et le debugger
VC ne sert plus à rien, il faut faire de la trace sur disque, allumer
des diode, ou faire péter du rapport sur l'imprimante. Vous vous
travaillez dans un autre domaine, n'en faite pas une généralité ,
merci.



Oui. Mais nous sommes des extra-terrestres nous, tu le sais :-). Allez, une
bonne anecdote tiens. Il y a 18 mois environ, quand .Net et son managed à la
gomme a commencé à intéresser le cerveau peu rapide de nos compatriotes
(toujours à la bourre d'une guerre), un gars m'a demandé si je passais à
.Net. J'avais répondu un truc du genre "heu, comme ça là, si j'ai bien
suivi, je préfèrerai me remettre au Java. J'avoue que j'ai du mal à saisir
l'avantage de .Net. Mais bon, pour l'instant je reste au bon Win32 et au
C/C++ avec un chouilla d'ASM". Le gars s'étais bien marré et m'avait dit,
"lol, c'est fini Win32, tu pourras plus coder d'application Win32. Au
prochain Developer Studio c'est terminé". 18 mois plus tard, je ne vois
toujours pas d'applications .Net autour de moi. Faut vraiment aller les
chercher où elles sont pour les voir. Qui a le framework .Net installé chez
soi ? Personne.

Ha ces marketteux...

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Remi Thomas
"AMcD®" wrote

Salut,


Ca dépend ce qu'on programme mon cher,



Eh oui ! En France, c'est du Database et de la gestion à fond les
gamelles. Alors, Java, .Net, et toutes ces horreurs où tu génères 1 Mo de
"compilé" pour 3 instructions, tous ces trucs où il te faut 100 Mo de DLLs
installées, une rangée de 25 livres officiels derrière toi et 3 mois de
brouillard intellectuel pour faire une appli que tu faisais en 1/2 journée
en C, c'est vachement à la mode. Moi, j'adore certains forums C++/.Net.
Plus la réponse est imbitable et plus le gars se donne de l'importance. Et
après, ces gars là massacrent l'assembleur sous prétexte que ce n'est pas
portable. Mouarf.




Pouvoir jouer sur tous les tableaux à le fois c'est pas mal non plus.
Perso j'ai une application où tout l'interface utilisateur est faite en
.NET, les traitements numériques en C++ et le traitement sensible optimisé
avec quelques instructions assembleur.

L'interface utilisateur a été faite en 3 jours et offre tous les avantages
(boite de dialogue resizable, drag & drop, ...). Quelque soit la techno
c'est Windows qui attend l'utilisateur de toute façon.
Les traitements qui doivent être portable et rapide (sur des images de
6000x6000 niveau de gris) bien entendu c'est fait en C++. J'ai fait des
tests en .NET et je suis 85% plus lent qu'en C++.

Les applications sans traitement numérique, derriere c'est de la base de
donnée, du réseau, de l'interface utilisateur... alors le faire en .NET ou
en C++ cela ne change rien au niveau perf.
Pour du traitement, C++ + ASM cela reste l'idéal. Alors pouvoir mixer les
technos c'est pas mal je trouve.

Oui. Mais nous sommes des extra-terrestres nous, tu le sais :-). Allez,
une bonne anecdote tiens. Il y a 18 mois environ, quand .Net et son
managed à la gomme a commencé à intéresser le cerveau peu rapide de nos
compatriotes (toujours à la bourre d'une guerre), un gars m'a demandé si
je passais à .Net. J'avais répondu un truc du genre "heu, comme ça là, si
j'ai bien suivi, je préfèrerai me remettre au Java. J'avoue que j'ai du
mal à saisir l'avantage de .Net. Mais bon, pour l'instant je reste au bon
Win32 et au C/C++ avec un chouilla d'ASM". Le gars s'étais bien marré et
m'avait dit, "lol, c'est fini Win32, tu pourras plus coder d'application
Win32. Au prochain Developer Studio c'est terminé". 18 mois plus tard, je
ne vois toujours pas d'applications .Net autour de moi. Faut vraiment
aller les chercher où elles sont pour les voir. Qui a le framework .Net
installé chez soi ? Personne.




Il est présent sur les CD SP1 et SP2 de XP pour ceux qui en ont besoin.
C'est comme le runtime VB6, tu ne l'installe pas pour passer le temps mais
uniquement le jour où tu en as besoin.
Seul soucis il faut être administrateur de son poste pour l'installer.

Ha ces marketteux...




Oui, mais techniquement .NET tiens très très bien la route.

Rémi
Avatar
AMcD®
> Pouvoir jouer sur tous les tableaux à le fois c'est pas mal non plus.



Ouaip.

Quelque
soit la techno c'est Windows qui attend l'utilisateur de toute façon.



Oui. d'où mon peu d'intérêt pour .Net...

Les traitements qui doivent être portable et rapide (sur des images de
6000x6000 niveau de gris) bien entendu c'est fait en C++. J'ai fait
des tests en .NET et je suis 85% plus lent qu'en C++.



D'où mon désintérêt de .Net :-).

Qui a le
framework .Net installé chez soi ? Personne.





Il est présent sur les CD SP1 et SP2 de XP pour ceux qui en ont
besoin.



Oui. Mais qui en a besoin ?

C'est comme le runtime VB6, tu ne l'installe pas pour passer
le temps mais uniquement le jour où tu en as besoin.



Oui. Mais quand a-t-on besoin du framework .Net ?

Oui, mais techniquement .NET tiens très très bien la route.



C'est ce que tout le monde dit. Je n'y connais pas grand chose, pour une
fois, je m'abstiendrai donc de critiquer techniquement.

Sinon, bonne année 2005 à toutes les têtes de lard avec qui je m'étrippe
depuis des lustres ici ou ailleurs sur usenet ! Je vous aime bien quand même
va ;o). Heu, et à tous les autres aussi d'ailleurs.

À l'an prochain.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Remi Thomas
Remi Thomas wrote:

Normalement c'est le Petzold
http://www.charlespetzold.com/pw5/
Il existe en français.




Salut,
Je viens de remarquer sur sur cette page tu as:
Use the Book with Gnu Tools
The example programs in Programming Windows are designed to be compiled with Microsoft Visual C++.
If you would prefer to use the open-source Gnu programming tools to compile the programs, Gnu
Makefiles For Charles Petzold's Example Programs has complete instructions and downloads.

Rémi
Avatar
FrekoDing
AMcD® ecrivait le 31/12/2004 17:44:

Qui a le
framework .Net installé chez soi ? Personne.







il faut recentrer le debat.
.Net est une usine à gaz aujourd'hui coté client. il faut attendre
l'avenement de longhorn qui integrera .Net en natif.
La ou .Net prend toute sa dimension c'est coté serveur et base de
données grace au couple ASP .Net/ADO .Net.
Je peux t'assurer qu'en terme de productivité, c'est le top !

Sinon, bonne année 2005 à toutes les têtes de lard avec qui je m'étrippe
depuis des lustres ici ou ailleurs sur usenet ! Je vous aime bien quand même
va ;o). Heu, et à tous les autres aussi d'ailleurs.



Bonné année.
Avatar
Emmanuel Delahaye
Vincent Burel wrote on 31/12/04 :
"Arnaud Debaene" wrote in message
news:41d52e84$0$31569$

non, je ne suis pas très usagé de Macro... mais de define oui,


C'est quoi la différence?



Drole question... alors je crois qu'une macro est une suite d'instruction
regroupées sous la forme d'une instruction unique.



[Preprocesseur C et C++, c'est le même]

Une macro opère une substitution de caractères.

un define sert à définir



Un define sert à définir une macro.

des section de code active ou inactive dans le source.



Ca, c'est une des nombreuses applications des macros.

--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html

"Clearly your code does not meet the original spec."
"You are sentenced to 30 lashes with a wet noodle."
-- Jerry Coffin in a.l.c.c++
Avatar
Emmanuel Delahaye
Remi Thomas wrote on 31/12/04 :
Si tu veux. Certain font toujours leurs page HTML avec notepad, chacun
exploite son temps libre comme il veut :-)



Euh, je préfère UltraEdit, ne serait-ce que pour le FTP intégré!

--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html

"Mal nommer les choses c'est ajouter du malheur au
monde." -- Albert Camus.
Avatar
Vincent Burel
"Emmanuel Delahaye" wrote in message
news:
Vincent Burel wrote on 31/12/04 :
> "Arnaud Debaene" wrote in message
> news:41d52e84$0$31569$
>
>>> non, je ne suis pas très usagé de Macro... mais de define oui,
>> C'est quoi la différence?
>
> Drole question... alors je crois qu'une macro est une suite


d'instruction
> regroupées sous la forme d'une instruction unique.

[Preprocesseur C et C++, c'est le même]

Une macro opère une substitution de caractères.



ah ouai, c'est typiquement le genre de def qui sert à rien, aussi absurde
qu'incomplète... elle s'adresse plus au développeur qui programme un
préprocesseur, qu'à un utilisateur qui cherche à cerner l'usage et l'utilité
des macro... On ne peut pas non plus vous demander plus que de recopier un
bout de livre, c'est vrai. :-)

VB
Avatar
Emmanuel Delahaye
Vincent Burel wrote on 02/01/05 :
Une macro opère une substitution de caractères.



ah ouai, c'est typiquement le genre de def qui sert à rien, aussi absurde
qu'incomplète...



Que propose-tu comme définition ?

--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html

"C is a sharp tool"
Avatar
Vincent Burel
"Emmanuel Delahaye" wrote in message
news:
Vincent Burel wrote on 02/01/05 :
>> Une macro opère une substitution de caractères.
>
> ah ouai, c'est typiquement le genre de def qui sert à rien, aussi


absurde
> qu'incomplète...

Que propose-tu comme définition ?



A quoi répondais tu avec ton "Une macro opère une substitution de
caractères." !? :-)

bref... faisons vite (d'autant que je me répète)
Le préprocesseur, permet de modifier le code source avant compilation en
définissant :
- des Macro (suite d'instructions regroupés en une seule).
- des "définitions constituant des options ou des conditions susceptibles
d'activer ou de désactiver certaines parties du code source.
- des termes symboliques permettant de rendre certains termes ou chiffre
plus explicites.
- des termes, ou des mots à redéfinir, (élément du langage, noms de
fonctions).

C'est pourquoi, il serait utile qu'un IDE comme le MSVC par exemple affiche
en temps réel, le contexte préprocesseur de la ligne de code source pointé
par le curseur. Ca peut éviter de modifier du code dans la mauvaise section,
ca peut éviter de confondre une macro avec une fonction, et ca permet tout
simplement de voir mieux ce qui se passe dans du code source, qui est de
plus en plus conditionné , par la target processeur, target platform, et
target user : Beta, Demo, NFR, Dealer, Limiter, Eval Version... sans compter
au bout de quelques années les diverses versions et les ajouts de
fonctionnalité et essai méthodologique variés mis dans une #ifdef #endif
pour pouvoir revenir à un état stable très rapidemment, ou faire plusieurs
test sans perdre l'intégrité du source dans le temps...

VB
1 2 3 4