Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-07-2006, 21:56   #1
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
[C++]Shell Linux

Salve a tutti mi servirebbe qlkuno ke abbia realizzato in c++ una shell di Linux...se qlkuno è così gentile da potermi aiutare..pleaseeeeeeee!!!!
Xkè ho provato ma nn ci riesco proprio

Ultima modifica di giovessj : 06-07-2006 alle 22:03.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2006, 22:25   #2
Andlea
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 357
posta quello che hai fatto e di cui hai dubbi e ti si da una mano
Andlea è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2006, 22:40   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
com'è che proprio in questi momenti scema la passione degli opensourcisti...?

leggiti il codice di bash visto che è open, no?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 09:38   #4
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
Scusa mika mi potrsti dare il link dove trovare il codice di bash??
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 10:02   #5
Andlea
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 357
http://www.google.it/search?hl=it&q=...g_en%7Clang_it
Andlea è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:02   #6
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
Grazie mille Andrea molto gentile ma sapevo cercare anke io su google
io chiedevo se c'era qlkuno molto gentile da darmi il link dove c'è già scritto il codice in c++.....è quello ke a me serve xkè come funzione una shell, cm funzionano le fork ecc.. lo so e anke molto bene...ma me servirebbe il codice sorgente della shell!!!
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:31   #7
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
Grazie mille Andrea molto gentile ma sapevo cercare anke io su google
io chiedevo se c'era qlkuno molto gentile da darmi il link dove c'è già scritto il codice in c++.....è quello ke a me serve xkè come funzione una shell, cm funzionano le fork ecc.. lo so e anke molto bene...ma me servirebbe il codice sorgente della shell!!!
io ho il codice della bash (me lo sono personalizzato, la history )
ma é in C, non C++. Se non sbaglio é su sourceforge.net
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:47   #8
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
A me va bene anke in c...mika potresti postarlo o al max darmi il link dove si trova su sourceforge.net xkè io ho visto ma nn sono riuscito a trovarlo...te ne sarei molto grato....
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 12:01   #9
Andlea
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 357
il link con google non era uno scherzo
prendi il primo risultato, trovi il tar con i sorgenti
Andlea è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 12:04   #10
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
A me va bene anke in c...mika potresti postarlo o al max darmi il link dove si trova su sourceforge.net xkè io ho visto ma nn sono riuscito a trovarlo...te ne sarei molto grato....
uhm ... chissá dove l'ho trovato ...
ho un tar gzippato ma é di 3.5 Mega. Se mi dai una mail dove mandartelo
perché qui il limite é di 24.4 Kb
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 12:06   #11
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
Ho visto quello ke dicevi tu Andlea ma sai qual è il fatto ke a me serve scrivere un codice di una shell semplice:
cioè una shell simile a quella di linux ke funzioni sotto linux e ke prenda un comando tipo ls e mi stampi il contenuto della cartella o ce vada avanti e indietro tra le cartelle o ke compili un file c o c++ ecc....
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14:30   #12
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
ok trallallero ti ho mandato un mex privato cn la mia mail...poi inviarlo li tnx..

Ultima modifica di giovessj : 07-07-2006 alle 14:36.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14:37   #13
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
ok trallallero se x favore potresti mandarmelo a [email protected] te ne sarei grato....
fatto
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14:44   #14
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
ok grazie mille sei stato gentilissimo anke se vedrò di prendere spunto da questa visto ke quello ke devo fare io è a livello molto + basso....
Alla fine io nn devo far altro ke realizzare una semplicissima lettura di stringa di comando in linux con fork e exec...vabbè dai io ora ci provo poi se nn va il codice te lo posto qui e al max mi aiuti...xkè pensavo ke la shell l'avessi fatta te mentre quello ke mi hai mandato è il codice sorgente della bash....cmq di nuovo mille grazie!!
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14:52   #15
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
ok grazie mille sei stato gentilissimo anke se vedrò di prendere spunto da questa visto ke quello ke devo fare io è a livello molto + basso....
Alla fine io nn devo far altro ke realizzare una semplicissima lettura di stringa di comando in linux con fork e exec...vabbè dai io ora ci provo poi se nn va il codice te lo posto qui e al max mi aiuti...xkè pensavo ke la shell l'avessi fatta te mentre quello ke mi hai mandato è il codice sorgente della bash....cmq di nuovo mille grazie!!
pensavo fosse chiaro che era la bash-shell ...
io l'ho solo modificata per personalizzarla, piccole modifiche per uso personale.
no no aspetta! 3.5 Mega di sorgente non ti passa piú
manda la traccia del problema e il codice che hai scritto dai
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14:58   #16
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
La traccia è la seguente:

