n° 205
Agosto 2016
Luglio 27, 2016, 01:33:44 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  



* Messaggi recenti
Messaggi recenti
Pagine: [1] 2 3 ... 10
 1 
 inserita:: Oggi alle 11:44:45  
Aperta da beppo63 - Ultimo messaggio da oregon
A giudicare dal silenzio-assenso, beppo ha compreso la questione ...

 2 
 inserita:: Luglio 26, 2016, 05:35:13  
Aperta da beppo63 - Ultimo messaggio da Roberto Allegra
Come giustamente detto da Oregon, in C e C++ non c'è alcun modo di risalire ai nomi delle variabili, dato che vengono scartati dopo le fasi di compilazione e linking (se ti interessa la procedura, fa' una ricerca su "symbol table" e "stripping" su wikipedia).

In altri linguaggi è possibile farlo (vedi il nameof recentemente introdotto in C#), ma è di solito poco utile, e si fa più che altro per ragioni di debugging. Puoi fare qualcosa di simile anche in C usando il preprocessore, ma si tratta di zucchero sintattico e nulla più. Niente che abbia a che vedere con un meccanismo di ricerca o di persistenza a runtime.

E nessun linguaggio fra le poche decine che conosco è in grado di dirti il nome di una variabile partendo da un semplice indirizzo di memoria. Se vuoi una feature del genere, dovrai creartela da solo usando un dizionario (qualcosa tipo std::map<long, std::string> in C++, o l'equivalente con una libreria C).

Prima di imbarcarti in una simile impresa, comunque, mi unisco a Oregon nello spingerti a farti la domanda: "quello che sto cercando di fare ha un senso?".

 3 
 inserita:: Luglio 26, 2016, 02:18:23  
Aperta da Mannino - Ultimo messaggio da michele.p
Allora benvenuto e buona permanenza.  Sorriso

 4 
 inserita:: Luglio 26, 2016, 08:58:44  
Aperta da Mannino - Ultimo messaggio da Mannino
Salve
Non sono proprio "nuovo" ma appassionato di programmazione e sempre alla ricerca di nuove  conoscenze.
Un saluto a tutta la comunità.

 5 
 inserita:: Luglio 26, 2016, 02:13:06  
Aperta da beppo63 - Ultimo messaggio da oregon
No.
No.

Dopo la compilazione i nomi delle variabili non esistono più e non hanno alcuna importanza.

E comunque non avrebbe nessuna utilità anche se fosse possibile.

 6 
 inserita:: Luglio 25, 2016, 10:27:00  
Aperta da beppo63 - Ultimo messaggio da beppo63
Salve a tutti !
Volevo sapere se da programma è possibile risalire al nome di una variabile possedendo l'indirizzo dove è memorizzata ?
O se è possibile sempre possedendo l'indirizzo di memorizzazione , cambiarne il nome ?
Ogni suggerimento è ben accetto !
Ringrazio anticipatamente !


 7 
 inserita:: Luglio 25, 2016, 04:33:00  
Aperta da digitaleterrestretv - Ultimo messaggio da carcaroth
Il post ha qualche mese, però per i posteri, consiglio di utilizzare gli strumenti di You Tube per lo streaming. Li ho usati per dei concerti e sono perfetti.

 8 
 inserita:: Luglio 23, 2016, 02:52:28  
Aperta da vuott - Ultimo messaggio da vuott
Grazie M.A.W. per tutto.

 9 
 inserita:: Luglio 23, 2016, 02:29:47  
Aperta da ubuntumate - Ultimo messaggio da M.A.W. 1968
Non posso che ringraziare sentitamente, anche a nome delle centinaia di qualificatissimi colleghi del contesto multinazionale che sono parte del vastissimo mondo del vehicle engineering in tutte le sue declinazioni (civile, industriale, automotive, navale, ferroviario, militare, avionico, aerospaziale...), del traffic control e di altri settori ultracritici dei quali abbiamo esperienza diretta, dall'energetico al petrolchimico, fino al biomedicale e alle special applications.

In altri momenti avremmo probabilmente potuto sviluppare un lungo e interessante thread, di quelli che hanno reso giustamente famoso il presente forum, con lo zampino degli amici di sempre.
Al momento attuale il massimo che il tempo disponibile consente è un rimando alla pag. 57 di questo testo per cercare di fornire una primissima idea su cosa significa realmente progettare grandi sistemi embedded hard realtime in un'ottica safety-oriented, e su quali siano le metodologie di analisi a ritroso dei pochissimi, sfortunati casi di grandi fallimenti (in un'ottica più ampia di quella che riguarda il solo software e firmware, ché altrimenti i libri della cara vecchia Nancy sarebbero articoletti di una trentina di pagine al più).

Per il resto, è sempre più sconsolante rilevare nei decenni come i profani (inclusa una massiccia maggioranza di professionisti della cosiddetta ICT) abbiano idee bizzarramente sempre più confuse, distorte e orrendamente limitate sulle competenze richieste(1), sulle metodologie e relative garanzie logiche, sulla reale dimensione e portata dei progetti gestiti in tali settori, sulle procedure, sulla quadrangolazione degli interessi fortemente contrapposti (committenti pubblici, autorità internazionali di controllo, gruppi bancari e grandi società di assicurazione e riassicurazione...) il cui equilibrio garantisce il rispetto di elevatissimi standard - d'altro canto è vero che i numerosissimi vincoli di segretezza e riservatezza che imperano laddove si creano tecnologie che emergeranno forse solo tra un ventennio o più non aiutano certo la divulgazione di dettaglio in tale senso, ma in troppi casi manca totalmente l'ABC, la cultura generale in materia, tanto che si arriva a situazioni kafkiane e paradossali come questa: lo studente che ha sostenuto un esamino di metodi formali, ma non ha la benché minima idea della loro reale potenza né del loro utilizzo...  Occhi al cielo Che?!? Scioccato Pianto



(1) Non posso esimermi dallo spendere qualche parola su questo tema, oggi più che mai necessaria vista la tebaide tarrapiattista che si snoda tristemente sotto i nostri occhi.
Ogni singola LOC consegnata e certificata, ogni IP, ogni logica programmabile configurata, ogni ASIC uscito dalla foundry, ogni PCB, ogni componente critico, ogni bus e interconnessione impiegati nel sistema distribuito (che tipicamente ospita centinaia o anche migliaia di singoli core, con un aggregato di svariati MLOC di software, firmware e sorgenti HDL vari)... in breve, ogni singolo elemento del sistema progettato è frutto di centinaia, migliaia di ore di specifica e verifica formale, elaborazione, sofisticatissime simulazioni sistematiche a tutti i livelli effettuate e documentate sui più potenti mainframe esistenti, molti dei quali totalmente proprietari a livello di hardware, firmware e software e ovviamente configurati, programmati e mantenuti unicamente da personale interno. A certi livelli tutto è custom, anche gli stessi sistemi di sviluppo, con tutte le ovvie conseguenze sulle competenze progettuali e applicative di chi opera attorno a tali sistemi, poiché tutto viene gestito internamente e sotto i più stringenti vincoli di riservatezza.

Se si ha la plasticità mentale connaturata in uno scienziato (simbolico) di base e si è quindi curiosi e versatili (avendo anche la fortuna di incontrare capi intelligenti), con l'ovvio prerequisito di una prepazione di base eccellente, durante la carriera in tali contesti si possono facilmente accumulare preziose ed irripetibili esperienze progettuali, di una poliedricità assolutamente sorprendente, in gruppi di lavoro ai massimi livelli esistenti, divertendosi anche parecchio a mettere le mani su sistemi e software per definizione inaccessibili per i comuni mortali.

Propongo a titolo esemplificativo qualche banale esempio autobiografico, forse indicativo di una flessibilità superiore alla media ma sempre perfettamente rappresentativo del nostro ambiente, nel quale curiosità e accrescimento delle competenze in un contesto il più possibile vicino alle relative fonti vengono costantemente premiati e incoraggiati. L'elenco, certo non nuovo a chi frequenta da tempo il forum e sa cogliere il senso dei profondi riferimenti di volta in volta da me elargiti a proposito dei vari campi, è assolutamente non esaustivo (ci mancherebbe!) e intenzionalmente generico, in ordine sparso:

- Progettazione, scrittura e verifica di sistemi operativi RTOS microkernel proprietari partizionati ARINC 653 che vengono certificati per gli impieghi più critici hard realtime (tipicamente Posix 1003.1 PSE 52 o superiore);
- Design, implementazione, verifica e programmazione interamente inhouse (dai processori al SO, al firmware, alla UI, alle applicazioni...) di grandi calcolatori paralleli con struttura ipercubica, toroidale, mesh;
- Sviluppo di applicazioni di number crunching e simulazioni realtime su mainframe proprietari e commerciali (IBM, Fujitsu...), con supporto hardware di IEEE 854 o formati non convenzionali ancora più esotici;
- Ottimizzazione in ogni e qualsiasi possibile forma: hardware, del codice, simbolica, numerica, combinatoria, in tempo reale...;
- Progettazione, ottimizzazione e convalida di chip ASIC e SoC multicore a specifica militare o aerospaziale, a livello di poligoni di polisilicio;
- Progettazione combinatoria e convalida dei più complessi apparati ATE dedicati o flessibili e delle relative batterie di test sistematici (sempre supportata da mainframe, un tempo anche con l'ausilio delle più potenti WS esistenti);
- Progettazione e sviluppo di database engine RTDBMS totalmente custom (ebbene sì, esistono numerose alternative inhouse non commerciali ai vari Raima e PI/Setcon e tutto il resto del relativo albero genealogico, con certificazioni avioniche o militari...);
- Porting, personalizzazione e convalida di interi motori inferenziali + constrained (B-Prolog) e di calcolo vettoriale (APL, J) su piattaforme custom;
- Ricerca e sperimentazione teorico-applicativa su architetture di RTOS altamente esotiche (es. exokernel, ring) o verticali (realtime executive, cloni DOS avanzati...);
- Progettazione e implementazione di protocolli blindati a norma EN 50159 o MIL-STD-188;

...oltre ovviamente ai compiti più "normali" come ad esempio sviluppo di compilatori e interpreti runtime, generatori di codice, parser, librerie, driver e BSP, progettazione di sistemi custom su bus e schede a specifiche militari-aerospaziali-avioniche-industriali estese, fino al vero e proprio layer del software applicativo per sistemi embedded safety-critical hard realtime - che a conti fatti è solo l'ultimo anello della catena, risultato ultimo di una derivazione logica dimostrabilmente error-free da strati e strati di simbolismi logici, come predicato per una intera vita dal grandissimo anticipatore Edsger Dijkstra.
Il tutto costantemente accompagnato da specifica e verifica formale nei profili più avanzati previsti dalle normative vigenti, a monte ed a valle, in un circuito che parte dall'algebra di processo applicata alla specifica e si conclude nell'interpretazione astratta sul codice realmente prodotto a garanzia della relativa semantica, ovviamente associata al codesign e alla coverifica esaustiva di tutto l'insieme di hardware, firmware, componenti elettromeccaniche. Deve quindi essere ben chiaro ad ogni lettore che si tratta di un modo di procedere e concepire software, firmware, hardware su misura (inclusa gran parte della stessa toolchain usata per produrre e verificare tutto ciò) radicalmente diverso rispetto al mainstream e totalmente peculiare.

D'altro canto, a prescindere dai titoli minimi richiesti per il mero accesso alle selezioni delle grandi multinazionali del controllo (da tempi non giurassici, verso la metà degli anni Ottanta, si parte dal PhD in tutto il mondo industrializzato per le posizioni progettuali avanzate e di ricerca), l'obbligo di una formazione interna iniziale che dura tra i tre e i cinque anni è ampissimamente giustificato dall'acquisizione di tale notevole range di competenze teoriche e applicative, di cui la computer science non è che una frazione - senza contare ovviamente gli obblighi all'aggiornamento perpetuo e al lifelong learning. Per quanto possa sembrare paradossale, infatti, anche nell'epoca del publish or perish più forsennato, del quotation index e dei trecentomila teoremi pubblicati all'anno la cultura della comunità di ricerca rimane sostanzialmente una cultura orale e non v'è sostituito qualitativo alla possibilità di interagire direttamente con i protagonisti accademici e non, seguire seminari e periodi di affiancamento là dove nascono i risultati più recenti nei settori che riguardano più da vicino sia le singole applicazioni che la ricerca teorico-applicativa svolta nelle grandi multinazionali.

 10 
 inserita:: Luglio 22, 2016, 09:45:13  
Aperta da vuott - Ultimo messaggio da oregon
Esatto ... proprio come spiegato in

http://linux.die.net/man/3/chdir

Pagine: [1] 2 3 ... 10
Copyright © 2015 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines