Czy jest jakiś sposób na skompilowanie dodatkowego kodu w środowisku wykonawczym w C lub C ++?

Oto, co chcę zrobić:

Uruchom program i zainicjuj niektóre struktury danych.Następnie skompiluj dodatkowy kod, który może uzyskać dostęp / zmodyfikować istniejące struktury danych.W razie potrzeby powtórz krok 2.

Chcę to zrobić za pomocą obuC iC++ za pomocągcc (i ostatecznieJava) na systemach uniksopodobnych (szczególnie Linux i Mac OS X). Chodzi o to, aby zasadniczo zaimplementować pętlę odczytu-eval-print dla tych języków, która kompiluje wyrażenia i instrukcje w miarę ich wprowadzania i używa ich do modyfikowania istniejących struktur danych (coś, co jest wykonywane przez cały czas w językach skryptowych). Piszę to narzędzie wpython, który generujeC/C++ pliki, ale nie powinno to być istotne.

Zbadałem to w przypadku bibliotek współdzielonych, ale dowiedziałem się, że modyfikowanie bibliotek współdzielonych nie wpływa na programy, które już działają. Próbowałem również użyć pamięci współdzielonej, ale nie udało mi się znaleźć sposobu na załadowanie funkcji na stertę. Rozważałem również użycie kodu złożenia, ale jeszcze nie próbowałem tego zrobić.

Wolałbym nie używać kompilatorów innych niżgcc chyba że nie ma absolutnie żadnego sposobu, aby to zrobićgcc.

Jeśli ktoś ma jakieś pomysły lub wie, jak to zrobić, każda pomoc zostanie doceniona.

questionAnswers(6)

yourAnswerToTheQuestion