Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi > Linux per newbies

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-07-2007, 16:12   #1
Pipe
Senior Member
 
L'Avatar di Pipe
 
Iscritto dal: Jun 2006
Messaggi: 427
C++

Ragazzi come si programma in c++ in linux, ho visto che cambia molto dalla programmazione in c++ dal borland di winbdows..
__________________
... Ho l'addome globoso per adipe ...
Pipe è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2007, 16:24   #2
W.S.
Senior Member
 
L'Avatar di W.S.
 
Iscritto dal: Nov 2005
Messaggi: 1868
si programma in C++.
A seconda delle librerie grafiche (e non) che vuoi usare cambiano le funzioni, ma il linguaggio rimane quello. A cosa ti riferisci in particolare? All'interfaccia grafica? Per quello vedi "C++ qt3" o "C++ gtk" per trovare qualche doc
__________________
[ W.S. ]
W.S. è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2007, 16:50   #3
Pipe
Senior Member
 
L'Avatar di Pipe
 
Iscritto dal: Jun 2006
Messaggi: 427
bhè per il fato che usa librerie diverse... iostream.h non mi sembra neanche contemplato!per es:

Codice:
 #include <iostream.h>

void main(){
cout << "ciao" << endl;
}
su ubuntu mi da degli errori, su windows no... perchè?
__________________
... Ho l'addome globoso per adipe ...
Pipe è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2007, 17:10   #4
W.S.
Senior Member
 
L'Avatar di W.S.
 
Iscritto dal: Nov 2005
Messaggi: 1868
che errori da?
Vedo che non hai definito il namespace, prova con:

#include <iostream> // per le lib di default non serve .h
using namespace std;

void main(){
cout << "ciao" << endl;
}

se da ancora errori è probabile che ti manchi qualche libreria. Le libc6-dev ci sono?
__________________
[ W.S. ]
W.S. è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2007, 17:54   #5
Pipe
Senior Member
 
L'Avatar di Pipe
 
Iscritto dal: Jun 2006
Messaggi: 427
ho capito, ma la mia richiesta non è la correzione di quell'esempio, ma è capire perchè se lo compilo su windows non mi da erore, mentre su linux devo addirittura cambiare il modo di programmare; insomma il c++ è c++ ovunque no?
__________________
... Ho l'addome globoso per adipe ...
Pipe è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2007, 08:17   #6
W.S.
Senior Member
 
L'Avatar di W.S.
 
Iscritto dal: Nov 2005
Messaggi: 1868
Quote:
Originariamente inviato da Pipe Guarda i messaggi
ho capito, ma la mia richiesta non è la correzione di quell'esempio, ma è capire perchè se lo compilo su windows non mi da erore, mentre su linux devo addirittura cambiare il modo di programmare; insomma il c++ è c++ ovunque no?
non devi cambiare modo di programmare, devi solo installare le librerie base che ti mancano

la dichiarazione del namespace dipende da quanto è rigoroso il compilatore, così come il mettere o meno ".h"
__________________
[ W.S. ]
W.S. è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2007, 12:17   #7
Pipe
Senior Member
 
L'Avatar di Pipe
 
Iscritto dal: Jun 2006
Messaggi: 427
ok ... un'altra cosa... qual'è la differenza tra g++ e gcc ?sono entrambi compilatori no?
__________________
... Ho l'addome globoso per adipe ...
Pipe è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2007, 12:18   #8
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da Pipe Guarda i messaggi
ok ... un'altra cosa... qual'è la differenza tra g++ e gcc ?sono entrambi compilatori no?
si il primo per c++ l'altro per c
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2007, 15:13   #9
aik
Member
 
L'Avatar di aik
 
Iscritto dal: Nov 2004
Città: pisa
Messaggi: 204
Il c++ tra windows e linux NON CAMBIA.
probabilmente quello che cambia nel tuo caso è il compilatore, se usavi gcc su windows su linux sarà la stessa cosa.
I compilatori c++ sono abbastanza diversi tra loro perchè alcuni fanno le stesse cose in modo diverso, non seguono alla lettera l'ISO c++,etc..

Guarda che ne pensa Linus Torvalds dei compilatori c++ (e del c++ in generale) (per la programmazione del kernel):

Quote:
Originariamente inviato da Linus torvalds
The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed:

- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++.
aik è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2007, 16:01   #10
pfinet
Member
 
L'Avatar di pfinet
 
Iscritto dal: Mar 2007
Messaggi: 271
Quote:
Originariamente inviato da Pipe Guarda i messaggi
ho capito, ma la mia richiesta non è la correzione di quell'esempio, ma è capire perchè se lo compilo su windows non mi da erore, mentre su linux devo addirittura cambiare il modo di programmare; insomma il c++ è c++ ovunque no?
Una cosa è il linguaggio in se, un'altra sono le librerie a cui ti appoggi per scrivere il tuo programma.

Il linguaggio C++ è sempre quello, cio che cambia da un ambiente all'altro sono le librerie che hai a disposizione, o il modo in cui sono implementate, che puo variare da sistema a sistema.

