Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-12-2008, 00:03   #1
CrAsHeR
Senior Member
 
Iscritto dal: Feb 2002
Città: NaPoLi
Messaggi: 1419
[C++]Diminuire l'utilizzo di RAM di una piccola app.

Salve ragazzi..
in questi giorni e dopo sbattimenti vari, ho scritto un piccolo programmino che:
in un ciclo continuo, pinga un host circa ogni 10secondi; Attraverso l'uso del file di log generato dal comando di ping, tramite confronto tra stringhe, si determina se l'host è ancora vivo o meno. Se l'host è vivo allora il ciclo ricomincia da capo (ovvero ripinga l'host e continua) Altrimenti se l'host è morto esce dal ciclo e termina il programma.
Mi sono reso conto che ogni volta che comincia il ciclo, il processo occupa 4kb di memoria in più..Come potrei ovviare a questo problema, considerando che il processo dovrà avviarsi col pc, e spegnersi con esso (e quindi deve stare per tutto ilt empo in esecuzione)?
Vorrei evitare problemi di memory leaking

Codice:
#include <iostream>
#include <windows.h>
#include <string.h>
#include <fstream>


using namespace std;

int main(){
fstream file1;  //Dichiarazione file1 come variabile di tipo fstream
int null=true;	//Dichiarazione variabile inesistente!
int k=0;       //Dichiarazione variabili di appoggio
char tmp;      //Dichiarazione char di appoggio
char stringa[18];   //Dichiarazione array stringa
while (null){           //Ciclo per ripetere il loop
system("ping -n 2 -w 400 192.168.1.1 > c:\\ping.log");   //Comando principale: Pingo l'ip di rete
file1.open("c:\\ping", ios::in);  //Apertura del file di log in lettura
if (file1){  //Verifico l'esistenza del file
while (( tmp=file1.get())!=EOF){   //Fintanto che leggi il file e non arrivi alla fine..
if (tmp==10){    //Appena una riga finisce..
           k++;  //Incrementa kappa
           if (k==3){  //Se kappa=3 ovvero hai scorso 4 righe..Allora
                       for (int j=0; j<18; j++){    //For di controllo per evitare allocazioni in punti dove l'array non esiste
                       if(( tmp=file1.get())!=13){   //Metti in tmp tutti i char fino a quello di fine riga
                      stringa[j]=tmp;   //Copia Ogni char tmp, nell'array stringa e incrementa il posto dell'array
                            }
                            }
                             }
                             }
                             }
}
file1.close();  //Abbiamo finito allora chiudo il file!


if (strcmp(stringa,"Richiesta scaduta.")==0){ //Se nella 4a riga, rileva una richiesta scaduta esegue..
cout << "trovato" << endl;
null=false;    
}
else { cout << "non trovato" << endl;}
 

Sleep(5000);      //Aspetta 5 secondi prima di ricominciare il ciclo                               
}
   system("PAUSE");
    return EXIT_SUCCESS;

}
Vorrei sapere se avete qualche consiglio di ogni tipo da darmi (in particolare per affinare la lettura da file) o se magari anzichè leggere da file sarebbe meglio implementare qualche f(x) di ping già bella e pronta e sfruttare una condizione "certa" di ping fallito.
Grazie!
__________________
Ho concluso felici trattative sul forum di Hwupgrade con: Tanti utenti..
Ho concluso felici trattative su ebay con: 300 e più utenti
CrAsHeR è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Nissan Leaf cambia pelle: la terza gener...
AliExpress 11.11, pioggia di offerte su ...
Nuova promo DAZN: piano Family a meno di...
Pixel, l'aggiornamento di novembre blocc...
Xiaomi alle ATP Finals di Torino: in mos...
Scarsità di schede video Radeon i...
Occhiali smart e AirPods con telecamera,...
Basta cartucce costose: HP Smart Tank 51...
Sony stacca la spina a Fairgame$: il liv...
Amazon, prezzi incredibili per Blink: vi...
TIM continuerà ad aumentare i pre...
In arrivo smartphone pieghevoli enormi: ...
Tesla Semi sbarca a Chicago: 50 camion e...
L'accordo tra Google e il Napoli continu...
Remus Stealer: così il malware rivendica...
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: 12:31.


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