OVH Cloud OVH Cloud

Conseils pour débuter en C sous Windows

18 réponses
Avatar
Cirus Minor
Bonsoir,

Je connais bien le C Ansi (je programme depuis plusieurs années sur
68332, 80C196, etc). Mais pour l'instant, en C, je n'ai fait que de
l'embarqué ou du DOS.

Je voudrais donc me mettre à la programmation en C sous Windows (mais pas
de C++), sans débourser un rond (sauf au pire un bouquin), et mieux, en
libre. Que me conseillez-vous pour commencer, en sachant que j'ai gcc,
MinGW et pas grand-chose d'autre ?

Où trouver des tutoriels bien faits, des conseils, des librairies etc
sans trop se prendre la tête ?

Merci.



--
Cirus Minor

8 réponses

1 2
Avatar
FrekoDing
Le 14/06/2004 20:09, Matt... écrivait ceci :

Et puis, c'est vrai c'est pas du Windows mais du dos, mais tu peux faire
de la programmation C sans faire appel à l'API windows.



tiens donc ?!
faudrait m'expliquer comment creer des fenetres sans passer par l'API
Win32 ?!
(ce que voulait l'auteur)
@+
Avatar
AMcD®
Cirus Minor wrote:

Donc API windows, forcément, mais je ne veux pas de librairies
propriétaires. Pour l'IDE, je vais continuer avec ce que j'ai, i.e.
CodeWrigth et/ou UltraEdit...



C'est quand même un peu compliqué ton truc ! Pas de librairie propriétaire ?
Les DLLs que tu vas interfacer via des fonctions d'API, elles appartiennent
à Microsoft. Tu ne pourras pas l'éviter. Je ne comprends pas trop ce que tu
recherches. Quel que soit le compilateur que tu vas utiliser, le code C ou
C++ sera tout de même portable à, allez, 95 %. Ce qui ne le sera pas c'est
les librairies dépendant de tel ou tel éditeur OWL, MFC, etc. Mais tu peux
tout à fait t'en passer. Si tu fais du C ou du C++ pur et dur tu n'auras pas
de problème. Au pire, 2-3 define et 2-3 modifs d'un compilo à l'autre.

Mais ne rêve pas, la prog Windows, ce n'est pas de la prog Linux. Il me
semble que tu part avec un esprit de Linuxien dans le monde de la
programmation Windows. Tu vas souffrir :o).

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Pierre Maurette
Cirus Minor typa:

"Matt..." a pris son petit clavier pour y
tapoter ceci :

La plupart, sinon tous les liens qu'ils t'ont donné font appels
au API
de windows... Alors pour rester compatible (qu'est ce que tu appelles
compatible au fait ???) ou/et portable, c'est mal barré... Pour un IDE
sympa, il y a DEV C++...



Je précise : compatible/portable d'un compilateur C à un autre. Je veux
bien sûr faire une appli Win (et pas Dos), mais ne pas dépendre des
librairies de tel ou tel compilateur, sauf si c'est du libre... Donc pour
l'instant, Lcc ou MinGW me semblent OK.

Donc API windows, forcément, mais je ne veux pas de librairies
propriétaires. Pour l'IDE, je vais continuer avec ce que j'ai, i.e.
CodeWrigth et/ou UltraEdit...


Téléchargez Borland C++BuilderX Personel (gratuit) et jetez-y un oeil.
Vous aurez un IDE multiplateforme, C++ 5.6 de Borland et MinGW et
quelques trucs comme les bibs Boost, wxWidgets, etc. Autant la projet
complet semble avoir du plomb dans l'aile, autant la version de base
vaut tous les UltraEdit de la création. En revanche (je vois que vous
parlez de C), ne perdez pas de temps avec leur nouveau compilateur
6.0, dit "preview" actuellement, conforme C99 (mais qui ne marche
pas).
--
Pierre
Avatar
Matt...
FrekoDing a écrit :
Le 14/06/2004 20:09, Matt... écrivait ceci :

Et puis, c'est vrai c'est pas du Windows mais du dos, mais tu peux
faire de la programmation C sans faire appel à l'API windows.




tiens donc ?!
faudrait m'expliquer comment creer des fenetres sans passer par l'API
Win32 ?!
(ce que voulait l'auteur)
@+



Bonsoir,

Pour faire des fenetres sans passer par l'api Win32, il y a des
bibliotheques tel que QT ou wxWidgets, qui sont multiplateformes...

pour wxWidgets :
http://www.wxwidgets.org/

pour Qt :
http://www.trolltech.com/

Pour le cas ou tu aurais des petits soucis de traduction :
http://www.gratissimo.com/gratuit/Culture_et_Connaissance/Traduction_en_ligne/


Mais la question initiale n'est pas la, on s'égard...
Il veut faire du portable.
On lui donne des liens sur l'utilisation de l'api Win32.
Je lui ai simplement dit qu'il était mal barré, c'est tout. Pas la peine
dans faire tout un plat.

Matt..

Un IDE sympa : MinGW Developer Studio
Avatar
FrekoDing
Le 15/06/2004 22:20, Matt... écrivait ceci :

Bonsoir,

Pour faire des fenetres sans passer par l'api Win32, il y a des
bibliotheques tel que QT ou wxWidgets, qui sont multiplateformes...



sur Windows, ces librairies s'appuient sur l'API Win32.

Pour le cas ou tu aurais des petits soucis de traduction :
http://www.gratissimo.com/gratuit/Culture_et_Connaissance/Traduction_en_ligne/



Monsieur connait l'adresse par coeur !

Mais la question initiale n'est pas la, on s'égard...
Il veut faire du portable.



Du portable... hummm !
il va falloir qu'il mette les mains dans le cambouis, parce qu'hormis
l'aspect visuel,
aucune API ne permet un code 100 % portable aujourd'hui.

On lui donne des liens sur l'utilisation de l'api Win32.
Je lui ai simplement dit qu'il était mal barré, c'est tout. Pas la peine
dans faire tout un plat.



ce n'était pas l'objectif.
@+
Avatar
Aurélien REGAT-BARREL
> Pour faire des fenetres sans passer par l'api Win32, il y a des
bibliotheques tel que QT ou wxWidgets, qui sont multiplateformes...



Elles sont en C++, pas en C ;-)

--
Aurélien REGAT-BARREL
Avatar
Aurélien REGAT-BARREL
> > Pour faire des fenetres sans passer par l'api Win32, il y a des
> bibliotheques tel que QT ou wxWidgets, qui sont multiplateformes...

sur Windows, ces librairies s'appuient sur l'API Win32.



La grosse différence étant que Qt utilise au minimum Win32 (les composants
button, etc... ne sont pas utilisés mais recodés...) tandis que wxWidgets
est plutôt une wrapper portable de code système (encapsule Win32 sous
Windows, GTK ou Motif sous Linux, ...).

--
Aurélien REGAT-BARREL
Avatar
Christian Delmas
Liens en FRANCAIS :

- Les compilateurs : http://c.developpez.com/compilateurs/
- Les tutoriels C : http://c.developpez.com/cours/#c
- La F.A.Q C : http://lfe.developpez.com/FAQ/C/
- Le Tutoriel Programmation API Windows :
http://bob.developpez.com/tutapiwin/

:-)
1 2