-Realizzare in c++ la shell i linux..cioè la gestione dell'input e dell'output...
-Il probelma consiste nel realizzare in un file .cpp un codice il quale riceva in ingresso una stringa del tipo (ls) e dia in output il comando linux...tt qui....

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


char **crea_vettore(char *stringa);
void dealloca(char **array_di_stringhe);

int main (int argc, char *argv[]){

int pid,i;
int status;
char *stringa;//stringa dove memorizzo la stringa dei comandi
char **stringhe; //array di stringhe



stringa=(char *)calloc(20,sizeof(char));

if ((stringa=fgets(stringa,20,stdin)) == NULL) exit(1);
while ( strncmp(stringa,"stop",4) != 0){

stringhe=crea_vettore(stringa);
if ( (pid = fork()) < 0){
perror("fork");
exit(1);
}else{
if (pid == 0){//figlio
if ( execvp(stringhe[0],stringhe) < 0 )
perror("execvp"),exit(1);
}else{//padre
//aspetto la terminazione di mio figlio
wait(&status);
//dealloca(stringhe);//libero memoria
}//fine else padre
}//fine else

if ((stringa=fgets(stringa,20,stdin)) == NULL) exit(1);
}//fine while


exit (0);
}

char **crea_vettore(char *stringa){

char **stringhe;
char *parola=NULL;
int i=0,
size=1,
j=0;

if ((stringhe=(char **)malloc(size*sizeof(char *))) == NULL)
perror("malloc"),exit(1);//errore allocazione

while ( stringa[i] != '\0' ){//scandisco tutta la stringa e la divido in tante parole

while ( (stringa[i] != ' ') && (stringa[i] != '\0') && (stringa[i] != '\n')){
//costruisco la parola
parola=(char *)realloc(parola,(j+1)*sizeof(char *));
parola[j]=stringa[i];
j=j+1;
i=i+1;
}
if ( ( stringa[i] == ' ') || (stringa[i] == '\n') )
i=i+1;
printf("parola= %s\n",parola);
if (parola != NULL){//parola trovata
stringhe=(char **)realloc(stringhe,(size+1)*sizeof(char *));
if ( (stringhe[size-1]=(char *)malloc(strlen(parola)+1)) == NULL)
perror("malloc"),exit(1);//errore allocazione
strcpy(stringhe[size-1],parola);
size=size+1;
}
parola=NULL;
j=0;
}
stringhe[size-1]=NULL;//fine dell array di stringhe

return (stringhe);
}


void dealloca(char **array_di_stringhe){

int i=0;

while ( array_di_stringhe[i] != NULL ){
free(array_di_stringhe[i]);
i=i+1;
}
free(array_di_stringhe[i]);
free(array_di_stringhe);
return;

}

questo è quello ke ho fatto.... dovrebbe funzionare + o - in questo modo e poi dovrei realizzare in visualc++ un'interfaccia grafica!!

Ultima modifica di giovessj : 09-07-2006 alle 09:56.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 15:08   #17
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
-Il probelma consiste nel realizzare in un file .cpp un codice il quale riceva in ingresso una stringa del tipo (ls) e dia in output il comando linux...tt qui....
se il problema é solo questo ti basta questo codice
Codice:
#include <stdio.h>
#include <stdlib.h>

int main( int argc, char **argv )
{
   system( argv[1] );
}
ma mi sembra strano ...
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 15:10   #18
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
No io devo scrivere il codice della shell...devo farla io la gestione della stringa in ingresso e la gestione dei processi padre e figlio...il codice ke mi hai scritto a ke serve????
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 15:24   #19
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da giovessj
No io devo scrivere il codice della shell...devo farla io la gestione della stringa in ingresso e la gestione dei processi padre e figlio...il codice ke mi hai scritto a ke serve????
la system esegue un comando di sistema.
argv[1] é il primo parametro che passi all'eseguibile.
se passi ls all'eseguibile "lui" fa ls
Adesso peró devo fare un lavoro su Oracle per un pó ...
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 15:29   #20
giovessj
Junior Member
 
Iscritto dal: Oct 2005
Messaggi: 20
ok ti kiedo solo un favore...qndo hai tempo potresti modificarmi il codice e aggiustarmelo in maniera corretta?...anke se è in c nn fa nulla al max poi lo modifico in c++...cmq ora ti lascio al tuo lavoro...se e qndo puoi riesci a farmi sto piacere te ne sarei grato...cmq grazie mille di tt
giovessj è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Draghi scuote l'Europa: 'rischio stagnaz...
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: 22:27.


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