Forum » Programiranje » [C++] Program, ki se popravi, prevede ter ponovno zažene
[C++] Program, ki se popravi, prevede ter ponovno zažene
Vesoljc ::
se da vse narest samo z enim procesom?
Abnormal behavior of abnormal brain makes me normal...
BigWhale ::
Tezko...
Ne bom pa trdil, da nemogoce...
Tole dela... S tem, da bi moral med izvajanjem lala() prepisat main, se prestavit tja, potem eventuelno prepisat se lala() in ga spet poklicat...
Ne bom pa trdil, da nemogoce...
#include <stdio.h> int lala() { main(); } int main() { printf("lala\n"); lala(); }
Tole dela... S tem, da bi moral med izvajanjem lala() prepisat main, se prestavit tja, potem eventuelno prepisat se lala() in ga spet poklicat...
Thomas ::
Hja, vidim, da tega nisem vidu.
Link
Tale fnt ma zadevo še mau bl u plenicah.
Samo ignorirat vsakega, ki pravi da to ni možno, ali da se to zaradi programerskih bontonov ne sme, yada yada ... !
Ker nima smisla zgubljat časa, zadeva je preveč hot, race je pa on. Delajo fantje zlo na tem, eselštiri sploh, zaene 3 vem, ker sem se pogovarjal z njimi o tem.
p.s.
Vsaj eno leto do dve, bo pa totalni zilč še.
Link
Tale fnt ma zadevo še mau bl u plenicah.
Samo ignorirat vsakega, ki pravi da to ni možno, ali da se to zaradi programerskih bontonov ne sme, yada yada ... !
Ker nima smisla zgubljat časa, zadeva je preveč hot, race je pa on. Delajo fantje zlo na tem, eselštiri sploh, zaene 3 vem, ker sem se pogovarjal z njimi o tem.
p.s.
Vsaj eno leto do dve, bo pa totalni zilč še.
Man muss immer generalisieren - Carl Jacobi
noraguta ::
ja v lispu se da redefinirat metodo(funkcijo) v runtimeu. no ja saj lisp itak v executable embeda svoj interpreter.
pri statično tipiziranih jezikih je pa cel kup omejitev.
pri statično tipiziranih jezikih je pa cel kup omejitev.
Pust' ot pobyedy k pobyedye vyedyot!
Vesoljc ::
heh, sej nisi mogu vidt
je bil topic narejen takoj, ko sem zagledal tvoj offtopic
imho je dobro, da imamo še en dodatni proces/servis, ki skrbi za glavni program, njegov source in prevajanje le-tega ter reštart progija.
druga varjanta so pa dinamični moduli ala *.dll, *.so. rabimo pač nek framework, ki nato zažene plugin. ko ugotovi, da ta plugin ni več dober, popravi njegov source, ga rebuilda ter reloada.
je bil topic narejen takoj, ko sem zagledal tvoj offtopic
imho je dobro, da imamo še en dodatni proces/servis, ki skrbi za glavni program, njegov source in prevajanje le-tega ter reštart progija.
druga varjanta so pa dinamični moduli ala *.dll, *.so. rabimo pač nek framework, ki nato zažene plugin. ko ugotovi, da ta plugin ni več dober, popravi njegov source, ga rebuilda ter reloada.
Abnormal behavior of abnormal brain makes me normal...
Thomas ::
V nobenem univerzalnem programskem jeziku (Fortran, Pascal, Basic, C, Java ...) ni nobenih takih omejitev. No, pri Javi je morda treba izklopit kakšen security, nič drugega.
Lisp je pa tozadevno praktično povsem neuporaben.
Lisp je pa tozadevno praktično povsem neuporaben.
Man muss immer generalisieren - Carl Jacobi
Thomas ::
> imho je dobro, da imamo še en dodatni proces/servis, ki skrbi za glavni program, njegov source in prevajanje le-tega ter reštart progija.
Se strinjam. Mogoče jih je dobro imeti celo ekologijo, da pucajo en druzga, plenijo prostor omagalim ...
Da se. Kdor pravi da se ne da, al je prelen al pa preneumen.
Se strinjam. Mogoče jih je dobro imeti celo ekologijo, da pucajo en druzga, plenijo prostor omagalim ...
Da se. Kdor pravi da se ne da, al je prelen al pa preneumen.
Man muss immer generalisieren - Carl Jacobi
noraguta ::
problem je da je treba popravit vse naslove(pointerje ), ki kazejo na stari plugin. ena varianta je interpreter druga pa restart aplikacije. seveda moraš pri reštartu shranit vse vrednosti , katere se nahajajo v aplikaciji, da stvar izgleda kolikor toliko elegantno.
Pust' ot pobyedy k pobyedye vyedyot!
noraguta ::
Glede neuporabnosti lispa pa
Noben tekoč program v "univerzalnem programskem jeziku (fortran, pascal, basic, c, java... ) ni nobenih takih omejitev" tega ne omogoča.
Ok ker gre za c++ sem out.
an even more impressive instance of remote debugging occurred on nasa's 1998 deep space 1 mission. A half year after the space craft launched, a bit of lisp code was going to control the spacecraft for two days while conducting a sequence of experiments. Unfortunately, there was a subtle race condition in the code that had escaped detection during ground testing and was already in space. When the bug manifested in the wild--100 million miles away from earth--the team was able to diagnose and fix the running code allowing the experiments to complete. 11 as one of the programmers described it:debugging a program running on a $100m piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem.
Noben tekoč program v "univerzalnem programskem jeziku (fortran, pascal, basic, c, java... ) ni nobenih takih omejitev" tega ne omogoča.
Ok ker gre za c++ sem out.
Pust' ot pobyedy k pobyedye vyedyot!
Zgodovina sprememb…
- polepsal: Vesoljc ()
Thomas ::
Satelit bi bil lahko tudi v sosednji (isti) sobi, potem bi mu pa zamenjali program.
Heh ...
Heh ...
Man muss immer generalisieren - Carl Jacobi
noraguta ::
When the bug manifested in the wild--100 million miles away from Earth--the team was able to diagnose and fix the running code allowing the experiments to complete.
Pust' ot pobyedy k pobyedye vyedyot!
Thomas ::
To je rutina za vesoljske sonde in satelite. Isto so naredili s Spiritom, ko se je začel rebutati ko obseden na Marsu. V planu je celo pisanje programov za sondo za zunanje planete, ki bo trajalo ves čas poleta do tja. Potem bodo samo poslali po radiu najnovejši update.
Ampak to ni point tukile.
Ampak to ni point tukile.
Man muss immer generalisieren - Carl Jacobi
Vesoljc ::
> problem je da je treba popravit vse naslove(pointerje ), ki kazejo na stari plugin.
to se da shendlati tudi brez restarta. če je le tisti, ki ga uporablja, pripravljen na to, da ga včasih zgubi za kak trenutek ali dva.
to se da shendlati tudi brez restarta. če je le tisti, ki ga uporablja, pripravljen na to, da ga včasih zgubi za kak trenutek ali dva.
Abnormal behavior of abnormal brain makes me normal...
noraguta ::
To je rutina za vesoljske sonde in satelite.
ne ne za nobeno "vesoljsko" proceduro ne gre to je v lispu cisto standarden REPL. pri spiritu je šlo za povsem drugo stvar. nikakor pa ne za modificiranje programa znotraj programa. prej je šlo za deployment service packa in reboot. ves inernal state sistema je bil izgubljen.
to se da shendlati tudi brez restarta. če je le tisti, ki ga uporablja, pripravljen na to, da ga včasih zgubi za kak trenutek ali dva.
ja vesolc ampak če hočemo bit še malo bolj dinamični potrebujemo recimo vsaj še rtti(mogoče pa še kaj) , saj nočemo proxyje zabetonirat za vedno?
Pust' ot pobyedy k pobyedye vyedyot!
Vesoljc ::
@noraguta
ja seveda, rtti oziroma nekaj podobnega pod nujno. rahel overhead sicer je, ampak tko pač je...
ja seveda, rtti oziroma nekaj podobnega pod nujno. rahel overhead sicer je, ampak tko pač je...
Abnormal behavior of abnormal brain makes me normal...
OwcA ::
Če dovoljujemo ogorodje, OSGi omogoča bolj ali manj tudi to (in še kar nekaj drugega).
Otroška radovednost - gonilo napredka.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Jeziki specifičnih domenOddelek: Programiranje | 2319 (1952) | noraguta |
» | Odpiranje Symbiana se je začelo (strani: 1 2 )Oddelek: Novice / Nokia / Symbian | 8518 (5809) | jype |
» | Programski jezik LispOddelek: Programiranje | 2256 (1417) | OwcA |
» | Seznam programskih jezikovOddelek: Programiranje | 2321 (1945) | BigWhale |