Torna indietro   Hardware Upgrade Forum > Software > Programmazione

CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-07-2006, 20: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 21:03.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2006, 21: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, 21: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, 08: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, 09: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, 10: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, 10: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, 10: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, 11: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, 11: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, 11: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, 13: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 13:36.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 13: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, 13: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, 13: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, 13: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 08:56.
giovessj è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 14: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, 14: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, 14: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, 14: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


CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
Netflix metteva sul tavolo 500 milioni, ...
Kimi K3.1 Pro, Moonshot AI rilancia sui ...
Dove sono finite tutte le GeForce RTX 50...
Nintendo Switch 2 già violata gra...
OpenAI apre a tutti la sua IA che scegli...
Apple estende il Self Service Repair a i...
Linux, falle critiche del kernel pubblic...
Gli agenti AI diventano un incubo per le...
Fastweb e Vodafone verso il sistema unic...
70mai A800 Nano a 69,99€ su Amazon: dash...
Mini pacchi extra Ue, la tassa da 2 euro...
Metro 2033 Redux e Last Light Redux si a...
Silicio a 1.000 °C in un microonde: ...
Sigma FP2 senza mirino né slitta ...
Huawei Pura 90 Plus, preordini aperti in...
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: 06:55.


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