Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-09-2006, 11:29   #21
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quote:
Originariamente inviato da $te
infatti nn riesco a compilarlo....mi da sempre errore. Xcio ho provato a installare il visual c++, ma ho difficoltà nel compilare: ho fatto un nuovo progetto ma poi quando faccio il debug, é un po un casino,e nn me lo compila....bah, ma in devc++ non é quindi possibile? magari in altro modo, usando i socket ad es come diceva wisher (ho provato a compilare il suo di codice e non funziona).
mi pare che visual studio express nn abbia tutte le librerie che però sono scaricabili a parte, adesso cerco il link...
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 11:35   #22
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
qui ci sono le platform SDK, dovrebbe contenere tutto l'occorrente
http://msdn.microsoft.com/vstudio/ex...alc/usingpsdk/
per fare il linking in visual studio vai in Progetto->proprietà progetto, scegli linker e in input aggiungi wininet.lib alla voce dipendenze aggiuntive
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 11:44   #23
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Più semplicemente, usa wget come tool esternamente, richiamandola con una classica system call "execve" di C, o se voi fare ancora più il figo, fai una fork() (o un thread in windows) e nel processo/thread risultante fai la execve: in questo modo scarichi la pagina internet SENZA che il tuo programma attenda la terminazione di wget, quindi il processo prinicpale continua a fare altro.
Se poi vuoi proprio usare i socket o librerie non portabili di windows, sarai accontentato Vedo che già sono state postete un paio di soluzioni "in code"

EDIT: se vuoi usare socket o librerie di più altro livello, ti conviene leggrti un po' i meccanismi client-server, cosa sono i socket, ecc., sennò rischi di copiare "bovinamente" del codice senza capirci nulla, e questo per un programmatore è da evitare.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 11-09-2006 alle 11:48.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 11:46   #24
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da andbin
Su Windows puoi usare la funzione Win32 ShellExecute().
Codice:
#include <windows.h>
...
ShellExecute (NULL, "open", "http://www.google.com", NULL, NULL, SW_SHOW);

non è portabile... meglio una classica execXXX, che lancia prima firefox, in mancanza di questo prova Opera, poi IE (il tutto per garantire portabilità). Ma comunque vedo che non era questo il suo obiettivo...
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 12:05   #25
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da -fidel-
non è portabile... meglio una classica execXXX, che lancia prima firefox, in mancanza di questo prova Opera, poi IE (il tutto per garantire portabilità). Ma comunque vedo che non era questo il suo obiettivo...
Ma LOL!! Primo: all'inizio $te chiedeva come "aprire un sito internet" ed io ... ho indicato ShellExecute. Secondo: ovvio che non è portabile!!! È una API Win32. Se per questo nemmeno l'utilizzo della libreria WinINet è "portabile".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 13:19   #26
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da andbin
Ma LOL!! Primo: all'inizio $te chiedeva come "aprire un sito internet" ed io ... ho indicato ShellExecute. Secondo: ovvio che non è portabile!!! È una API Win32. Se per questo nemmeno l'utilizzo della libreria WinINet è "portabile".
Non volevo mica fare polemica... facevo solo notare che è normalmente consigliabile appoggiarsi alle system call che a funzioni di libreria propietarie, quando ciò è possibile.
Stesso discorso per WinINet: preferisco i socket bsd (implementati in Windows con pochissime differenze), o e vuoi maggiore "trasparenza" ci sono in giro diverse librerie che "nascondono" i socket, che presentano i relativi wrapper di compatibilità con altre piattaforme. A mio parere è buona prassi, tutto qui

