Ez most mi a jó isten?! [LENTEBB RÉSZLETEZVE]
Most ezen a hülyeségen csesződött el az egész éjszakám, és szét tudnám verni a gépem emiatt. Csak engem hülyít így a sors??!!
A paradox történés pedig a következő:
- most csak röviden írom le, egyenlőre nem írok le minden technikai dolgot és manővert, amin átfutottam, mert az nagyon sok lenne... majd ha már van, aki komolyan megválaszolná a kérdésem, akkor részletezem -
Van egy programom, ami 1 bites hangfájlokat játszik le 16000 Hz-en a belső hangszórón keresztül.
Fogtam ezt a programot, és változtattam a kódban. Elmentettem, újrabootoltam DOS alól, és kipróbáltam, de valamiért levágta a hangfájlok elejét, csak a legvégéből játszott le annyit, amennyi az utolsó betöltött adatcsomag lett volna a bufferben.
Oké, újraindítom, csak olyan helyen változtattam a kódban, ahol tuti biztos voltam, hogy nem lesz baj.
Újra DOS alól, és megint ezt csinálja.
Na jó, gondolom csak én voltam a hülye. Fogtam, újra előhúztam a program eredetijét, és csak a stringeket írtam át.
Elmentem, újra bootoltam dosból ismét, és.... megint ez.
Na, itt már kezdek megőrülni. Illetve, amikor kilép a programból, futási hibát jelez (amikor már vége a programnak, ugye "logikus")
Na jó, közben eszembe jut, hogy lehet, azzal van a baja, hogy néhány stringet kitöröltem teljesen, és ugye egy string vége egy C nyelvű programban 00-val van zárva, szóval biztos egy 0 hosszú string vagy efféleség lehetett a problémája - bár nem értettem, hogy hogy jönne ez ahhoz, hogy levágja lejátszáskor a fájlok elejét, de mindegy.
Közben - amit kihagytam - persze megbizonyosodtam arról, hogy a lejátszott adatfájl teljesen ugyanaz maradt (tehát nem írta felül a program).
Oké, XP-boot, eredeti elő, és most csak pár karaktert változtattam a stringben..... ÉS ugyanúgy továbbra is levágta...
Na jó, itt már gyanús volt nekem a dolog....
És most ITT KÉREM, HOGY MINDENKI MÉG JOBBAN FIGYELJEN!:
Visszaléptem XP-be, elővettem a TELJESEN EREDETI, MÓDOSÍTATLAN ÉS MINDIG IS (azelőtt) MŰKÖDŐ "gyári" EXE fált, feltettem a floppyra, és ismét bebootoltam DOS-alól.
Utána parancssorosan >nagybetűsen< (ez most fontos a paradoxon jelenség szempontjából) a megfelelő argumentumokkal futtattam a programot, és...... a !!!teljesen eredeti!!! program most is ugyan-úgy levágta a végét.
Utána, beírtam >CSUPA KISBETŰVEL< ugyanúgy a program nevét és az argumentumokat, majd Enter, és...........
na kitaláljátok ;)
Lejátszotta >>>RENDESEN<<<, az elejétől a végéig.
És innentől már utána mindig működött, mármint amíg újra nem indítottam......
Szóval összegzésképp a dologról szólva:
http://www.youtube.com/watch?v=oXYZttxunPw
(a két középső ujjammal együtt)
Tehát egyszer nagybetűvel írom be a program nevét, akkor meg van hülyülve, amikor meg kisbetűsen, működik??!! Egy olyan rendszer alatt (MS-DOS 3.3), aminél egyébként is kis-vagy-nagybetű egyre megy??!!!
MI A JÓ BÜDÖS RODHADT JETITALPÚ TEHERBEK--RT REDVÁSSZÁJÚ PARADOX K--RVAISTEN VERÉSE EZ!!!!!
Akik elkezdenének azzal jönni, hogy hülye vagyok az informatikához, meg biztos annyira sem értek a programozáshoz hogy ....., azok kérem még legalább háromszor olvassák át attól a résztől kezdve, hogy "MINDENKI MÉG JOBBAN FIGYELJEN"!
Mert az nem normális, hogy ugyanaz a kód egyszer így, másszor úgy fut, engem meg az őrületbe kerget. [[NEM feltételes szerkezetről vagy elágazásról, NEM alternatív kódrészletről, NEM különböző környezeti változókról, és NEM futási időben módosuló kódról van itt szó]]
Tehát 2×2 az MINDIG 4 kell hogy legyen, nem lehet az, hogy egyszer 5, másszor meg 3, utána meg megint 4 egy ideig. És én világéletemben úgy tanultam, hogy ez az informatikában is így van.
Remélem aki már vágja a párhuzamot, az érti a problémám.
Szóval mi a paradox K. istenverése ez, ami elb....ßta most az egész éjszakámat, ahelyett, hogy tudtam volna érdemlegesen előrehaladni a dologgal?!!
Kb. "csak" ennyi a kérdésem.
A nem sértegető válaszokat előre is köszönöm!
P.S.:
DOS-fóbiások, meg akik világéletükben csak Blu-Ray disc-et és 64 bites Win7-et láttak, kérem kíméljenek (a csipkelődéstől)!
Köszönöm.
"Mivel C-ről van szó elképzelhető, hogy kisbetűs paramétereket vár"
A paraméter csak a lejátszandó adat fájlneve, ami az 1 bites hangmintát tartalmazza.
#2-esnek : futtatni futtatta, csak teljesen rosszul, ráadásul úgy rosszul, hogy engem teljesen átvert, és emiatt marha nehéz volt kiszenvednem, hogy mi okozza a hibát. Vagy szerinted bárki belenyugodna abba, ha mondjuk egyszer csak a Media Player úgy döntene a Win-XP-n, hogy minden második.... vagy esetleg harmadik alkalommal úgy döntene, hogy csak az utolsó 8 másodpercet játsza le?
Na ugye.
És én nem a DOS-t szidtam, hanem ezt az egész hülye paradoxont, ami megzavart és egy csomó fontos időt elvett.
Nade, amint utaltam már rá, azóta sikerült éppenhogy megoldanom a problémát, és megfelelően átírni a kódot. (pár dolog teljesen hülyén lett megoldva szvsz., volt, ahhol például mindenképp az volt a lényeg, hogy "soremelés" (értsétek: 0x0A) legyen a stringben, ill. volt, ahhol úgy oldottam meg, hogy átírtam a PUSZTÁN ASCII karaktereket tartalmazó stringet (tehát nem tartalmazott semmilyen argumentumot, csak egy üzenetet a >felhasználónak< (bizonyos feltétel mellett kiírva)), amitől 'runtime-error'-t kapott, az ide kötődő 'runtime error' féle hibaüzenetet meg feltöltöttem space-ekkel.
Amúgy a kód átírásával ott volt/van a probléma, hogy csak a bináris gépi kódot tudtam/tudom szerkeszteni, mert habár megvan a teljes forráskód, egy olyan fordító kéne hozzá, ami már val.szeg. nincsen piaci forgalomba, neten pedig sehol sincs fenn =( [Microsoft C Compiler 5.10]
MS C Compiler régi verziók piaci forgalomban:
Én azért mondjuk nem látom, hogy mikor frissítették utoljára az oldalt, mert szerintem lehet, hogy ez egy évekkel ezelőtti kiírás, és már nem él a tartalma.
Amúgy meg, nem hiszem hogy most lenne módomban 10-20 ezer forintot kifizetni egy olyan 5.25-ös floppylemezést, amit már sehol se tudnék olvasni. Vagy van egyáltalán itt még magyarországon elérhető 5.25-ös floppyOLVASÓ? Mert én mondjuk az életbe nem láttam még olyat, akinek lett volna, de nem is hallottam ilyen emberről még az általam megismertek közül.
Igaz, apukámnál egyszer találtam 1-2-t, de nagy talány számomra, hogy anno azokat hol tudta olvasni :D [esetleg azt tudom elképzelni, hogy munkahelyen, de még azt is furcsállanám, hogy már akkor PC számítógépek lettek vona a munkahelyén; lehet, hogy ő is csak dísznek szerezte valahol :S]
De egyébként se fizetnék most ezért ilyen összegeket, meg telefonon üzletelnék ezért a világ másik végére.... pár napos alkalmi dolog az egész, és szerencsére ezen a részén túl vagyok.
Csak a sok elúszott időt sajnálom, amíg ezzel cseszekedtem.
De szerintem mindig is csak én voltam az, akivel ilyen barom paradoxonok kicsesznek.... már amikre visszaemlékszem.
SimkoL, esetleg a Microsoft Macro Assembler 5.10-hez tudsz még ezen az oldalon linket?
Ugyanis a cucchoz tartozik egy ASM kód is, és azt elvileg ezzel lehetne fordítani.
Idézem, amit a használati útmutatóban írnak a kód lefordításáról:
"
Note: "Make" files acceptable to Microsoft's Make utility are included for all the example programs. The compiler used was the Microsoft C Compiler version 5.10. The assembler was the Microsoft Macro Assembler version 5.10. The make files are written to assume that the compiler is installed to include the Large model library and that the default operating system is DOS. If the compiler defaults to the OS/2 operating system, then change the make files so that all occurrences of "llibce" become "llibcer".
"
Illetve, hogy jobban átlátható legyen a dolog, mellékelem a fordítási parancssort (makefile) tartalmazó fájlt, és a forrást:
Makefile:
---------
vptest.obj: vptest vptest.c
cl /AL /Oi /G2s /c vptest.c
vpmod.obj: vptest vpmod.asm
masm vpmod;
vptest.exe: vptest vptest.obj vpmod.obj
link vptest+vpmod,vptest,nul,llibcer/NOD;
---------
Források:
www.hu.uw.hu/vpmod.asm
www.hu.uw.hu/vpmod.h
www.hu.uw.hu/vptest.c
Illetve egy doksi: www.hu.uw.hu/vpmod.doc
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!