Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-04-2010, 17:11   #1
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
[C] Creare Shell

Ciao,
Facoltà d'Informatica, secondo semestre, materia Sistemi Operativi.
Il primo semestre abbiamo imparato Java e me la cavo benone. Ora però dal nulla, pretendono che scriviamo una semplice shell in C. Io ho letto in giro, a lezione si parla di semafors, pipes, system calls....ma ciò non mi aiuta a scrivere una shell. In pratica deve "solo" implementare comandi semplici, basilari, ma non ho la più pallida idea di come cominciare.
Qualcuno mi sa dare delle dritte?
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2010, 20:19   #2
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
devi fare un programma che a seconda delle richieste faccia determinate operazioni. non credo che richiedano anche la grafica e tutto...

devi reimplementare i classici comandi cp, ls, mv ...
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 20:15   #3
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
devi fare un programma che a seconda delle richieste faccia determinate operazioni. non credo che richiedano anche la grafica e tutto...

devi reimplementare i classici comandi cp, ls, mv ...
Si lo so, ma il punto è che non so dove cominciare con C. Con Java ad occhi quasi chiusi ti scrivo ti scrivo un programma...
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 15:05   #4
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
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Si lo so, ma il punto è che non so dove cominciare con C. Con Java ad occhi quasi chiusi ti scrivo ti scrivo un programma...
Non avete mai fatto C e nemmeno C++ ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 15:38   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Si lo so, ma il punto è che non so dove cominciare con C.
in C si comincia "ammainando", ovvero scrivendo la funzione "main"

la funzione main ha diversi possibili prototipi, questo é il piu semplice:
Codice:
int main();
questo é un programma C scheletrico:
Codice:
#include <stdlib.h>
#include <stdio.h>

int main() {
    return 0;
}
i due #include all'inizio servono ad importare due headers predefiniti, ossia due files contenenti le dichiarazioni di funzioni predefinite del linguaggio che si usano molto spesso nei programmi C e che é praticamente certo che userai nello scrivere una shell.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 18:27   #6
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Se vi ha chiesto una shell penso abbiate già fatto le varie exec

da uno sguardo qui dovrebbe aiutarti http://linux.die.net/man/3/execvp
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 12:17   #7
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Se vi ha chiesto una shell penso abbiate già fatto le varie exec

da uno sguardo qui dovrebbe aiutarti http://linux.die.net/man/3/execvp
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 14:06   #8
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
Se hai cominciato con quella roba li hai tutto quello che ti basta per creare una semplice shell... basta solo la buona volontà.. e tanta pazienza
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 12:04   #9
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da cionci Guarda i messaggi
Non avete mai fatto C e nemmeno C++ ?
E visto che devono usare delle system call mi sembra decisamente strano.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 14:52   #10
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
E visto che devono usare delle system call mi sembra decisamente strano.
Quote:
Originariamente inviato da clockover Guarda i messaggi
Se hai cominciato con quella roba li hai tutto quello che ti basta per creare una semplice shell... basta solo la buona volontà.. e tanta pazienza

Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 15:11   #11
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
senza C non penso andrete lontano

per la shell, beh, è banale visto che si tratta di un programma che legge in input dei comandi e tramite fork e exec li esegue
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:33   #12
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
Scusa ma sono scettico sul fatto che non siate stati nemmeno introdotti al C!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:36   #13
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Scusa ma sono scettico sul fatto che non siate stati nemmeno introdotti al C!
http://www.unibz.it/en/inf/progs/bac...ookieSupport=1

Questo è il link dei corsi della facoltà. Se guardi nel primo semestre vedrai Introduction To Programming, dove vedrai che come linguaggio è stato trattato solo Java. Nel secondo semestre trovi Operating System dove viene richiesta la Shell.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:46   #14
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
Non mi pare che qui tu abbia detto la stessa cosa.. Se avete parlato di exec, fork, ecc... qualcosa hai visto.... e il manuale C compralo prima degli esami..

comunque da uno sguardo qui http://www.lilik.it/~mirko/gapil/gapil.html
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:49   #15
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Non mi pare che qui tu abbia detto la stessa cosa.. Se avete parlato di exec, fork, ecc... qualcosa hai visto.... e il manuale C compralo prima degli esami..