NB: non sono riuscito ancora a capire cosa si intende con LOL!
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 14:50   #27
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
fidel fammi capire un attimo. ho cercato un po in rete ke é wget....ed é programma x scaricare (non ho ancora trovato il tempo x scaricarlo), quindi in pratica apro il programma wget? (system("wget.exe")?) in questo modo significa ke wget dovrebbe aprirsi e poi automaticamente scaricare un pag web e salvarla,xo poi nn si kiuderebbe da solo; ho guardato un po per la funzione fork(): a quanto ho capito consente d avviare due processi in simultanea juso? ho provato sto semplice codice:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main(void) {

fork(); //duplicazione del processo
printf("Sono il padre\n");
printf("sono il figlio\n");

return EXIT_SUCCESS;
}


xo mi da errore: mi dice ke fork non é dikiarata!!! come mai?
$te è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 15:11   #28
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quote:
Originariamente inviato da $te
fidel fammi capire un attimo. ho cercato un po in rete ke é wget....ed é programma x scaricare (non ho ancora trovato il tempo x scaricarlo), quindi in pratica apro il programma wget? (system("wget.exe")?) in questo modo significa ke wget dovrebbe aprirsi e poi automaticamente scaricare un pag web e salvarla,xo poi nn si kiuderebbe da solo; ho guardato un po per la funzione fork(): a quanto ho capito consente d avviare due processi in simultanea juso? ho provato sto semplice codice:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main(void) {

fork(); //duplicazione del processo
printf("Sono il padre\n");
printf("sono il figlio\n");

return EXIT_SUCCESS;
}


xo mi da errore: mi dice ke fork non é dikiarata!!! come mai?
fork è solo su linux...
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 15:11   #29
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da $te
fidel fammi capire un attimo. ho cercato un po in rete ke é wget....ed é programma x scaricare (non ho ancora trovato il tempo x scaricarlo), quindi in pratica apro il programma wget? (system("wget.exe")?) in questo modo significa ke wget dovrebbe aprirsi e poi automaticamente scaricare un pag web e salvarla,xo poi nn si kiuderebbe da solo;
Sì, ovviamente devi passare dei parametri a wget.
Esempio:
system("wget http://www.google.com -O google.html");

Quote:
Originariamente inviato da $te
ho guardato un po per la funzione fork(): a quanto ho capito consente d avviare due processi in simultanea juso? ho provato sto semplice codice:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main(void) {

fork(); //duplicazione del processo
printf("Sono il padre\n");
printf("sono il figlio\n");

return EXIT_SUCCESS;
}
Il concetto di "fork" è una cosa che esiste nativamente solo nei sistemi Unix/Linux. Su Windows la maggior parte dei compilatori non lo supporta (mi sembra che il compilatore Cygwin lo supporta). Da una rapida ricerca negli header del Dev-C++, ho notato che non è dichiarata da nessuna parte, quindi credo proprio che non sia disponibile con il Dev-C++.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2006, 15:57   #30
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
@$te:

