Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-06-2006, 10:26   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[UNIX] makefile: passare data di sistema al programma compilato ?

Devo compilare un programma C++ passandogli una define
della data della compilazione che corrispondera' alla versione.
(parametro -DDATA=... per ex: cc pippo.c -DDATA=06/2006 -o pippo)
in modo da aver sempre la versione aggiornata.

C'e' qualcuno in grado di farlo ?
(io lo avevo fatto 2 anni fa ma nun me ricordo proprio )

In altre parole devo:
- assegnare ad una variabile (ex: DATA) la data di sistema
(formattata mm/yyyy ma questo non e' un problema)
- passare questa variabile al programma in fase di compilazione con l'opzione -D...

se nel makefile metto:

Codice:
...
DATA="`date`"

all:
	cc prova.c -DDATA=$(DATA) -o p
...
non va (mi esce: cc prova.c -DDATA="`date`" -o p)

Grazie!

P.S.: lavoro su Sun ( e aggiungerei )
__________________
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 16-06-2006, 10:37   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
DATA=$(shell date %Y%m%d)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 10:46   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
Devo compilare un programma C++ passandogli una define
della data della compilazione che corrispondera' alla versione.
(parametro -DDATA=... per ex: cc pippo.c -DDATA=06/2006 -o pippo)
in modo da aver sempre la versione aggiornata.
Ho fatto adesso una prova su Linux:
Codice:
DATA=$(shell date +%d/%m/%Y)

all:
    gcc -o prova -DDATA=\"$(DATA)\" prova.c
Non so se va bene sulla Sun.

P.S. comunque in ANSI "C" esiste già la macro __DATE__
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 10:55   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da ilsensine
DATA=$(shell date %Y%m%d)
grazie ma non va lo stesso

e poi scusa ma $(...) e `...` sono la stessa cosa: esegui un comando

se poi intendevi con "shell" la shell che uso .. le ho provate tutte

Codice:
DATA=$(shell date %Y%m%d)

all:
	echo $(DATA)
	cc -DDATA=$DATA -o p
Codice:
output:

echo 
 
cc prova.c -DDATA= -o p
come vedi DATA rimane blank

cmq grazie
__________________
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 16-06-2006, 11:00   #5
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
Ho fatto adesso una prova su Linux:
Codice:
DATA=$(shell date +%d/%m/%Y)

all:
    gcc -o prova -DDATA=\"$(DATA)\" prova.c
Non so se va bene sulla Sun.

P.S. comunque in ANSI "C" esiste già la macro __DATE__
'azz e' vero! __LINE__, __DATE__ etc
o forse ho usato questo 2 anni fa ? (e qui posso rispondermi solo io )

cmq su Sun non va quello che m'hai inviato
Grazie
__________________
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 16-06-2006, 11:03   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
e poi scusa ma $(...) e `...` sono la stessa cosa: esegui un comando
Sì è la stessa cosa nelle shell ... ma non in un makefile! In un makefile devi usare l'apposita funzione: $(shell ...comandi...)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 11:07   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da trallallero
grazie ma non va lo stesso
Mi sono scordato il "+":

DATA=$(shell date +%Y%m%d)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 11:11   #8
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
Sì è la stessa cosa nelle shell ... ma non in un makefile! In un makefile devi usare l'apposita funzione: $(shell ...comandi...)
questo il man di make non lo dice

Comunque in effetti su un nostro client linux funziona.

il problema di __DATE__ invece e' che ogni giorno cambia data
non coincide con la data di compilazione ...
ma possbile che Sun faccia sempre le cose a modo suo ?
__________________
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 16-06-2006, 11:19   #9
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da ilsensine
Mi sono scordato il "+":

DATA=$(shell date +%Y%m%d)
ma il problema non e' la formattazione della data.

e' quando vado ad eseguire nel make il cc ... DATA e' vuota

Su linux:
gcc -o prova -DDATA=$(DATA) prova.c
output:
gcc -o prova -DDATA=16/06/2006 prova.c
funziona

Su Sun:
cc -o prova -DDATA=$(DATA) prova.c
output:
cc -o prova -DDATA= prova.c
non funziona
__________________
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 16-06-2006, 11:25   #10
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Bè devi vedere cosa cambia; innanzitutto se anche su Sun è presente "date" e con la stessa sintassi di linux; quindi potrebbe darsi che la sintassi del make di Sun sia diversa (nel qual caso ti consiglio di installare - se non lo è già - gmake della gnu, in modo da usare la stessa sintassi che usi per linux).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 11:32   #11
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da ilsensine
Bè devi vedere cosa cambia; innanzitutto se anche su Sun è presente "date" e con la stessa sintassi di linux; quindi potrebbe darsi che la sintassi del make di Sun sia diversa (nel qual caso ti consiglio di installare - se non lo è già - gmake della gnu, in modo da usare la stessa sintassi che usi per linux).
Infatti e' diversa la sintassi, trovata sul sito della Sun:

Codice:
DATA:sh = date +%d/%m/%Y

all:
	cc -o prova -DDATA=$(DATA) prova.c
comunque grazie a tutti

P.S.: qua non si puo' installare niente (ufficialmente )
__________________
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 16-06-2006, 13:03   #12
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
questo il man di make non lo dice
man make fornisce solo le informazioni sul comando make: descrizione, opzioni, ecc...
info make invece fornisce tutto il manuale completo sul make e sui makefile!

Il manuale del make è disponibile anche <qui> e <qui> spiega la funzione shell.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 13:23   #13
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
man make fornisce solo le informazioni sul comando make: descrizione, opzioni, ecc...
info make invece fornisce tutto il manuale completo sul make e sui makefile!
no guarda, qui e' tutto strano, siamo in un mondo a parte

info make
SINTASSI: info -f file [ -v ] [ -S out_sep ] [ -s in_sep ] [ -0 campo_0 ] [ -1 campo_1 ] .... [ 0|1|2|3|4|5|6|7|8|9|10|11 ... ]

invece ho letto bene il man di make e c'e' :
:sh = Define the value of a macro to be the output of a com mand (see Command Substitutions below).

il contrario ... ma tu info dove lo lanci ? linux ? ho provato anche li ma idem ... e comunque abbiamo una versione della Adamo&Eva & Co

Quote:
Originariamente inviato da andbin
Il manuale del make è disponibile anche <qui> e <qui> spiega la funzione shell.
Grazie andbin ma su gnu.org non ci si puo' andare da qui
(possiamo usare gmail e scaricarci l'impossibile ma gnu.org no )

Comunque ormai ho risolto ... ma io mi chiedo ... come cacchio ho fatto 2 anni fa
visto che __DATE__ non va bene e DATA_COMP:sh = date +%d/%m/%Y
non l'ho usato senno' me lo ricorederei ?

e non me lo sto sognando, ho controllato il main.cc e c'e'
ancora l'istruzione:

Codice:
#ifdef COMPILE_DATE
   strcat( Msg, COMPILE_DATE );
#else
   strcat( Msg, "02/2004" );
#endif
boh le vie dell'informatica sono infinite
__________________
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 16-06-2006, 13:34   #14
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
no guarda, qui e' tutto strano, siamo in un mondo a parte
Ehhh ... questo lo immaginavo. Penso che ci siano parecchie differenze tra Linux e Solaris. Io però non ho mai avuto modo di lavorare con quest'ultimo, quindi ... non saprei dirti di più.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2006, 13:51   #15
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
Ehhh ... questo lo immaginavo. Penso che ci siano parecchie differenze tra Linux e Solaris. Io però non ho mai avuto modo di lavorare con quest'ultimo, quindi ... non saprei dirti di più.
piano piano la banca sta mollando queste dannate Sparc per passare a Linux ,,, certe filiali hanno ormai solo clients Linux ... anche perche' le Sparc costano un fottio di $

comunque e' 3 anni che sto qui e mi son fatto un'esperienza notevole su Unix

ringrazio ancora, anche oggi s'e' imparato qualcosa
__________________
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
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
NZXT Flex, lo 'scandalo' del PC gaming a...
Robot lavavetri in offerta su Amazon: EC...
Attenti a questo update fake di Windows ...
NIO chiede la standardizzazione di batte...
Da 80 mesi-uomo a poche ore: l'AI cambia...
In 2 settimane senza social il cervello ...
Amazon top 7 di oggi: 2 portatili intere...
SteamGPT trapela dal client Steam: ecco ...
Boom clamoroso per questo piccolo produt...
Amazon Luna saluta gli store di terze pa...
Windows Update non sarà più un incubo: M...
Stampante HP con Wi-Fi e 3 mesi di inchi...
Metro 2039 potrebbe essere il nuovo capi...
Call of Duty: Modern Warfare 4 l'uscita ...
Mega risparmi su Amazon Haul fino a mezz...
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: 14:50.


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