Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

[C] záhada
Jdi na stránku Předchozí  1, 2
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Jenda_KL



Založen: Sep 10, 2008
Příspěvky: 1173
Bydliště: Kadaň

PříspěvekZaslal: po prosinec 17 2012, 12:35    Předmět: Citovat

Je to čtečka čárovejch kódů a co v tom je za procesor nevím, linker a kompilátor je od tošiby.
Vůbec nevím proč, nikdy by mě nenapadlo přetypovač použít, ale s ním to funguje.
kód:
sprintf(mg,"TDSver: %d Prog:\"%s\"\n\r",(int)ver,msg);
Nejvíc mě na tom drtí, že celou aplikaci jsem napsal a odladil s gcc během dvou dnů a teď 2 týdny řešim při portu tyhle blbosti. Nefunguje tu ani memset() ačkoli se tváří že ano!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
piitr



Založen: Oct 19, 2007
Příspěvky: 1003

PříspěvekZaslal: po prosinec 17 2012, 13:05    Předmět: Citovat

Jenda_KL napsal(a):
Vůbec nevím proč, nikdy by mě nenapadlo přetypovač použít, ale s ním to funguje.
A jak je definováno to ver?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Jenda_KL



Založen: Sep 10, 2008
Příspěvky: 1173
Bydliště: Kadaň

PříspěvekZaslal: po prosinec 17 2012, 15:28    Předmět: Citovat

Je definován jako Unsigned int.
Pokud je zobrazeno více ints s formátovačem %d zasebou, tak to funguje.
Rovněž více stringů funguje.
Nefunguje kombinace %d %s, respektive funguje s přetypovačem u %d.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
piitr



Založen: Oct 19, 2007
Příspěvky: 1003

PříspěvekZaslal: po prosinec 17 2012, 16:00    Předmět: Citovat

Hmm, tak to by mělo být v pořádku. Mně to připadá jako chyba překladače. Nebo je tam někde schovaný nějaký zlý #define nebo tak něco.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
piitr



Založen: Oct 19, 2007
Příspěvky: 1003

PříspěvekZaslal: po prosinec 17 2012, 16:04    Předmět: Citovat

Taky je otázka, pokud je to Unsigned opravdu s velkým U, co to vlastně znamená. Normální C to nezná. Klidně to může být definováno jako unsigned long.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Jenda_KL



Založen: Sep 10, 2008
Příspěvky: 1173
Bydliště: Kadaň

PříspěvekZaslal: po prosinec 17 2012, 16:19    Předmět: Citovat

jasně, je to "unsigned int".
v gcc pod linuxem se ta aplikace normálně přeloží, spustí a funguje.
Bude to chyba překladače.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: po prosinec 17 2012, 16:41    Předmět: Citovat

citace:
A jak je definováno to ver?
Je definován jako Unsigned int.

Potom v printf() má být %u místo %d.

%d je pro celá čísla "signed"
%u pro celá čísla "unsigned"

Tady to snad nevadí, ale %d nebude správně zobrazovat unsigned int větší než 32768.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 718
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: po prosinec 17 2012, 17:59    Předmět: Citovat

Moc se mi nezdá že by v gcc pro Windows mohla být taková chyba, a ani si neumím představit, co by taková aplikace musela udělat, aby nahodila BSOD. To by chtělo podívat co hlásí BSOD za chybu. A zkusit program na jiném počítači, myslím že to bude počítačem a ne programem. Vadný harddisk (chyba dat při swapování paměti), vadná RAM, chyba v driveru videokarty atd.

Naposledy upravil Panda38 dne po prosinec 17 2012, 18:30, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po prosinec 17 2012, 18:08    Předmět: Citovat

BDOS, to je něco z CP/M, ne? Very Happy
Mně se před pár dny podařilo natvrdo zresetovat PC s WinXP jen tím, že jsem při enumeraci na USB vrátila chybnou délku v hlavičce konfiguračního deskriptoru. Prostě jednočip na USB poslal 34h místo 66h a PC se bez jakékoliv hlášky zresetovalo. To jen tak na okraj k té stabilitě windows. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 718
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: po prosinec 17 2012, 18:29    Předmět: Citovat

Mně to připadlo nějaké divné když jsem to psal. Very Happy Jo jo, BDOS+BIOS+CCP = CP/M. Ale třeba se to také chytne, "blue death of screen". Wink

Když driver shodí Windows, to je celkem ještě v pořádku, driver má přístup do kernelu, ale aplikace ne. I když nevím koho z MS napadlo při chybě služby resetovat PC bez varování, málokdo ví že si to může vypnout. Ale oni tam mají různé veselé nápady, jako např. po aktualizaci systému bez varování resetovat systém, člověk pak kouká že má několik hodin neuložené práce v ... pryč.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Jenda_KL



Založen: Sep 10, 2008
Příspěvky: 1173
Bydliště: Kadaň

PříspěvekZaslal: út prosinec 18 2012, 10:24    Předmět: Citovat

Panda38 napsal(a):
po aktualizaci systému bez varování resetovat systém, člověk pak kouká...
Tenhle nápad je nejskvělejší. To se dá taky vypnout, ale to uděláš až po prvním resetu ))
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 718
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: út prosinec 18 2012, 11:09    Předmět: Citovat

"Naštěstí" jsou tyhle vypínače v každém systému úplně jinde, aby je uživatel neměl šanci tak snadno najít a náhodou jej nenapadlo si je vypnout.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
RayeR



Založen: Aug 02, 2009
Příspěvky: 1333
Bydliště: Praha

PříspěvekZaslal: so prosinec 22 2012, 1:36    Předmět: Citovat

Andrea napsal(a):

Mně se před pár dny podařilo natvrdo zresetovat PC s WinXP jen tím, že jsem při enumeraci na USB vrátila chybnou délku v hlavičce konfiguračního deskriptoru.Smile


Jo to verim, taky sem podobne shodil XP SP3 do BSOdu. Ale to je chyba zabugovanyho driveru usbser.sys (teda aspon v mem pripade, slo o USB emulijici seriak). Jelikoz ve windows bezi drivery na stejnym CPL jako kernel (narozdil treba od OS/2) tak neni problem pro driver zborit cely pocitac. Proto taky mrdkosoft chce po vyrobcich hw certifikaci driveru WHQL, ale sam si svoje bugy opravit neumi Very Happy

Jinak k puvodnimu tematu, to vidim na chybu prekladace. Slusne vychovany prekladac se takle rozhodne nechova. Pokud nesouhlasi delka promenne a formatovaci retezec tak vypise warning (doufam ze dotycny ma zapnute warningy)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
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.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.20 sekund