Il post #29 di andbin spiega bene la situazione: per wget quindi ci sei.
Per qanto riguarda la fork(): come già detto è un concetto Unix/Linux: su windows sono supportati solo i thread (quindi no duplicazione immediata - tramite system call per intenderci - dei processi).
Nessuno ti vieta di lanciare la system(), anzi, ti dirò di più. Prima ho parlato di execve:se lanci quella, il tuo processo viene sostituito dal processo specificato come parametro, quindi alla fine del comando passato alla execve, il tutto termina (non c'è ritorno...). Quindi sei costretto a lanciare un nuovo processo (o un nuovo thread parlando di Windows) il quale lanci a sua volta la execve.
Per semplificare la vita a tutti (), si è pensato alla system call system(), che fa tutto il lavoro per te: crea un nuovo processo (thread in windows) e lancia il comando, ritornando subito al tuo programma (evidentemente l'implementazione interna della funzione varia da sistema operativo a sistema operativo, ma è portabile quindi non devi preoccuparti, funziona ovunque). Quindi, il tuo programma ed il programma lanciato con la system procederanno insieme (nel linguaggio informatico "in modo concorrente").
Tutto questo è per spiegare il meccanismo: comunque usa system() come detto da andbin nel post precedente e sei a posto.
Per concludere, ricorda: Windows NON supporta la system call fork(), semplicemente perchè non supporta (per scelta progettuale) la duplicazione di un processo. Windows usa i thread (che puoi pensarlo come una "costola" del programma che gira autonomamente (in modo concorrente) all'interno del processo stesso).
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 11-09-2006 alle 16:00.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 12-09-2006, 10:54   #31
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
incredibile windows....mi sa ke prossimamente iniziero ad usare linux sul pc vekkio:P cmq, se ad esempio faccio un programmino ke usa fork con linux, e poi lo compilo, poi se lo provo con windows dovrebbe andare cmq justo? ora provo come ha detto andbin!!
$te è offline   Rispondi citando il messaggio o parte di esso
Old 12-09-2006, 11:08   #32
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quote:
Originariamente inviato da $te
incredibile windows....mi sa ke prossimamente iniziero ad usare linux sul pc vekkio:P cmq, se ad esempio faccio un programmino ke usa fork con linux, e poi lo compilo, poi se lo provo con windows dovrebbe andare cmq justo? ora provo come ha detto andbin!!
purtroppo non funzionerebbe, come ti è stato spiegato la fork è una funzione di sistema di linux, un programma compilato su linux non funziona sotto windows per via delle differenti implementazioni dei sistemi operativi
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 12-09-2006, 11:12   #33
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da $te
incredibile windows....mi sa ke prossimamente iniziero ad usare linux sul pc vekkio:P cmq, se ad esempio faccio un programmino ke usa fork con linux, e poi lo compilo, poi se lo provo con windows dovrebbe andare cmq justo?
No, perchè gli eseguibili Linux non girano su Windows (se non usando un emulatore come CygWin), e quelli Windows non girano su Linux (a meno di usare un "emulatore" come Wine).
Per creare un eseguibile per Windows, devi compilare il sorgente su Windows (con un compilatore/linker per windows), stessa cosa per linux.
I programmi cosiddetti "portabili" sono proprio quelli che compilano su diverse piattaforme indifferentemente, perchè usano chiamate standard e/o librerie che esistono su diversi SO.
Un esempio: se vuoi usare i thread sia su Win che su Linux (quindi creare un programma che usi i thread e che compili su entrambi i SO), puoi usare la libreria pthread:

http://sourceware.org/pthreads-win32/

che come vedi esiste anche per Windows (in linux è presente di default, perchè pthread usa lo standard internazionale POSIX per il multithread, cosa che come al solito con le librerie MS non accade).
Tutto questo è un esempio se sei interessato alla portabilità delle tue applicazioni.
Ovviamente se usi le librerie fornite da MS, i tuoi programmi compileranno e gireranno solo su Windows (o su linux con Wine, se va tutto bene), ma non sempre, del resto, è richiesta la portabilità

Cmq la system() è una chiamata che puoi usare sia con Win che con Linux, quindi vai tranquillo (e non hai neanche bisogno di "forkare" il processo manualmente - o creare un nuovo thread - fa tutto la system() in automatico, come ho spiegato in un post precedente).
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 12-09-2006 alle 11:15.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
The Social Reckoning: il seguito di The ...
iPhone 16 si trova ora su Amazon a soli ...
Amazon fa a pezzi i prezzi dei monitor g...
Componenti hardware e periferiche PC a p...
Pianeta in crisi: 7 su 9 limiti vitali g...
Galaxy S25 FE con taglio di prezzo di 10...
4 robot aspirapolvere e 3 scope elettric...
Nuovissimi Xiaomi 15T e 15T Pro con tagl...
Le agenzie federali americane potranno u...
Smartphone pieghevoli sempre più ...
LG svela le Easy TV, una nuova gamma di ...
L'equipaggio della missione Shenzhou-20 ...
Possibili detriti spaziali del razzo cin...
Amazon distrugge i prezzi: TV OLED LG, i...
Trump studia dazi fino al 100% per sping...
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:26.


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