Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-01-2010, 21:25   #1
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
[C] Compilazione ed esecuzione da terminale

Sono in prossimità di un esame e dunque mi cimento nella visione di alcuni compiti svolti. In uno di questi si richiede di scrivere un programmino C che moltiplichi e dividi due interi presi come parametri (da terminale, ovviamente!).

Questo è il codice del main:
Codice:
#include <stdio.h>
#include "moltiplica.h"
#include "dividi.h"

int main ( int argn, char*  argv[]) {
	printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
	printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
	return;
}
Ho delle domande a riguardo di queste righe:
  • Codice:
    int main ( int argn, char*  argv[])
    Utilizzando il programma da terminale ovviamente questa specificazione è necessaria.
    Io, però, non ricordo perfettamente come si passano i parametri ad un file C o più che altro mi spiazza il primo parametro "int argn". Cosa prende quest'ultimo visto che all'interno delle funzioni passo due elementi dell'array argv.
    Inoltre perché passo gli elementi dell'array argv che è un puntatore di tipo char se mi richiede due
  • Codice:
    printf("prodotto = %f\n", (moltiplica(atoi(argv[1]),atoi(argv[2]))));
    printf("quoziente = %f\n", (dividi(atoi(argv[1]),atoi(argv[2]))));
    Che è atoi?
  • Perché i prototipi delle funzioni si trovano in due file header separati dalle loro definizioni, che sono in .c (al momento mi ritrovo 4 file).
Se avete link o risorse utili al mio scopo vi prego di fornirmene.
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn

Ultima modifica di -hide- : 18-01-2010 alle 21:37.
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2010, 02:00   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
int argn è il numero di parametri passati dal programma! Il minimo è 1 e si riferisce al programma stesso!

Per quanto riguarda atoi --> http://lmgtfy.com/?q=man+atoi
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2010, 20:11   #3
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Quote:
Originariamente inviato da clockover Guarda i messaggi
Per quanto riguarda atoi --> http://lmgtfy.com/?q=man+atoi
Perfetto chiarito l'atoi!
Certo che non era difficile, ma in quel preciso momento mi veniva più facile lasciarlo scritto qui


Continuo a insistere sull'ultimo punto invece e riformulo la domanda perché, mi accorgo, non è molto chiara: mi ritrovo quattro file (due header e due sorgenti C) in cui, a due a due, vi si trovano prototipi delle funzioni moltiplica e dividi e codice delle relaive funzioni. Perché scrivere il codice in altri due file C? Correttezza stilistica, pratica o pura voglia del prof secondo voi?
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2010, 00:47   #4
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
La cosa è puramente didattica! Almeno così penso io! In quel modo hai visto: 1) utilizzo degli header, 2) utilizzo dei parametri, 3) funzione di libreria standard (atoi)! Anche perchè mi pare di capire che sei alle prime armi... non che io sia avanzato comunque!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2010, 09:20   #5
-hide-
Senior Member
 
L'Avatar di -hide-
 
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
Quote:
Originariamente inviato da clockover Guarda i messaggi
La cosa è puramente didattica! Almeno così penso io! In quel modo hai visto: 1) utilizzo degli header, 2) utilizzo dei parametri, 3) funzione di libreria standard (atoi)! Anche perchè mi pare di capire che sei alle prime armi... non che io sia avanzato comunque!
Proprio alle prime armi no, però non avevo ancora visto ed utilizzato sorgenti che specificassero l'argomento del main. Per questo mi sono ritrovato un pò spaesato. Infatti ero abituato ad inserire la definizione della funzione li dove vi era il prototipo (all'interno dello stesso file). In realtà ancora non mi capacito come faccia a prendere proprio il giusto file da collegare, deve essere un compito che svolge automaticamente perché nell'header non specifico alcun riferimento a quel file!
__________________

PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote
Mobile: Samsung Galaxy Wonder i8150 cm9
LinkedIn
-hide- è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Lo compri una volta, lo giochi dove vuoi...
Qiantinuum annuncia Helios, "il com...
Samsung Galaxy S26 Ultra: una sola novit...
Google prepara Gemini 3 Pro e Nano Banan...
TVS non è solo moto e scooter: ec...
Alexa+ arriva su BMW: gli automobilisti ...
Gemini Deep Research arriva su Google Fi...
Rinvii a catena, Marvel 1943: Rise of Hy...
Xiaomi inaugura uno spazio dedicato ai f...
Rilasciate le specifiche di Bluetooth 6....
L'obiettivo che mette tutto a fuoco: la ...
Meta avrebbe raccolto fino al 10% dei ri...
NVIDIA DGX Spark e videogiochi? Una pess...
Serie Oppo Reno15 confermata: arriva il ...
UPDF 2025: l'editor PDF che fa (quasi) t...
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: 20:21.


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