Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 29. srpen 2015, 12:52:36 Předmět: Problém s kódem pod Linuxem |
|
|
Zdravím,
mám problém s C++ kódem na Linuxu. Pod woknama (Visual Studio) vše běží, jak má. Když kód přeložím na Linuxu (gcc - žádný warning (max. unused variable)), výstup je blbě. Je to kompresní algoritmus na obrázky, takže je to docela problém a netuším, co by mohlo být blbě. Používají se tam bitové operace. Kontroloval jsem velikosti zda sedí short apod, to vše je OK.
Nějaké obecné typy? Zdroják případně můžu postnout, ale je dost dlouhý, takže bych začal u obecných typů, pokud někdo něco ví.
Používám záporné indexace polí, ale to by taky nemělo vadit. Naplním pole a pak si akorát počáteční pointer posunu na potici [i + 1], abych mohl číst [-1] a nemusel tam dělat ify u krajů obrázku.
Díky _________________ Perry.cz |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 29. srpen 2015, 14:30:53 Předmět: |
|
|
GCC máš i pro Windows. To jen tak na okraj, abys nemusel přebootovávat (pokud nepoužíváš virtuálku). Testem tam bys rozlišil, jestli to je problém GCC, nebo Linuxu. |
|
Návrat nahoru |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 29. srpen 2015, 14:41:37 Předmět: |
|
|
No zatim jsem zjistil:
- Funguje to pro 8bit data, ale pro 16bit ne (nicméně endian je stejný)
- Windows build mam 32bit (nějaké externí knihovny), Linux jede na 64bit
- Na ten Linux nemůžu, jen přes terminál, takže debuging tam moc nejde _________________ Perry.cz |
|
Návrat nahoru |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 29. srpen 2015, 14:56:07 Předmět: |
|
|
No tak už jsem to našel... jsem kretén
Blbě jsem měl velikost v memset
měl jsem
kód: |
this->data = new T[width + 2];
memset(this->data[i], 0, sizeof(uint8) * (width + 2));
|
místo
kód: |
this->data = new T[width + 2];
memset(this->data[i], 0, sizeof(T) * (width + 2));
|
Vážně super chyba
PS: Proč pole... protože to má vícerozměrů a potřebuju ručně hýbat pointery a mít zápornou indexaci _________________ Perry.cz |
|
Návrat nahoru |
|
 |
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna