Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
milikiller
Založen: 12. 02. 2009 Příspěvky: 6
|
Zaslal: 12. únor 2009, 17:25:39 Předmět: Fyzikální Engine v C nebo CPP s fixed point matematikou |
|
|
Dobrý den, zajímalo by mě jestli existuje nějaký engine který požívá fixed point matematiku. Zkoušel jsem Box2D ale nedaří se mi ho zkompilovat. Na PC mi chodí v pohodě pod Visual studiem i Devcpp,ale já bych potřeboval port pro ARM7 procesor. Zkoušel jsem zkompilovat pod prostředím Keil Uvision, kompilace proběhne bez chyb a upozornění vše je v pořádku..ale program spadne ještě dříve něž stihne něco udělat. Má totiž problém s dinamickou alokací paměti...nikdo zatím neví proč.
Jen jsem chtěl vědět jestli je něco jiného než box2D co umí fixed point matematiku a je to psaný v c++ nebo c.. popřípadě jestli někdo dokáže z těchhle zdrojáků vykutat tu dinamickou alokaci paměti tak budu nejšťastnější člověk na světě.
zdrojáky jsou pro devccpp s SDL. Neděste se toho bastlu okolo to je ovládání hardwaru ARM7 procesoru, navíc v cpp jsem docela začátečník
Keil Source
http://milikiller.ic.cz/external/Box2D_keil.zip
DevCpp Source
http://milikiller.ic.cz/external/box2D_devcpp.zip
nebo jestli existuje i poslední verze bez dinamické alokace a všech těch std funkcí tak pošlete odkaz |
|
Návrat nahoru |
|
 |
Hardwire
Založen: 04. 09. 2007 Příspěvky: 117
|
Zaslal: 12. únor 2009, 18:31:05 Předmět: |
|
|
Před rokem jsem udělal port Box2D do Symbianu...je tam možnost zkompilovat to jak s fixed-point (definovanim symbolu TARGET_FLOAT32_IS_FIXED), tak s floating-point číslama.
Problém je, že je to port už starší verze 1.4.3 a do 2.0 se ty změny asi nedostaly. Označený jsou v kódu pomocí
//SYMBIAN
...
//~SYMBIAN
http://www.hardwire.cz/download/B2Test_Symb.zip
Je to projekt pro Carbide C++.
Problem s fixed-point verzi se nedavno resil na foru konkretne pro pouziti na DSku: http://box2d.org/forum/viewtopic.php?f=5&t=124&st=0&sk=t&sd=a (poslednich par stranek) |
|
Návrat nahoru |
|
 |
Hardwire
Založen: 04. 09. 2007 Příspěvky: 117
|
Zaslal: 12. únor 2009, 18:32:59 Předmět: |
|
|
Jinak pokud vim, tak Box2D ma vlastni alokatory pameti, aby to slo snadno upravit prave na omezenejsich systemech....moc detailne sem to ale nestudoval. Jakej mas konkretne problem s dynamickou alokaci? |
|
Návrat nahoru |
|
 |
milikiller
Založen: 12. 02. 2009 Příspěvky: 6
|
Zaslal: 12. únor 2009, 23:13:46 Předmět: problém |
|
|
No ono se to hrozně špatně popisuje. Já totiž nevím na čem přesně to spadne. při chodu toho zdrojáku to dojede na řádek
kód: |
World world(gravity, iterations); |
a z něj se to nehne. Pokud to disassembluju a koukam co se tam děje, tak to začne někde volat funkci strlen() a někde uprostřed funkce to zabloudí do neexistující oblasti RAM. Nějak mě moc řešení nenapadá. Asi vím co mi na to řeknete, že používám debilní kompiler, ale je to to nejlepší co znám. Když bude dost času zkusím to nějak prohnat gcc co to udělá. |
|
Návrat nahoru |
|
 |
Hardwire
Založen: 04. 09. 2007 Příspěvky: 117
|
Zaslal: 12. únor 2009, 23:30:17 Předmět: |
|
|
Tak krokuj dovnitř toho konstruktoru. |
|
Návrat nahoru |
|
 |
milikiller
Založen: 12. 02. 2009 Příspěvky: 6
|
Zaslal: 13. únor 2009, 00:42:54 Předmět: |
|
|
Tak koukam že asi omyl... Ono to neni tím konstruktorem. To mam jen 2 odlišné zdrojáky. Zkoušel kompilovat Box2D lite to je to co tu leží. a potom ten poslední build 2.0.1 a v tom mi to aspoň dojede do té definice světa. ale v tom zdrojáku co je tady vystavenej mi ten zmetek nedojede nikam... Když koukam do toho assemblerovýho kódu tak tam prostě neni ani zmínka o tom že by začalo chroupat z main.c Ono si to předpřeloží všechny knihovny který se tam používaj a při tom to právě buchne... jenže nejsem nějak schopnej dohledat odkud si to pořád bere knihovnu string.h a cstring, nemůžu na ní najít nikde ani odkaz...dobře jeden je v main.c ale ten mam teď zakomentovanej a stejně to spadne při načítání funkce strlen....jdu zkusit debugovat ten druhej zdroják schválně jestli tam je nějaký rozdíl |
|
Návrat nahoru |
|
 |
ladik-BigBoss

Založen: 28. 07. 2007 Příspěvky: 162
|
Zaslal: 13. únor 2009, 13:28:59 Předmět: |
|
|
kdyz kompilator neni nastaveny na prilisne dodrzovani standardu tak si zakladni hlavickove soubory dohleda sam. stejne se vetsinou linkuje cela standardni knihovna C naraz |
|
Návrat nahoru |
|
 |
|