Newsgroup: it.comp.programmare.win32
Titolo: Programmazione C

Mi chiedevo se fosse possibile programmare nel linguaggio in oggetto
sotto sistemi operativi recenti con la possibilità di realizzare GUI
(principalmente sotto  Microsoft Windows). Ovviamente intendo il C vero
e proprio e non linguaggi OOP come il C++. In caso di risposta
affermativa quali strumenti sono necessari? Ringrazio anticipatamente
per l' attenzione.

 affermativa quali strumenti sono necessari? 
Il Windows SDK della Microsoft (raccomandato), oppure gli header file e
le librerie di import per il compilatore che usi.

A tal proposito quale compilatore consiglieresti? Sbaglio oppure il
Visual C++ non è adatto allo scopo in quanto impone l'utilizzo della
programmazione orientata agli oggetti nello sviluppo di interfacce
grafiche? Grazie per la disponibilità.

Visual C++ e' uno strumento di sviluppo che ti permette di fare un
sacco di cose, tra queste anche cio' che interessa a te. Dal wizard di
creazione dei progetti, prova a crearne uno di tipo Win32Application e
poi seleziona "A simple Win32 application": ti viene generato un
progetto che contiene solo il metodo main. A questo punto ... sono
tutti cavoli dello sviluppatore ^__^



IlBardoSilente ha scritto:

Già il fatto che parli di "metodo" non implica che si tartti di
programmazione orientata agli oggetti? Cioè così facendo hai comunque
una classe? Grazie mille per la risposta.



In realtà lo ha chiamato "metodo" perchè sarà troppo addentro alla 
programmazione Java o C# dove non esistono funzioni "pure". E' una funzione. 
Se ben ricordo ti genera un main standard (anzi, forse ti genera un _tmain o 
qualcosa del genere, che è un main che va bene sia per unicode che per ansi)
Nella programmazione C si usa lo stesso qualcosa di grafico. Il Windows ha 
un supporto nativo a risorse di tipo dialog (in termini semplici nel senso 
che puoi inserire disegni di finestre all'interno del tuo exe). Ovviamente 
per fare queste dialog ti serve un dialog editor :-) (che il VC++ ha)
Cmq a meno che tu non sia abbastanza masochista o non abbia necessità 
VERAMENTE particolari, io sconsiglio fortemente la programmazione diretta in 
C su Windows. Io personalmente considero la programmazione tramite ATL+WTL 
(
wtl.sourceforge.net
) il metodo più leggero e pratico per programmare per 
Windows volendo usare il C++ (e se la domanda è: ma posso creare un exe 
"puro" senza allaccia dll con ATL+WTL la risposta è sì... solo che bisogna 
barare un minimo)
--- bye 

Il motivo che mi spinge ad usare il c e che devo scriere codice
efficiente sotto win32 e non ho conoscenze approfondite di c++ (e al
momento non posso studiare tale linguaggio).
In ogni caso dove è possibile reperire documentazione relativa la
programmazione c di interfaccie grafiche? Grazie mille.

programmazione c di interfaccie grafiche? Grazie mille.
Mmmh... Prelevati l'SDK e parti da lě. Ci sono esempi di programmazione C a 
bizzeffe (tecnicamente ci sono SOLO esempi di programmazione C nella parte 
dell'API del windows). Ci sono anche esempi su come fare un programma per 
Windows... Come registrare una finestra e poi gestire i messaggi. Ma 
lasciatelo dire... Bwahahahahahahahahahahahahah
Scusa... Ma č realismo :-) Come si suol dire "been there, done that"
--- bye 

Ho fatto una ricerca sul sito di Microsoft ma sembra che del Windows
Sdk non ci sia più traccia. Possibile? Non è che, come nel caso del
DDK, l'unico modo di ottenerlo è di richiedere direttamente a
Microsoft il materiale su supporto ottico?


Se vuoi programmare in C devi metterci un po' più di impegno... usare il 
google può essere un inizio.
(per esempio Windows sdk... I primi due links vanno entrambi bene... Peccato 
che ti portano alla versione "Web Install"... Io normalmente preferisco la 
versione "da prelevare a manina con flashget o altro downloader". Cmq a 
centro pagina trovi tutto.
http://www.microsoft.com/downloads/details.aspx?familyid=EBA0128F-A770-45F1-86F3-7AB010B398A3&displaylang=en
Questo è il più aggiornato (credo).
Per quanto riguarda il fatto che ti dicono che la compatibilità parte dal 
Win2000 non ci dovrebbero essere problemi. La compatibilità parte dalle API 
che tu usi. Se usi API che sono state introdotte nel Win2000 il tuo 
programma girerà solo dal Win2000.
Per quanto riguarda il compilatore, se non hai già il VC++ puoi prelevare il 
VC++ 2005 express beta da qualche parte. Oppure se vuoi un compilatore a 
linea di comando puoi cercare
il Visual C++ Toolkit 2003
--- bye 

Giuseppe ha scritto:

Visual C++ (incluso in VisualStudio) è lo strumento di sviluppo
"ufficiale" di Microsoft. Inutile dire che puoi provare tutti gli
strumenti, ma prima o poi finisci lì. VisualStudio è un ambiente
completo e integrato, e ha il difettuccio che costa.
Gratuitamente puoi scaricare il Platform SDK gnudo e crudo. L'essenziale
per compilare c'è.
In alternativa, ci sono le librerie GNU MingW che, come dice lo stesso
nome, sono "minimali" e quindi non esattamente il massimo per sviluppare.

 Scusa... Ma è realismo :-) Come si suol dire "been there, done that"
sarà lungo da fare ma si fa: io per piccoli programmi lo faccio
tranquillamente. e poi non è neanche così tanto lungo...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 tranquillamente. e poi non è neanche così tanto lungo...
Nono... è verissimo. Solo che il codice tende a essere ingestibile. Per 
l'appunto funziona benissimo per PICCOLI programmini. Mi sembra di ricordare 
che la programmazione in C per Windows sia un perfetto esempio di Spaghetti 
Code. Senza contare che devi ogni volta "reinventare la ruota". Hai idea di 
quante righe di codice servano per fare una banalissima finestra MDI con 
Toolbar, barra di stato, meno Finestre e menu standard? Se guardi gli header 
delle WTL ti prende un colpo. Allora... Sono circa 2900 righe di sola 
Toolbar più altre 800 righe per la parte di collegamento Toolbar-MDI. Ora... 
capisco che buona parte di queste righe servono a rendere la classe il più 
flessibile possibile... Ma programmare in C significa buttar via tutto 
questo codice ben fatto che è "piovuto dal cielo" per in cambio non avere 
praticamente nulla :-)
Ci sono delle cose per cui si può lavorare in C senza soffrire 
eccessivamente. Programmi SENZA interfaccia grafica (quali i servizi) sono 
fattibili. Tools a linea di comando.
--- bye 

 ha scritto:

Il prodotto della Microsoft chiamato "Visual C++ .NET" ti
permette di lavorare sia in C che in C++, non sei
obbligatoriamente legato a nessun framework (MFC o .NET).
"Visual Studio" e' un pacchetto che comprende molti linguaggi di
programmazione e te lo sconsiglio, soprattutto per il suo costo.
In C puoi sviluppare applicazioni avviabili da riga di comando
(finestra DOS) o con una GUI dotata di qualsiasi controllo.
Per la documentazione, a parte quella fornita a corredo chiamata
MSDN (la guida in linea), puoi leggere ottimi testi come quello
di Charles Petzold ("Programming Windows") adatto ai principianti
e fornito di chiari e semplici esempi in C puro.