C-ben egy c kódot ami egy string-be van átlehet konvertálni futtatható kódként?
Pl van egy string
char code[]="printf(\"Hello!\");";
és ennek a tartalmát (printf("Hello");) valahogy lelehet futtatni mint egy c kód?
Tehát kiírná a konzolon, hogy "Hello".
kiírod a kódot egy txt-be
fork-olod a processt
a child-ban exec() gcc-re amivel lefordítod a kódot
aztán megint fork-exec amivel futtatod az új programot.
Végül, ha szükséges törlöd a felesleges fájlokat
Több probléma is van a dologgal:
1. Az általad bemásolt példa nem egy forduló C kód, csak egy kódrészlet, önmagában nem futtatható.
2. A C kódokat először fordítani kell, s csak utána lehet futtatni. Ez nem olyan hatalmas probléma, de bonyolítja a folyamatot.
3. Ismeretlen, bekért, változóban tárolt, kódot futtatni baromi veszélyes dolog, a hackerek álma, ha úgy tetszik.
Mindezektől eltekintve a probléma természetesen megoldható.
Legegyszerűbben egy C interpreterrel lehetne, de nem tudom, létezik-e olyan.
Lua vagy hasonló nyelven nem jó neked a beágyazott utasítás?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!