|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#81 |
|
Senior Member
Iscritto dal: Dec 2006
Città: Trapani (TP)
Messaggi: 3098
|
Ad oggi l'assenza di codici sorgenti ha un solo grande vantaggio... se rubi qualche tecnologia sotto patent e la implementi nel tuo codice in modo non visibile molto probabilmente non lo scoprirà mai nessuno.
__________________
A casa ho almeno sette PC, in firma non ci stanno
|
|
|
|
|
|
#82 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Boh, non ho più seguito la discussione quindi non so come siate arrivati a parlare di lock e perchè ... Quello che posso dire su Windows è che in ditta vige la regola, e questa và rispettata senza se e senza ma: "non usare membri statici in C++ altrimenti su Windows potrebbe non funzionare". Boh, io programmo per Linux ed è anni che non faccio codice per Win quindi non sono aggiornato, ma per l'ultima gui QT che ho fatto e che deve girare sia su Linux che su Win, mi è stato esplicitamente chiesto di evitare qualsiasi variabile statica, singletone etc. Mi è stato detto da gente che ha fatto in C++ per Windows la gestione audio e video della simulazione per l'esercito tedesco, non da 4 novelli (nello stesso progetto io sono stato responsabile della gestione della logica e della comunicazione che gira su Linux tranquillamente con singletones). Ovviamente non ho problemi ad evitare variabili statiche essendoci n modi per ottenere lo stesso risultato, ma la cosa mi ha fatto pensare ...
__________________
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 |
|
|
|
|
|
|
#83 | |
|
Senior Member
Iscritto dal: Apr 2006
Città: dove mi pare. Linux per sempre
Messaggi: 1121
|
Quote:
__________________
"mo va a fer dal pugnàt! THO' UN CUOCO .....(Daniele Luttazzi Raiperunanotte 25/03/2010) |
|
|
|
|
|
|
#84 | |||||||||||||||||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Vero, ma ho espresso soltanto il mio giudizio.
Quote:
Quote:
Quindi da un po' di anni hanno gente con esperienza sui PPC, in particolare nella sezione compilatori (per il back-end che emette codice). Quote:
Nell'esempio evidenziato che porta all'exploit, lo stesso registro viene usato prima a 32 bit, e poi a 64 bit. Differenze così grossolane sono praticamente impossibili per un compilatore. Quote:
Tutte ipotesi che non reggono. ![]() Quote:
La prima a mostrare che il modello open source non è migliore di quello closed relativamente alla sicurezza (altro esempio: ho un sistema d'allarme eccezionale, e sono talmente convinto della sua sicurezza che attaccato alla porta lascio il suo schema completo per farlo esaminare dai ladri Ovviamente non significa che quello closed sia meglio. La seconda è che la differenza fra closed e open è molto sottile, visto che entrambe le centrali nucleari alla fine utilizzano esattamente lo stesso codice (non tenendo conto dell'offuscamento delle scritte), e che il semplice non rilasciare i sorgenti cambi completamente lo scenario. Quote:
Quote:
I lock li ha citati ConteZero in un messaggio. Quote:
Io non mi sono mai fatto problemi a utilizzare membri statici, quando m'è servito. Passi per il pattern Singleton, che viene visto come il male da molti programmatori, ma per il resto i membri statici vengono utilizzati in maniera utile in alcuni pattern. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Nel mio caso si applica la prima. Nel tuo la seconda. Quote:
Quote:
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||||||||||||
|
|
|
|
|
#85 | |
|
Senior Member
Iscritto dal: Apr 2006
Città: dove mi pare. Linux per sempre
Messaggi: 1121
|
Quote:
__________________
"mo va a fer dal pugnàt! THO' UN CUOCO .....(Daniele Luttazzi Raiperunanotte 25/03/2010) |
|
|
|
|
|
|
#86 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#87 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Il problema che abbiamo avuto coi membri statici (e da quì i singletons) è uscito fuori quando dovevamo instanziare più applicazioni che usano la stessa libreria dll: i membri statici della libreria rimanevano statici per tutte le librerie aperte ovvero, se modificavi il valore di un membro statico da una libreria, tutte le librerie leggevano il medesimo valore. Ovviamente la cosa era rischiosissima per la mancanza di mutex sui membri statici con relativi crash delle applicazioni, ma ovviamente anche senza crash il risultato non era quello desiderato. Da li la regola ferrea in ditta di non usare membri statici ... Comunque chiudo l'OT, non voglio continuare sul tecnico perchè vedo che state già litigando proprio per questo motivo
__________________
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 |
|
|
|
|
|
|
#88 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Ho capito il tuo problema, ma per le DLL il discorso è diverso. A parte il fatto che, per come lo hai descritto, mi sembra che il membro statico si comporti come da manuale, è possibile ricorrere ai mutex.
In ogni caso è anche possibile, se non ricordo male, avere memoria non condivisa (quindi "locale") nelle DLL per tutte le applicazioni che ne fanno uso. Chiudo qui anch'io, che siamo andati un po' troppo OT.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#89 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
La memoria è condivisa tra l'applicazione e la libreria, non tra le applicazioni e le librerie anche se queste si chiamano allo stesso modo. X.exe utilizza Y.dll ma non dovrebbe avere niente a che fare con Z.exe che utilizza Y.dll.
__________________
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 |
|
|
|
|
|
|
#90 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Uomo di poca fede: Using Shared Memory in a Dynamic-Link Library
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#91 |
|
Senior Member
Iscritto dal: Dec 2006
Città: Trapani (TP)
Messaggi: 3098
|
Ho abbandonato perché i post sono diventati troppo lunghi da leggere.
Ci tenevo solo a dire che i bug oramai vengono spesso usati per riconoscere una violazione di copyright Ne sanno qualcosa quelli del Popcornhour, che hanno visto "smascherato" il loro media player come un implementazione "non free" di MPlayer proprio perché con determinati tipi di filmato c'erano dei difetti tipici di alcuni bug presenti (e mai risolti in quanto "poco importanti") nell'mplayer.
__________________
A casa ho almeno sette PC, in firma non ci stanno
|
|
|
|
|
|
#92 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Comunque sicuramente è possibile ma con la MS bisogna fare a modo suo e probabilmente questo modo non lo conosciamo. Quello che mi sembra strano è che ci sia ancora questa regola in ditta nonostante la presenza di esperti Windows (oddio, la nostra parte, gruppo communicazione, ha passato il test mentre la loro ... ehm ... progetto rinviato di 6 mesi per colpa loro, forse quell'"esperti" va un pò rivalutato
__________________
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 |
|
|
|
|
|
|
#93 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
In questo modo vengono completamente isolate le applicazioni, e la DLL usata soltanto per usufruire delle API che si porta dietro. Il vantaggio ulteriore è che il sistema è molto più stabile e sicuro. Quote:
Ogni s.o. ha le proprie peculiarità, che andrebbero conosciute e sfruttate. Quote:
Anche perché, oggettivamente, se hai studiato il funzionamento delle DLL, son tutte cose che dovresti sapere (non dico a te, ma parlo degli "esperti"). Io quel link te l'ho recuperato in 2 secondi netti, ma perché sapevo già cosa cercare: ero sicurissimo che si poteva condividere memoria fra le DLL, perché anni fa qualcosina l'avevo studiata sull'argomento.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#94 | |
|
Senior Member
Iscritto dal: Dec 2006
Città: Trapani (TP)
Messaggi: 3098
|
Quote:
![]() Perché fare una cosa così orribile come condividere la memoria fra diverse "istanze" della stessa DLL ? Se c'è da gestire una risorsa non preemptable bisognerebbe usare un manager o qualcosa del genere... brrr, che brutta cosa che hai detto
__________________
A casa ho almeno sette PC, in firma non ci stanno
|
|
|
|
|
|
|
#95 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Dipende dalle esigenze. Se serve condividerla, i mezzi ci sono, e sono meglio che niente.
Comunque, onestamente non m'è mai capitato. Si vede che sono fortunato, e le sassate per ora me le sono risparmiate.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#96 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Il codice di una DLL viene caricato una volta sola, anche se usata piu' volte da piu' programmi.
In questo senso la memoria e' condivisa. L'indirizzo fisico e' uguale, sono diversi gli indirizzi virtuali. Ma immagino non steste parlando della memoria codice ma bensi' quella dato. Comunque si'. Mi pare un po' off-topic. Peraltro ultimamente ho dovuto installare Chrome perche' firefox e' affetto da rallentamenti senza senso. Si blocca e riparte all'improvviso. (Ho antivirus, ad-aware e compagnia danzante)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#97 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
@cdimauro:
Probabilmente parlo arabo allora perchè noi NON volevamo condividere memoria fra le DLL come ci si aspetta che faccia una dynamic link library caricata da un eseguibile. Se vuoi che le applicazioni possano comunicare utilizzi shm (come facciamo noi), ipc o quello che vuoi, ma non certo mettendo di default la libreria condivisa. A parte che non mi sembra il caso della MS perchè dal tuo link ho capito che lo devi specificare se vuoi condivisione, ma magari questa è una feature nuova. Perchè il nostro problema risale a 3 anni fa. E comunque vedo che hai preso la palla al balzo ![]() gli "esperti" li ho canzonati, è vero, ma sono comunque 3 ragazzi che hanno messo su una simulazione da paura (immagina 2 carroarmati virtuali che hanno una visione 3d dello scenario grazie ai proiettori - da gestire via software -, con tanto di specchietti retrovisori - un monitor per ogni specchietto da gestire via software - qualche finestrino - un monitor per ogni finestrino da gestire via software - aerei che passano - gestire l'audio, etc ...).
__________________
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 |
|
|
|
|
|
#98 | |
|
Senior Member
Iscritto dal: Dec 2006
Città: Trapani (TP)
Messaggi: 3098
|
Quote:
Il punto è... perché una DLL dovrebbe avere un area dati SUA condivisa fra tutte le istanze ? Una ragione plausibile è per gestire una risorsa non preemptable, ad esempio (beh, è un esempio) un driver stampante... ma a quel punto è più pratico usare un manager e mettere nella DLL solo l'interfaccia di comunicazione col manager stesso. Ad occhio e croce sembra l'equivalente delle librerie dinamiche di linux + shm...
__________________
A casa ho almeno sette PC, in firma non ci stanno
|
|
|
|
|
|
|
#99 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Sul loro lavoro nulla da dire, ma non era questo in discussione, quanto le loro affermazioni sul funzionamento delle DLL.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#100 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Ok, domani lo chiedo direttamente con loro (gli "esperti").
__________________
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:55.






















