więc mam kod, który używa dlopen
do ładowania bibliotek, i chcę, aby działał na systemie bluegene, ale nie mam bluegene, aby przetestować rzeczy, a ja nigdy nie pracowałem bezpośrednio z jednym. Czy bluegene obsługuje ltdl.h
, czy też używa czegoś innego? jeśli tak, to czego używa?Czy systemy Bluegene obsługują ltdl lub inny rodzaj obsługi dlopen()?
Odpowiedz
BlueGene/L nie obsługuje dynamicznego łączenia ani ładowania bibliotek. Jest to wyjaśnione w redbook w rozdziale 5.
Chociaż Blue Gene/L korzysta z IBM XL kompilatorów istnieją różnice z odniesieniu do wszystkich innych serwerów IBM. W szczególności w przypadku pSeries Linux modelu programowania IBM niektóre różnic z Linux PPC64 są:
- Nie stdin
- Nie asynchroniczne I/O
- Nie dynamiczne łączenie
- Brak zapotrzebowania stronicowania/wymiany
- wirtualna przestrzeń adresowa jest odwzorowany 1-on-1 z pamięci fizycznej
- Nie tylko do odczytu Memor y
- Z powodu decyzji projektowej CNK - Nie SIGSEGV piśmie do const char * p
biblioteki dynamiczne są obsługiwane BlueGene/P.
to dokładnie to, co potrzebowałem wiedzieć. Dziękuję Ci! – Sam
W rzeczywistości wygląda na to, że pochodzi z rozdziału 5 połączonego skryptu. –
@Dan dzięki, zaktualizowałem swoją odpowiedź. –
Nawet jeśli ma 'dlopen()', musisz wykonać testowanie w czasie wykonywania, aby upewnić się, że twój kod działa zgodnie z oczekiwaniami. –
cóż, są ludzie, którzy mogliby mi przetestować stosunkowo szybko dla mnie, ale nie "siedzę przed jednym", że tak powiem, więc nie mogę po prostu grzebać i próbować rzeczy i sprawdzić, czy biegną . Nie zamierzam po prostu pisać czegoś i wdrażać bez testowania haha – Sam
@Sam BlueGene/L lub BlueGene/P? Również +1 dla pytania BlueGene. –