Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-01-2010, 09:00   #1
pier4reich
Senior Member
 
L'Avatar di pier4reich
 
Iscritto dal: Apr 2006
Città: Cosenza
Messaggi: 541
[visual C++]compilabilità del codice con altri OS se..

Ho provato a cercare un forum relativo a visual c++ (anche in inglese) ma non ho utilizzato la stringa giusta, evidentemente.

La mia domanda è questa:
Se programmo in visual c++ (in visual studio) ed il mio codice non utilizza nessuna chiamata alle librerie c++ (eccetto quella standard) disponibili con visual studio, dovrebbe essere possibile compilarlo anche in altri sistemi operativi (sia windows datati/futuri che non-windows).

Se invece nel codice utilizzo chiamate alle librerie messe a disposizione con visual studio, rimango legato a windows oppure riesco a compilare il codice (senza modifiche) anche in altri SO?

Ad "occhio" essendo le librerie messe a disposizione dalla MS non 'open' ritengo che siano legate ad una particolare versione di win (su cui gira quella data versione di visual studio), però potrei sbagliarmi.

Tutto questo senza utilizzare librerie esterne tipo boost o ptlib.

Grazie delle risposte!
pier4reich è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2010, 10:16   #2
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Le API di windows sicuramente non ti permettono di ricompilare lo stesso codice sotto altri tipi di architetture. Ad esempio linux.

Non dovresti aver problemi invece sotto altre versioni di windows.

A questo problema vi sono passato da poco anche io, per risolvere dovresti utilizzare librerie indipendenti dal SO. (ve ne sono alcune, in questo forum mi hanno consigliato le Qt, e mi ci trovo bene per ora.

Se però nel tuo programma non le usi pesantemente dovrebbe esserti sufficiente utilizzare li direttive del pre-processore per includere gli header in modo dipendente dal s.o. in cui ti trovi, ad esempio:

Codice:
#if WIN32
#include <winsock2.h>
#else /* UNIX */
#include <netdb.h>
#endif
Per esempio, molte funzioni delle API si trovano anche su Linux.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2010, 10:33   #3
pier4reich
Senior Member
 
L'Avatar di pier4reich
 
Iscritto dal: Apr 2006
Città: Cosenza
Messaggi: 541
Ti ringrazio ma io non sto parlando solo delle win32 API, io sto parlano delle librerie messe a disposizione con visual studio (tranne la standard). Effettivamente non so se queste librerie si basano, successivamente, sulle api di win.
Librerie come la MFC, ATL, etc... (queste per capirci http://msdn.microsoft.com/it-it/library/52cs05fz.aspx) tutte fornite con visual studio.
pier4reich è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2010, 11:08   #4
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
Purtroppo (o per fortuna) MFC etc sono solo per windows (MFC per esempio e'un wrapper a oggetti delle API win32)...dovresti usare qualcosa di portabile tipo Qt
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
Old 03-01-2010, 11:37   #5
pier4reich
Senior Member
 
L'Avatar di pier4reich
 
Iscritto dal: Apr 2006
Città: Cosenza
Messaggi: 541
Ok, quindi rimarrei legato con el varie librerie di visual studio. Grazie mille!
pier4reich è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2010, 14:08   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se per te questo è un problema prova QtCreator. E' un IDE che permette di creare interfacce con le librerie Qt. Si trova incluso nel Qt SDK.
Se non fai uso di API del sistema operativo, puoi creare codice al 100% portabile fra vari sistemi operativi.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2010, 09:41   #7
pier4reich
Senior Member
 
L'Avatar di pier4reich
 
Iscritto dal: Apr 2006
Città: Cosenza
Messaggi: 541
Principalmente l'ho chiesto perchè, per esempio, emule è in C++ ma è legato a windows. Siccome usa praticamente tutte le librerie citate precedentemente mi chiedevo se fosse portabile (come aMule) allorquando avessi tolto le chiamate dirette alle api (che si fanno tramite la windows.h).

Invece come sospettavo ogni libreria di visual studio è legata a win (tranne la standard) quindi nulla.
Si leggendo in giro ho visto che ci sono le qt, le boost o le ptlib. Thanks!
pier4reich è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2010, 09:46   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
aMule è praticamente il porting di eMule.
In ogni caso i problemi di portabilità se non troppo grandi si possono aggirare come ha scritto Teo@Unix sopra.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Amazon scatenata nel weekend: sconti sug...
Pulizia per 45 giorni senza pensieri: il...
Apple taglia il prezzo degli AirPods Pro...
Tutti i MacBook Air M4 2025 da 13 pollic...
Roborock QV 35A a 429€ o Dreame L40 Ultr...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
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: 15:29.


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