quindi ho del codice che usa dlopen
per caricare le librerie e voglio che funzioni su un sistema bluegene, ma non ho un bluegene per testare le cose e non ho mai lavorato direttamente con uno. Il bluegene supporta ltdl.h
o usa qualcos'altro? se sì, cosa usa?I sistemi Bluegene supportano ltdl o qualsiasi altro tipo di supporto dlopen()?
risposta
BlueGene/L non supporta il collegamento dinamico o il caricamento di librerie. Questo è spiegato nel redbook nel capitolo 5.
Sebbene Blue Gene/L di IBM utilizza i XL compilatori, ci sono differenze con rispetto a tutti gli altri server IBM. In particolare, nel caso del modello di programmazione pSeries Linux IBM , alcuni delle differenze da Linux PPC64 sono:
- No stdin
- No I/O asincrono
- Nessun collegamento dinamico
- No demand paging/swap
- spazio di indirizzamento virtuale è mappato 1-on-1 con la memoria fisica
- No sola lettura memor y
- Grazie alla decisione di progettazione CNK - No SIGSEGV scrittura in un const char * p
librerie dinamiche sono supportati su BlueGene/P.
questo è esattamente quello che dovevo sapere. Grazie! – Sam
In realtà, ciò sembra provenire dal capitolo 5 del redbook collegato. –
@Dan grazie, ho aggiornato la mia risposta. –
Anche se ha 'dlopen()', è necessario un test di runtime per garantire che il codice funzioni come previsto. –
beh, ci sono persone che sarebbero abe a testarlo relativamente velocemente per me, ma io non sono "seduto di fronte a uno", per così dire, quindi non posso solo andare in giro e provare le cose e vedere se corrono . Non scriverò solo qualcosa e lo distribuirò senza fare alcun test haha – Sam
@ Blue Blue Gene/L o BlueGene/P? Anche +1 per una domanda BlueGene. –