W Pythonie można nauczyć lokalizację pamięci zmiennych za pomocą funkcji ID, tak:Dostęp do zmiennej z innego programu w C
X = "Hello world!"
print(id(X)) # Output is equal to 139806692112112 (0x7F27483876F0)
mam próbował uzyskać dostęp do zmiennych z wskaźniki w C (na pewno drugi program nadal żyje):
#include <stdio.h>
int main(void){
char *x = (char *) 0x7F27483876F0;
printf("%s\n", x);
return 0;
}
skompilować kod, błędów lub ostrzeżeń, ale kiedy próbowałem uruchomiony program OS daje błąd segmentacji. Jak mogę rozwiązać ten problem?
A może to możliwe?
Każdy program ma swoją własną wirtualną przestrzeń adresową. Więc naprawdę nie możesz tego zrobić. –
Prawdopodobnie będziesz musiał użyć pamięci współdzielonej ... http://linux.die.net/man/3/shm_open –
Lub przeczytaj procfs lub użyj 'ptrace'. – TartanLlama