CZFree.Net Home Page Diskuzní Fóra CZFree.Net Archív Často Kladených Otázek Registrace Nových Členů Archív Odkazů Seznam Členů Fóra CZFree.Net Czech Node Map hosted @CZFree.net CZFree.Net WIKI
CZFree Network Portal vzkazy | ovládání | pokročilé hledání   
 

Odpovědět k Tématu 
CZFree.Net forum: Wireless community network CZFree.Net > Fórum > Unixové Systémy > Prometheus QoS 0.7
« 45678910111213141516
Autor
Téma  < Předchozí Téma   Další Téma >
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 145 

To je jasný ...
int je na obou architekturách stejný (4 bajty)
long je na 32bitech roven int, na 64bitech ale už 8 bajtů
long long už je opět stejný - 8 bajtů.

docela matoucí, bych řekl. Doufám, že jsem c-guru tímto postem neurazil :-)

Old Post 23.12.2007 v 10:58
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 146 

__________________

Old Post 26.12.2007 v 13:29
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 147 

Naposledy upravil ludvik 26.12.2007 v 14:32

Old Post 26.12.2007 v 14:00
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 148 

já fakt nevěřím, že na 32 bit a 64 bit platformě se to bude chovat jinak: prostě příslušná verze libc pro 32bit a 64bit architekturu bude mít příslušně ošetřený tisk daného formátu, ne ? do problémů by ses dostal jen kdyby si to zkompiloval jinde a snažil se pak používat 32 bit binárku proti 64bit knihovně, nebo naopak...

formátovací řetězce pro printf() jsou v C pravda trochu opruz, no, s tím se asi nedá nic dělat. já jsem jednou rozhodl pro C právě proto, že tyhle věci umím, a očekávám tedy, že si díky tomu udržím nějakou kontrolu nad vývoje... a ne že si bude někdo paralelně releasovat nějaké neoficiální codeforky místo aby používal naše SVN (hergot, to dev.arachne.cz sice už je udělaný, ale pořád tam chybí port-redirect, nebo je možná nějaký problém s SSL certifikátem jak pro CZF tak i pro veřejnou adresu... hmmm)

__________________

Old Post 26.12.2007 v 14:40
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 149 

na spolupráci jsme se snad již dohodli, ne? Releasovat jsem začal jenom proto, že tvoje poslední verze byla trochu obsolete ... a popravdě - nefungovala mi, případně potom nevyhovovala. Nemluvě o tom, že jsi již mockrát prohlásil - pokud vám tam něco chybí, dopište si to, je to GPL. A změny jsem zveřejnil. (a to dle mě GPL nezakazuje paralelní codeforky, ne? Když na to přijde, můžu to přejmenovat a nechat tam poznámku, z čeho vycházím. Pokud se pletu, opravte mě).

o formátovacích řetězcích se hádat nebudu. ty podle mě snad fungujou ... momentální problém, který řešíme je aritmetika nad celými čísly ... samozřejmě, že nepouštím jednu binárku na různých architekturách, ale kompiluju to vždy na místě.

zkus si na různých architekturách:
int main(int argc, char **argv)
{
printf("sizeof(char) == %d\n", sizeof(char));
printf("sizeof(short) == %d\n", sizeof(short));
printf("sizeof(int) == %d\n", sizeof(int));
printf("sizeof(long) == %d\n", sizeof(long));
printf("sizeof(long long) == %d\n", sizeof(long long));

return 0;
}

Uznávám, že úpravy kvůli tomuto problému bys měl dělat asi jenom ty. Ale holt jsem chtěl kopečkovi pomoct ... moje Dčko beru jako poslední moji vlastní verzi, dokonce ji ani nepoužívám, protože nemusím.

Naposledy upravil ludvik 26.12.2007 v 15:12

Old Post 26.12.2007 v 14:55
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 150 

ale no, já si v zásadě nestěžuju, já jen tvrdím, že je nejvyšší čas mergnout to.

no ale jinak sizeof() a formátovací modifikátor pro printf() jsou dvě různé věci. na jakékoliv platformě fakt musí modifikátor %d vytisknout správně int a %ld musí vytisknout správně long ... fakt ... (a ještě je tuším %Ld pro tvůj long long...)

__________________

Old Post 26.12.2007 v 16:02
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 151 

no ale ok, že to na jedné platformě přetéct může a na druhé nemusí, to je v zásadě asi pochopitelné, uznávám.