Tutti i compilatori C++ supportano come minimo una libreria che si chiama C standard library e che fornisce delle funzioni standard, come quelle di iostream.h, math.h etc.

Il codice che hai scritto sopra compila sia su windows che su linux, perche fa uso di funzioni che fanno parte della libreria standard del C, che è implementata appunto sia su windows che su linux.

Eventualmente possono esserci delle differenze, ad esempio sul gcc le librerie standard sono racchiuse nel namespace std in modo da non inquinare lo spazio dei nomi, mentre su windows non sono inserite in alcun namespace.
Ecco perche se non scrivi using namespace std non te lo compila.

Poi ovviamente per fare il tuo programma usi anche delle altre librerie, ad esempio se crei un'interfaccia grafica su windows usi le MFC, su linux le GTK.

Se vuoi scrivere codice portatile sia su windows che su linux per creare programmi complessi senza troppi problemi, devi appoggiarti a un framework multipiattaforma disponibile su entrambe le piattaforme, come le wxWidget o le QT.

Ultima modifica di pfinet : 19-07-2007 alle 16:08.
pfinet è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2007, 19:53   #11
Pipe
Senior Member
 
L'Avatar di Pipe
 
Iscritto dal: Jun 2006
Messaggi: 427
ho capito...però se utilizzo g++ invece di gcc? devo usare lo stesso using namespace std ?

scusate queste domandine banali, ma sono ancora una piccola schiappa
__________________
... Ho l'addome globoso per adipe ...
Pipe è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2007, 10:04   #12
pfinet
Member
 
L'Avatar di pfinet
 
Iscritto dal: Mar 2007
Messaggi: 271
Il gcc, che sta per GNU Compiler Collection, è una collezione di compilatori, e il g++ è il front-end del gcc per il linguaggio c++, mentre ad esempio gnat è il front-end che ti permette di compilare codice Ada sempre col gcc, poi c'è quello per Java, Fortran...

Puoi scrivere benissimo

g++ main.cpp

oppure

gcc main.cpp

e funziona allo stesso modo.

Esegui 'info gcc' per leggere la documentazione, c'è scritto tutto quanto.
In particolare, probabilmente ti serve sapere come si linkano delle librerie esterne al tuo programma, da un occhio alle opzioni -l e -L, nella pagina link options.

Se ti serve un IDE, prova Eclipse o kDevelop, mentre se ti serve un GUI designer per disegnare le interfaccie grafiche dipende dalla libreria che usi: glade per le GTK, qtDesigner per le QT, DialogBlocks per le wxWidget...

Ultima modifica di pfinet : 20-07-2007 alle 10:22.
pfinet è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2007, 10:29   #13
adalucio
Member
 
L'Avatar di adalucio
 
Iscritto dal: May 2004
Messaggi: 276
Quote:
Originariamente inviato da pfinet Guarda i messaggi
Se vuoi scrivere codice portatile sia su windows che su linux per creare programmi complessi senza troppi problemi, devi appoggiarti a un framework multipiattaforma disponibile su entrambe le piattaforme, come le wxWidget o le QT.
Scusa ma anche le gtk vanno su windows.

o sbaglio?

adalucio è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2007, 10:42   #14
pfinet
Member
 
L'Avatar di pfinet
 
Iscritto dal: Mar 2007
Messaggi: 271
Quote:
Originariamente inviato da adalucio Guarda i messaggi
Scusa ma anche le gtk vanno su windows.

o sbaglio?

si, pero è diverso: le wxWidget usano i controlli nativi del sistema su cui il programma viene compilato, mentre le GTK emulano i controlli del sistema sottostante.

Ad esempio, se scrivo questo codice con le wxWidget:

MyFrame *a = new MyFrame(NULL, "CIAO");
a->Show(true);

e lo compilo su windows, mi crea una finestra usando le librerie MFC native di Windows, se lo compilo su Linux mi crea una finestra usando le GTK.
Allo stesso modo, se lo compilo su Mac OS usa le librerie native di quel sistema (che non mi ricordo quali sono )

In questo modo ottieni un feel&look del tutto simile all'originale, e le prestazioni sono le stesse di un programma scritto direttamente con le librerie native della piatatforma su cui è compilato.

Ultima modifica di pfinet : 20-07-2007 alle 10:47.
pfinet è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Ray-Ban Meta Audio: arrivano gli occhial...
Apple TV 4K: chip A19, CPU più veloce de...
Il mercato console sprofonda: i rincari ...
Apple Home Collection: videocamere 2,5K,...
Apple presenta HomeView, il nuovo hub do...
Apple HomePod mini 2 arriva in Italia: a...
SFSCON 2026: la sovranità digital...
Cooler Master GPU Shield arriva in Europ...
Wolters Kluwer Tax & Accounting pote...
NVIDIA accelera il DLSS 5: il nuovo mode...
Character.ai in bancarotta, Disney pront...
realme passa a ColorOS 17 con Android 17...
OPPO presenta ColorOS 17: più flu...
Giochi PS2 su smartphone Android: ARMSX2...
Ecco il nuovo tool semplificato per alle...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v