comunque da uno sguardo qui http://www.lilik.it/~mirko/gapil/gapil.html
Si, ci ha spiegato del forc, exec, dei signals, dei pipes. Ma un conto è parlarne, un conto e programmare in C.
Comunque sia devo farlo, salterò l'esame a giungo e mi dedicherò al C d'estate.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:55   #16
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Guarda che per imparare a programmare non c'è mica bisogno del tipo che ti fa vedere come si scrive un "hello world"... come già ti ho detto serve solo buona volontà.... e mi pare che non ne hai molta.... ciao
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 21:33   #17
morgoth90
Junior Member
 
Iscritto dal: Jan 2010
Messaggi: 16
per fare una shell di base bastano proprio qualche fork e pipe, se ti interessa quì c'è qualche appunto che ho scritto a rigurado
__________________
morgoth90 è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 21:35   #18
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
morgoth90: sei pregato di modificare l'immagine in firma e riportarla a termini di regolamento. Grazie
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 22:12   #19
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da morgoth90 Guarda i messaggi
per fare una shell di base bastano proprio qualche fork e pipe, se ti interessa quì c'è qualche appunto che ho scritto a rigurado
Ci darò un occhiata. Quello che la shell deve fare:
  • 1. your program should be able to read commands from standard input and execute them in a loop until a built-in command exit is issued
  • 2. be able to redirect the standard input and output of commands. This has to be done by prefixing to the command you input (<your command> ) in and out. Specifically you have to type in <new input> <your command> and out <new out> <your command> for redirecting stdin and stdout respectively.
  • 3. be able to terminate the running process (in foreground) when user presses ^C and return back to the mini-shell;
  • 4. be able to interrupt process temporarily, when user presses ^Z, returning to the mini-shell; Up to here all minimal requirements requested to access the exam. The following ones allows higher ranking.
  • 5. be able to execute any number of processes in background (i.e., in parallel with the foreground process), including in particular, the ability to start another process while a process has been temporarily suspended;
  • 6. inform the user when the background process finishes or is waiting for an input from the terminal;
  • 7. be able to inform the user what commands are executing in the background by issuing the built-in command jobs, this should include information about the state of the process (i.e., suspended, background, waiting for input, etc.) and about what file(s) is the background process using for standard input and output);
  • 8. be able to terminate involuntarily a background processes by issuing the built-in command kill job-number.
  • 9. to be able to resume a process or to make a background process into the foreground process (i.e., the one that currently interacts with the terminal) by issuing the fg job-number command.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2010, 09:42   #20
ErodeGrigo
Senior Member
 
L'Avatar di ErodeGrigo
 
Iscritto dal: Dec 2005
Città: Molise @ vendite 75/acquisti 36 @ Erroneamente denominato: ErodeGigio, ErodeGiorgio, ErodeGrigio, ErodeGrido @ Mi hanno copiato l'avatar
Messaggi: 6147
Quote:
Originariamente inviato da clockover Guarda i messaggi
Guarda che per imparare a programmare non c'è mica bisogno del tipo che ti fa vedere come si scrive un "hello world"... come già ti ho detto serve solo buona volontà.... e mi pare che non ne hai molta.... ciao
Approfitto....

Perchè nel classico "Hello Word" se uso la printf senza includere la libreria stdio.h il programma funziona lo stesso?

Non dovrebbe darmi errore?

Bye.
ErodeGrigo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Il telescopio XRISM ha osservato i raggi...
Il telescopio spaziale James Webb ha sco...
Logitech G325: audio di fascia alta, wir...
Nessuna pubblicità su Claude, per...
Gli stipendi nel settore tech? Sono anco...
Problemi con la stampa 3D? Un prompt per...
Amazon Leo amplia i contratti con SpaceX...
Basta Purefication, il Giurì bloc...
LibreOffice 26.2 migliora prestazioni e ...
La Cina si prepara a un test della capsu...
La NASA rende note alcune informazioni a...
ASUS ExpertCenter PN54: mini PC Copilot+...
Geely userà una fabbrica europea ...
Leica Camera tratta la cessione della ma...
La nuova AMD non è più 'ec...
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:51.


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