nicméně ta konkrétní chyba podle mě není přetečení, ale chyba formátování... long je fakt dlouhatánskej i na 32bit platformách..

__________________

Old Post 26.12.2007 v 16:10
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 152 

Tak jak vysvětlíš toto:

long line = 75000;
long up = 75000;
long max = 75000;
printf("%d\n", max*up/line);

Na 32bitech je zobrazený výsledek 17733, na 64bit to je 75000.

při proměnných long long je výsledek na obou stejný a správný.
Dokonce i printf("%d\n", (long long)max*up/line); je správně ... ta matematika nesmí být v závorce.

Ale s tím formátováním máš zjevně pravdu ... mělo by tam být %Ld nebo spíš %Lu. Naštěstí je to v tomto případě naprosto fuk ... takový internet, aby se v kilobitech nevešel do 4 bajtů snad nikdo přes promethea neprovozuje :-)

Asi oba hledáme a vidíme chybu jinde ... ale stojím si za tím, že ve formátování to není ... Že ty to nemáš jak na 64 bitech vyzkoušet, co?

Závěr: všechny důležité proměnné by měly být long long. Mírně větší paměťová náročnost je u tohoto typu softu přeci naprosto nevýznamná.

P.S.: zkoumám to průběžně :-) proto jsem to v kódu nepoužil ...

Old Post 26.12.2007 v 17:15
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 153 

__________________

Old Post 26.12.2007 v 18:30
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
solny
Team Leader
zastupce cloudu 10.11


Registrován: 19.10.2003
Příspěvků: 273

Příspěvek č. 154 

__________________

http://gandalf.brevnov.czf
http://search.brevnov.czf

Old Post 26.12.2007 v 22:12
solny je offline   Click Here to See the Profile for solny   Find more posts by solny   Click here to Send solny a Private Message   Click Here to Email solny     Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 155 

Old Post 26.12.2007 v 22:50
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
ludvik
Senior Member

Registrován: 04.12.2002
Příspěvků: 543

Příspěvek č. 156 

Old Post 26.12.2007 v 22:58
ludvik je offline   Click Here to See the Profile for ludvik   Find more posts by ludvik   Click here to Send ludvik a Private Message   Click Here to Email ludvik   Visit ludvik's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
solny
Team Leader
zastupce cloudu 10.11


Registrován: 19.10.2003
Příspěvků: 273

Příspěvek č. 157 

__________________

http://gandalf.brevnov.czf
http://search.brevnov.czf

Old Post 26.12.2007 v 23:03
solny je offline   Click Here to See the Profile for solny   Find more posts by solny   Click here to Send solny a Private Message   Click Here to Email solny     Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 158 

__________________

Old Post 27.12.2007 v 09:52
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
solny
Team Leader
zastupce cloudu 10.11


Registrován: 19.10.2003
Příspěvků: 273

Aktualni verze promethea Příspěvek č. 159 

__________________

http://gandalf.brevnov.czf
http://search.brevnov.czf

Old Post 27.12.2007 v 23:26
solny je offline   Click Here to See the Profile for solny   Find more posts by solny   Click here to Send solny a Private Message   Click Here to Email solny     Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
xchaos
Samozvany gubernator

Registrován: 13.05.2002
Příspěvků: 3362

Team Member: MOD

Příspěvek č. 160 

__________________

Old Post 27.12.2007 v 23:58
xchaos je offline   Click Here to See the Profile for xchaos   Find more posts by xchaos   Click here to Send xchaos a Private Message   Click Here to Email xchaos   Visit xchaos's homepage!   Reference obchodniku Upravit/Smazat Příspěvek   Odpovědět s Citací  
Veškerý čas je GMT. Aktuální čas: 21:32.  Předcházející Téma   Další Téma
Odpovědět k Tématu
« 45678910111213141516  
Zformátovat pro Tisk | Stáhnout Téma do Palma | Poslat Téma E-mailem | Odebírat tuto Diskuzi

Search this Thread:

 

CZFree.NET | Copyright ©MMII - MMXIV CZFree.NET | Kontaktujte Nás
Powered by: vBulletin - Copyright ©MM - MMII Jelsoft Enterprises Limited.
Founder: Deu / original scripting by: carlos (All High Seeds) / Node Monitor by: 8an
Additional Portal & Node Monitor Development by: oto, Zajsoft, Danny, Netdave
Hosted by: NFX.cz / FreeTel.cz