PCPROG.3

26 Jul 1993 - 22 Apr 1994

Topics

  1. algoritmi (290)
  2. dizajn (19)
  3. ms.dos (270)
  4. windows (360)
  5. asembler (213)
  6. basic (10)
  7. jezici (148)
  8. pascal (878)
  9. cccc (554)
  10. cpp (195)
  11. clipper (1125)
  12. baze.podataka (232)
  13. razno (540)

Messages - cccc

cccc.1 nikac,
Upravo sam u fazi prelaska sa tp6 na bc 2.0 pa sam pun pitanja. Dakle: 1. Imam proceduru ciji su parametri tri intiger-a. Da li moram da pisem svaki odvojeno tj. "void trtmrt(int a, int b, int c)" ili moze da se skrati? 2. Koja procedura/funkcija prevodi string u broj i obratno (ekvivalenti tp-ovim str i val)? 3. Pod kojim unitom da trazim funkcije za rad sa fajlovima i koja je naredba za citanje iz datoteke (samo ime f-je a ostalo cu da vidim iz help-a) Ajde koga ne mrzi nek mi odgovori... Pozdrav, -=Nikac=-
cccc.2 ficus,
1) Mora{ (mo`da ima jo{ neko re{enje, ali ja ga neznam...) 2) Iz int u string prevodsa itoa, a obrnuto sa atoi 3) ima{ stdio.h i io.h (sa baferisanim, a io.h z rad sa "obi~nim" datotekama...
cccc.3 robert,
>> 3. Pod kojim unitom da trazim funkcije za rad sa fajlovima open() fopen() read() write() fread() fwrite() fscanf() fprintf() itd... Imaš sjajan Help sistem pa tamo kopaj malo. Naćićeš priličan broj odgovora na tvoja pitanja...
cccc.4 herak,
Molio bih da mi neko kaže kako u BC 3.1 napraviti .COM file. Probao sam da radim sa bcc -lt opcijom, ali uvek javlja grešku STACK SEGMENT PRESENT čak i "programu": void main() { } Pozdrav, Srdjan.
cccc.5 milos,
Pa, source module moraš prevesti sa bcc -mt -lt ime.cpp da bi dobio kod koji nema stack segment (tiny model), nije dovoljno samo -lt, nego mora i -mt...
cccc.6 miroljub,
U porukama u PC.PROG.2:cccc spominju se verzije 2.01 i 2.1 Turbo C-a. Ja radim sa TC 2.0 pa me interesuje koja je zadnja verzija Borlandovog Turbo C-a (naravno - mislim na "obicni" - neobjektni C).
cccc.7 milos,
Ja mislim da je 2.0, mada sam video i verziju 2.01 u {koli, neku osaka}enu, dok za 2.1 nisam ~uo... P.S. [to ne pre|e{ na BC++ 3.1 mnogo je bolji...
cccc.8 kenza,
(;> P.S. [to ne pre|e{ na BC++ 3.1 mnogo je bolji... Ajde uradi set code :(
cccc.9 milos,
>> Ajde uradi set code :( Izvin'te gospodo, mene svi ovde opominju, ali ja koristim YUSCII i nemam nameru da prelazim na Custom 2 pošto sam sve žive drajvere prilagodio ovom standardu. Naravno, ukoliko ima đubreta u m´cojim porukama, nema problema...
cccc.10 dejanr,
>> Izvin'te gospodo, mene svi ovde opominju, ali ja koristim YUSCII i nemam >> nameru da prelazim na Custom 2 pošto sam sve žive drajvere prilagodio ovom >> standardu. Nije reč o tome, nego si na Sezamu imao set code none a slao si poruke po YUSCII-ju i onda su drugi u tim porukama videli kuke i kvake. Ja sam ti podesio set code na yuscii i sada bi trebalo da bude sve u redu.
cccc.11 peca.st,
!-> P.S. Što ne pređeš na BC++ 3.1 mnogo je !-> bolji... A što ti ne pređeš na conf reply, ovako ni na šta ne liči. :( Peđa.
cccc.12 milos,
>> Ja sam ti podesio set code na yuscii i sada bi trebalo da bude sve u redu. Ok, hvala...
cccc.14 miroljub,
=> [to ne pre|e{ na BC++ 3.1 mnogo je bolji... Planiram da predjem na C++, ali za sada radim sa "obicnim" C-om. Relativno skoro sam poceo da petljam sa C-om, pa sam smatrao da ce biti lakse da se prvo upoznam sa neobjektnim-klasicnim C-om, pa tek onda da predjem na pojmove objektno orjentisanog programiranja. Osim toga pokazalo se da je TC 2.0 kompajler znatno brzi od BC++ 3.1 kompajlera (bar za prevod klasicnog C koda) sto mi trenutno odgovara.
cccc.15 milos,
>> znatno brži u prevođenju C koda Mislim da je prava reč nenormalno brži, ali kako jeste jeste. Ali uvek me je kopkalo zbog čega je TC 2.0 ovoliko brži? Kod novije generacije Borlandovih C++ kompajlera u prevođenju čistog C++ koda vidi se napredak. TC++ 1.01 je prevodio C++ tragično sporom dok je C kod prevodioza nijansu sporije od TC 2.0 BC++ 2.0 je uveo precompiled-headers, međutim i bez njih prevođenje C++ koda je bilo dosta brže u odnosu na TC++1.01 dok je prevođenje C koda opet za neki stepen opalo u brzini. Posle njega 3.0 nije ništa bitno uradio u smislu prevođenja C++ koda, ali se C kod ovom verzijom prevodi DEBELO sporije nego sa TC 2.0... I na kraju 3.1 prevodi i C++ kod sličnom, ali ne i istom brzinom. Naravno brzina prevođenja C++ koda je uvoj verziji sasvim solidna, možemo čak reći i brza, dok se C kod prevodi slično kao u C++3.0 Ostaje pitanje zbog čega sve ovo???
cccc.17 milos,
Zadovoljan ;)
cccc.18 milos,
A sada da nešto lepo zamolim, znam da ste puno puta o tome pisali ali ne mogu da nađem nigde. Treba mi procedurica (void funkcija) koja će ugasiti Num-Lock. HELP!
cccc.19 miroljub,
=> Treba mi procedurica (void funkcija) koja ce ugasiti Num-Lock. Evo ti programcic koji to radi, ali radi i jos par drugih stvari. numlock0.com
cccc.20 milos,
Da li neko koristi Quick C for Windows??? Imam neke probleme oko podešavanja boja, pa ako bi neko mogao da se javi na mail da mi pomogne...
cccc.21 dcolak,
Jedno pitanjce... Jel zna neko ko je distributer Quick C for Windows u Srbiji? Grčim se već dosta dugo da to saznam ali ne ide... Sledge DAMMIR!
cccc.22 dejanr,
>> Jel zna neko ko je distributer Quick C for Windows u Srbiji? Ako pitaš ko je distributer Microsoftovih programa, mislim da nema ekskluzivnog distributera i/ili zastupnika, a da ih distribuira CET.
cccc.23 mdimitrijevic,
Da li je neko uspeo da prevede bez greske CBASE 1.0 ili 1.2 (biblioteku za rad sa bazama podataka , ima je na Sezamu) sa Borland C++ 3.1 meni prijavljuje greske pri prevodjenju a i kad ispravim greske prijavljuje gresku pri kreiranju baze broj 19 i 35. Da li se nekome ovo desilo??? Pozdrav, Marjan Dimitrijevic
cccc.24 vpetrovic,
Pogledajte ovaj program. Preveden je sa TC 2.01. #include <stdio.h> #include <values.h> void main () { float f1; f1 = 1e20; printf ("\n%d", f1 == 1e20); } Kao rezultat daje '0'. Zašto, i koja je najmanja float vrednost za koju će operator == da radi ispravno (za 1e10 daje '1').
cccc.25 dcolak,
│ Ako pitaš ko je distributer Microsoftovih programa, mislim da nema │ ekskluzivnog distributera i/ili zastupnika, a da ih distribuira CET. Na žalost, oni nemaju Quick C 4 Win... Sledge DAMMIR!
cccc.26 mornar,
>> (void funkcija) koja ce ugasiti Num-Lock. Pa jednostavno daj POKE na adresu 0040:0017 i postavi bit 5 na nulu. Ako te zanimaju i ostali X-Lock-ovi itd. pogledaj MEMORY.LST iz Interrupt Lista ( ima na Sezamu R:\IBMPC\INFO\INTLST35.ARJ ) Mornar
cccc.27 .bale.,
ŮŢKao rezultat daje '0'. Zašto, i koja je najmanja float vrednost za ŮŢkoju će operator == da radi ispravno (za 1e10 daje '1'). Ako ne radi do 1e38, znaci da ne podrzava IEEE (?) Ne bih znao kas'ti. Regards from .bale. ! #:*)+-<
cccc.28 ppekovic,
>> f1 = 1e20; >> printf ("\n%d", f1 == 1e20); zameni 1e20 sa 0x1e20. Paya
cccc.29 smarkov,
Potrebna mi je funkcija koja u grafičkom modu (VGA 640*480 ako radi u više modeova tim bolje) ispisuje string na zadatim koordinatama u zadatoj boji i pozadini. Slična funkcija izgleda ne postoji ni u BIOS-u niti u Microsoft C600 run-time biblioteci. (Problem je boja pozadine).
cccc.30 milos,
Ako radiš u Borland / Turbo C-u možeš da koristiš funkcije textwidth(char*) i textheight(char*). Ove dve funkcije će ti dati visinu i širinu tvog tekstva koji treba da ispišeš. Ono što ti preostaje za background je da nacrtaš jedan pravougaonik (rectangle) i popuniš ga sa floodfill bojom koju si podesio u setfillstyle. Posle toga u taj pravougaonik upišeš tekst osnovnom bojoj, i to je to.
cccc.31 vpetrovic,
>>>> f1 = 1e20; >>>> printf ("\n%d", f1 == 1e20); >> >> zameni 1e20 sa 0x1e20. Da, sad radi. U čemu je štos? žak je i u values.h MAXFLOAT definisano kao 3.37E38 (bez 0x). Jel to bug u kompajleru ili je po standardu?
cccc.32 dcolak,
│ Potrebna mi je funkcija koja u grafičkom modu (VGA 640*480 ako radi u više │ modeova tim bolje) ispisuje string na zadatim koordinatama u zadatoj │ boji i pozadini. Slična funkcija izgleda ne postoji ni u BIOS-u │ niti u Microsoft C600 run-time biblioteci. (Problem je boja pozadine). Pogledah COMMENTS uz _setbkcolor. Tamo kaže da ako je grafički mod BK boja je uvek 0 što je po default-u crna. No, oni savetuju da koristiš _remappalete da promeniš vrednost 0 iz black u boju koja ti treba.. Sledge DAMMIR!
cccc.33 .obj,
>>>>> f1 = 1e20; >>>>> printf ("Đn%d", f1 == 1e20); >>> >>> zameni 1e20 sa 0x1e20. > > Da, sad radi. U čemu je štos? žak je i u values.h MAXFLOAT definisano kao > 3.37E38 (bez 0x). Heh, 0x1E20 je heksa vrednost (!) koja se prevede u odgovarajući mali float kod koga upoređivanje uvek radi korektno. žini mi se da ti nisi 'teo da dodeliš heksa vrednost u "f1"?...
cccc.34 mjova,
>>> zameni 1e20 sa 0x1e20. > Da, sad radi. U čemu je štos? žak je i u values.h MAXFLOAT > definisano kao 3.37E38 (bez 0x). Jel to bug u kompajleru > ili je po standardu? pa fazon je jednostavan ;))))))))))))))))))))))))) 1e20 je float, a 0x1e20 hex ;))))
cccc.35 klisa,
Kako ja vidim stvari, konstanta 1e20 se čuva u double formatu. To je razlog što poređenje ne uspeva za vrednosti veće od 1e10. Jedno od rešenja može biti i ... void main () { float f1; f1 = 1e20; printf ("\n%d", f1 == (float) 1e20); }
cccc.36 ppekovic,
>> Da, sad radi. U čemu je štos? žak je i u values.h MAXFLOAT definisano kao >> 3.37E38 (bez 0x). Jel to bug u kompajleru ili je po standardu? Ups, ja sam uneo zabunu. Učinilo mi se da žečiš da dodeliš hex vrednost. Da se ispravim. 1e20 je double veličina. Probaj, stavi double f1 umesto float f1. Ako hoćeš float, onda stavi kastove i sve će bez problema da radi. Dakle: f1=(float)1e20. Paya
cccc.38 mdimitrijevic,
Da li neko zna kako da strukturu postavim kao externi podatak. struct pod { int broj; char ime[35]; }; struct pod podaci; e sad mi na primer treba u posebnom modulu. ( na primer extern.c ). extern struct podaci; a da podaci budu citljivi iz osnovnprograma. P.S. Vrlo je vazno. P.S.S. Radim u Borland C++ 3.1. Pozdrav, Marjan Dimitrijevic
cccc.39 vpetrovic,
>> pa fazon je jednostavan ;))))))))))))))))))))))))) >> >> 1e20 je float, a 0x1e20 hex ;)))) :))))))) E, a ja mislio da je samo kec hex i nisam proverio :)))))
cccc.40 vpetrovic,
>> Da li neko zna kako da strukturu postavim kao externi podatak. >> >> struct pod { >> int broj; >> char ime[35]; >>} ; >> >> struct pod podaci; >> >> e sad mi na primer treba u posebnom modulu. ( na primer extern.c ). >> >> extern struct podaci; >> >> a da podaci budu citljivi iz osnovnprograma. Napraviš include datoteku u kojoj upišeš: typedef struct { ... } pod; Time si definisao novi tip pod. U modulu extern.c includuješ gorepomenutu datoteku i staviš: pod podaci; U modulu main.c isto includuješ onu datoteku i staviš: extern pod podaci;
cccc.41 mdimitrijevic,
Hvala !!! Sad cu da probam. Pozdrav, Marjan Dimitrijevic
cccc.42 vitez.koja,
#=> struct pod { #=> int broj; #=> char ime[35]; #=>} ; Ovo pišeš u oba modula. #=> extern struct pod podaci; ^^^ Ovo tamo odakle ta struktura treba da bude čitljiva (podvučeno sam ja dodao, ti izostavio)... #=> struct pod podaci; ...a ovo deklarišeš promenljivu gde-već-hoćes.
cccc.43 baranja,
Na koji nacin da racunar otkrije da je nesto pritisnuto na tastaturi, a da pri tome ne prekine izvodjenje programa?
cccc.45 djelovic,
> Na koji nacin da racunar otkrije da je nesto pritisnuto na tastaturi, > a da pri tome ne prekine izvodjenje programa? Funkcija kbhit () iz conio.h ako koristiš Borlandov kompajler. Ako je MSC, onda pogledaj u helpu funkcije na 'k'.
cccc.46 dnikolic,
Ima li neko Vermont View ili C Worthy, imam neka pitanja za mail? dn
cccc.47 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- cxt212 a01 144072 Analiza i dokumentovanje C/C++ izvornog koda #1 cxt212 a02 142563 Analiza i dokumentovanje C/C++ izvornog koda #2 Welcome to CXT 2.12 - the C EXPLORATION TOOLS! CFT (C Function Tree Generator) and CST (C Structure Tree Generator) and their 32 bit protected mode versions CFT386 and CST386 are powerful program development, maintenance and documentation tools. They provide the programmer the ability to analyse the C source code of applications, no matter how big or complex they are. CFT and CST are very useful to explore new, unknown software and to support software reuse, maintenance and re-engineering. By preprocessing, scanning and analyzing the program source code, these programs build an internal representation of the function call hierarchy (CFT) and of the data structure (CST) relations. The analysis is done with the original source code, no additional editing to mark functions or data types in the source code is necessary. Several features and options allow the user to customize the generated hierarchy tree chart output and to get a large set of useful informations about the source code. An important feature is the database generation which allows the recalling of informations without reprocessing the source. This database can again be read from CFT and CST to produce different outputs or to add new files to the database. The database format is dBASE compatible. Special recall programs called CFTN and CSTN allow fast searching for items in the database. These programs can be used within any environment, for example from inside editors like BRIEF, QEDIT or MicroEMACS (DOS and WINDOWS version), to provide a full software project management system with access to all functions and data types with just a keystroke. This feature makes a comfortable "hypertext source code browser and locator" system out of the editor. Other features are the calculation of the critical function call path and deepest structure nesting level or the support for byte offset calculation for selected structures/unions by CST. For C++ code a class inheritance graph can be generated. It is possible to generate formatted ASCII text files with lists of the functions/data types and the scanned files which can be used as input for other programs like wordprocessors or spreadsheet calculators.
cccc.48 vitez.koja,
#=> Na koji nacin da racunar otkrije da je nesto pritisnuto #=> na tastaturi, a da pri tome ne prekine izvodjenje #=> programa? bioskey(1) za borlandove, ili _bios_bkbrd(1) za microsoftove C-ove.
cccc.49 djelovic,
> bioskey(1) za borlandove, ili > _bios_bkbrd(1) za microsoftove C-ove. Obe funkcije imaju bug! Ako se pozivaju u petlji, i korisnik pritisne Ctrl+Break, program ode u večna lovišta. Naravno, to zavisi i od BIOS-a, ali...
cccc.50 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- kafsrt20 zip 112415 Kompletan file system & sort paket za C (source) KAFS 2.0 is a complete file system and sort package for C programmers. Includes source code, instructions, specifications, and associated utilities-- everything needed to write utility and application software using this unique system. The code is compact, fast, and easily implemented. The file system has been run on 8088 systems and shown to be at least as fast as anything else available. Shareware ($39.95) from Dimestore Software. < Thanks to ppekovic >
cccc.51 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- bltc13a zip 140565 Bullet for C 1.03: B-tree/dBase (.DBF) database toolkit BULLET is a super-fast, super-small B-tree/dBASE .DBF, transaction-based, multi-user database toolkit for DOS C compilers. Also available for BASIC. BULLET for C version 1.03, 22-Apr-93.
cccc.52 mjova,
> cxt212 a01 144072 Analiza i dokumentovanje C/C++ > izvornog koda #1 super moćno! sad mogu da preturam i po nepismeno napisanom kodu mojih kolega sa posla ;))))) (da ih ne imenujem, sami će da se jave ;> što se ovoga tiče, još bolji je indent - nadam se da je već u diru.
cccc.53 ssokorac,
Koliko je velik BC 2.0? Koji je najmanji C++, u razumnoj meri, dakle do 10Mb? Ukoliko nema manjeg, može li se 'seckati' veći i smanjiti na <10? Pozdrav, Stasha.
cccc.54 bulaja,
│sto se ovoga tice, jos bolji je indent - nadam se da je vec u diru. └─── **** new file **** R:\IBMPC\C\*.* ---------------------- indents zip 59740 Nazubljivanje i formatiranje C/C++ izvornog koda (src) indentx zip 41819 Nazubljivanje i formatiranje C/C++ izvornog koda (exe) :)
cccc.55 milos,
Postoji Turbo C++ 1.01 koji je 6 MB i radi samo za DOS. Borland C++ 2.0 ti je ukupno 15 MB ali tu imaš i Debugger i Assembler i Profiler i deo za Windows.... Ako hoćeš BC++ 2.0 možeš da ga stešeš na 3.5 MB 'ladno
cccc.56 bulaja,
│Koliko je velik BC 2.0? Koji je najmanji C++, u razumnoj meri, dakle do │10Mb? Ukoliko nema manjeg, moze li se 'seckati' veci i smanjiti na <10? └─── Cini mi se dda je BC++ 2.0 u maksimalnoj konfiguraciji negde oko 14 Mb, bez problema se moze skratiti na nekih 6-7 Mb. Cak se i BC++ 3.1 moze instalirati na svega nekih razumnih 12 Mb.
cccc.57 mjova,
> Koliko je velik BC 2.0? Koji je najmanji C++, u razumnoj > meri, dakle do 10Mb? Ukoliko nema manjeg, može li se > 'seckati' veći i smanjiti na <10? možeš uzeti bc++ 3.1. ako dobro probereš šta ti treba, onda staje na svega ;) 10Mb.
cccc.60 ssokorac,
─┼┤ možeš uzeti bc++ 3.1. ako dobro probereš šta ti treba, onda staje na ─┼┤ svega ;) 10Mb. Hvala svima na odgovorima. Da li je velika razlika izmedju bc++ 2.0 i 3.1, pošto mi je 2.0 zbog veličine primamljiviji :)? Tačnije, šta 3.1 ima što 2.0 nema? (ako ima toga mnogo, a verujem da ima, samo ono najvažnije, pliz :).
cccc.61 mjova,
> Hvala svima na odgovorima. Da li je velika razlika izmedju > bc++ 2.0 i 3.1, pošto mi je 2.0 zbog veličine > primamljiviji :)? Tačnije, šta 3.1 ima na kraju se ispostavilo da BC++2.0 nije ispravno prevodio neke inline asm istrukcije što je za sobom (dnevnom) povlačilo sumanute greške. takođe, kôd koji sam prevodio (++) sa 2.0 lepo je radio, ali zato na 3.1 nije. morao sam malo da podesim neke delove tako da sve proradi (sad se ne sećam, ali mislim da je bilo reči o različitom redosledu inicijalizacije klasa). drugo, biblioteke uz 3.1 su (čini mi se) kompletnije, tako da je broj bagova smanjen (nisam do sada našao ni jedan!). treće, mislim da 3.1 podržava viši standard C++ od 2.0, ali nisam siguran. te statističke stvari zna janko ;)) zbog fleksibilnosti ti preporučujem 3.1, ali ako imaš 286, onda je bolje 2.0. oba su dobra i moćna.
cccc.62 robert,
>> Koliko je velik BC 2.0? Koji je najmanji C++, u razumnoj meri, >> dakle do 10Mb? Ukoliko nema manjeg, može li se 'seckati' veći i >> smanjiti na <10? Izvini što tek sad odgovaram ali imam sledeći predlog: ako ne nameravaš da radiš pod Win, onda uzmi jednostavno TC++ 3.0. On treba da ti vrši posao isto kao BC++ 3.0 samo bez Win dela, dakle čisto za DOS. Onda možeš da ga skrešek kako hoćeš bez razmišljanja. Mada, verovatno ti i BC++ 3.1 nudi pri instalaciji izbor za čist DOS... Ja sam lično koristio TC++ 1.01 i bio sam vrlo zadovoljan i mislim da je to za početak super. Pogotovo što može da se skreše na 2-3 Mb. Ne moraš odma da kupiš najskuplje Reebok patike, možeš da kreneš i sa Puma ili sl. :))).
cccc.63 ssokorac,
─┼┤ zbog fleksibilnosti ti preporučujem 3.1, ali ako imaš 286, onda je ─┼┤ bolje 2.0. oba su dobra i moćna. Imam 286 i trenutno sam instalirao 2.0. 3.1 ne radi na 286, ili je monstruozno spor? :) I ovaj je već ubitačno spor :(. Ti bagovi nisu neki veliki, mislim, ne sreću se u ne previše egzotičnom radu? :)
cccc.64 d.petrovic,
Ă> Koliko je velik BC 2.0? Koji je najmanji C++, u razumnoj meri, Ă> dakle do TC 1.0, može da se skreše na 2-3 MB
cccc.65 ssokorac,
─┼┤ Ne moraš odma da kupiš najskuplje Reebok patike, možeš da kreneš i sa ─┼┤ Puma ili sl. :))). Bolje da uzmem Reebok dok mogu, nego posle da žalim kad bi zafali djon :). (bože, kakve metafore ;). Windows mi za sada ne treba, ali će verovatno zatrebati... Dakle, potražiću i taj 3.1, ali za početak je dosta i ovo.
cccc.66 mbacic,
Hitno mi je potrebno kako setovati odredjeni BIT-PLANE na Trident 8900 kartici!!!!! Unapred zahvalan Mbacic. PS:Po mogucstvu primer na C-u.
cccc.67 milos,
Danas sam instalirao Visual C++, i kada sam hteo da pogledam kako radi DOS kompajler ugrađen u njega, on mi je odgovorio: Microsoft (R) C/C++ Optimizing Compiler Version 8.00 (!!!!!!!) krugovi.c . . . Da li neko zna nešto o MSC-u 8.0 ?
cccc.68 vitez.koja,
#=> Ti bagovi nisu neki veliki, mislim, ne sreću se u ne #=> previše egzotičnom radu? :) Ma kakvi, nisu veliki ;) Sem ukoliko pod velikim bagom ne smatraš grešku u funkciji cprintf :((((
cccc.69 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- emsif24 zip 67044 EMSIF v2.4, C interface za LIM EMS funkcije EMSIF provides a high-level interface to LIM EMS control functions for common operations such as allocating, mapping, and freeing EMS, and copying data to and from EMS. The interface has been made independent of the EMS version implemented by the EMS driver as far as possible, so that parameters and returned data are always in the same format, but the EMS call most appropriate to the EMS version implemented by the driver is used.
cccc.70 ssokorac,
─┼┤ Ma kakvi, nisu veliki ;) Sem ukoliko pod velikim bagom ne smatraš ─┼┤ grešku u funkciji cprintf :(((( Pa, to baš nije mnogo zgodno :(. U čemu je greška?
cccc.71 niklaus,
> Imam 286 i trenutno sam instalirao 2.0. 3.1 ne radi na 286, ili je > monstruozno spor? :) I ovaj je već ubitačno spor :(. Zar ti nisu poklonili (kao uspešnom takmičaru) nešto bolje. Uzgred kako si proš'o ove godine (je si li dogurao do Arg.) Pozdrav (:niklaus:)
cccc.72 ssokorac,
─┼┤ Zar ti nisu poklonili (kao uspešnom takmičaru) nešto bolje. Ih, naravno, dobio sam miša :) :(. ─┼┤ Uzgred kako si proš'o ove godine (je si li dogurao do Arg.) Naravno :).
cccc.73 mdimitrijevic,
Napisao sam program u C-u slican BMEM-u. Prikazuje sve zivo Device Drivere TSR programe preuzete interapte itd... Ali nikako nemogu da saznam duzinu Device Drivera. Na peimer BO.SYS (160 bytes), HIMEM-a i slicno. P.S. Pomagajte please ... Pozdrav, Marjan Dimitrijevic
cccc.74 peca.st,
!-> Windows mi za sada ne treba, ali će !-> verovatno zatrebati... Dakle, potražiću i !-> taj 3.1, ali za početak je dosta i ovo. Ajde sad i u konf. da pitam: Kako naterati BC++ 2.0 da radi na 286 / 1 Mb pod winom? Peđa.
cccc.75 pbojan,
>> TSR programe preuzete interapte itd... Ali nikako nemogu da >> saznam duzinu Device Drivera. Na peimer BO.SYS (160 bytes), >> HIMEM-a i slicno. E, svasta. Pa kad si vec, kazes, napravio program slican BMEM-u, zar ti nije palo na pamet da pitas tvorca BMEM-a za pomoc? ;)))
cccc.76 vitez.koja,
#=> Pa, to baš nije mnogo zgodno :(. U čemu je greška? Ako ti je kursor na dnu ekrana (25. red) \n nece da ubaci praznu liniju na dno, vec ce da duplira trenutnu donju liniju.
cccc.77 niklaus,
> ─┼┤ Zar ti nisu poklonili (kao uspešnom takmičaru) nešto bolje. > > Ih, naravno, dobio sam miša :) :(. Baš tako (: & ): > ─┼┤ Uzgred kako si proš'o ove godine (je si li dogurao do Arg.) > > Naravno :). žestitam, i kako je tamo bilo? (:niklaus:)
cccc.78 niklaus,
> Ajde sad i u konf. da pitam: > > Kako naterati BC++ 2.0 da radi na 286 / 1 Mb pod winom? Sekirom... ..ili pretnjom sa novom plohom... (; (;niklaus;)
cccc.79 ssokorac,
─┼┤ žestitam, i kako je tamo bilo? Tek idemo :). Možda. :(
cccc.81 djelovic,
Tema: Štampanje na mreži, C, C++, Clipper -------------------------------------------------------------------------- Trenutno sva štampanja radim kroz neku svoju klasu koja se naslanja na biosprint funkciju, ali me je mali prilog iz novog comp.os.msdos.programmer FAQ-a podsetio na probleme koje sam imao kada sam ranije iz mojih programa slao fontove na mrežni štampač. To sam radio sa: FILE *prn = fopen ("PRN", "wb"); i naknadnim slanjem fonta bajt po bajt. Ovo, iz nepoznatih razloga, za neke fontove nije radilo. A evo i zašto: Izgleda da se, čak i za binarnu datoteku, znak Ctrl-Z (26) poslat štampaču ignoriše! Fontovi koji su ga sadržali naravno nisu radili. Da bi ste to izbegli treba samo da prebacite štamač između takozvanih "coocked" i "raw" modova. To se radi sa: ioctl(fileno(prn), 1, ioctl(fileno(prn),0) & 0xFF đ 0x20, 0); na Borland C-u, dok će Mikrosoftovci morati da koriste INT 21/44. žini mi se da od iste muke pate i mnoge Klipete (programeri na Clipperu :-)), pa zato većina njih štampa prvo u fajl, pa onda poziva COPY ili NETPRINT. Možda sada i oni nađu rešenje?
cccc.82 .bale.,
> Izgleda da se, čak i za binarnu datoteku, znak Ctrl-Z (26) > poslat štampaču ignoriše! Fontovi koji su ga sadržali naravno nisu > radili. Da bi ste to izbegli treba samo da prebacite štamač između > takozvanih "coocked" i "raw" modova. To se radi sa: > > ioctl(fileno(prn), 1, ioctl(fileno(prn),0) & 0xFF đ 0x20, 0); žitao sam na news serveru na fon-u istu stvar u vezi sa PostScript-om. Mora da je u raw modu da ne bi odštampao PostScript fajl kao običan ascii.
cccc.83 janko,
> treće, mislim da 3.1 podržava viši standard C++ od 2.0, > ali nisam siguran. te statističke stvari zna janko ;)) Nema to veze sa statistikom, bolan. Već sa nebom i zemljom. cfront 3.0 nivo (njega ima BC 3.1) ima puno toga što fali 2.1 nivou (njega ima BC 2.0). Ovde izgleda neko nije čuo za templejte u C++-u? He, he. > zbog fleksibilnosti ti preporučujem 3.1, ali ako imaš 286, > onda je bolje 2.0. oba su dobra i moćna. Ima jedna sitnica. BC 3.1 ne radi bez 4MB RAM-a. (Tačnije, radi i sa 2, ali jedva) Staša, ako imaš manje, uzmi 2.0. Tu BCC radi fino i u osnovnoj memoriji. Integrisana okolina i tu je prespora bez 2MB i BCX. Kad se škarta sve suvišno, i kad se piše samo za DOS, 2.0 arči 8 MB, a 3.1 malo jače od deset.
cccc.84 janko,
Skoro sam ovo iskopao: > Where is HL - Borland's Help Linker : > HL is not included with Borland C++ or Borland Pascal, Borland sells an > aditional package called Borland Open Architecture (and Borlad OA for > Pascal) that include among other things - the THELP help linker. Ko ima HL i prateće fajlove koji mu trebaju? Slobodno nek' mi se javi, biće opšte korisno. :)
cccc.87 mjova,
> nivou (njega ima BC 2.0). Ovde izgleda neko nije čuo za > templejte u C++-u? He, he. pa 'desi bre janko, čekam tvoj odgovor već nedelju dana ;)) btw, šta je to templejte? ;))
cccc.88 mjova,
> Ko ima HL i prateće fajlove koji mu trebaju? Slobodno nek' > mi se javi, biće opšte korisno. :) jesi li gledao kako izgleda baza? ja sam u nekoliko uzaludnih iteracija pokušao da provalim i da od baze dobijem nekakav tekst. šta da kažem, rezultat je bio poražavajući. video sam kako se kodira tekst, ali ništa više. reference, početak - kraj zapisa... ništa... u stvari, provalio sam tabelu (dobija se sa shift-f1), ali ništa više. tako bi bilo moćno izbaciti sve ono što je suvišno u bazi...
cccc.89 ssokorac,
─┼┤ i sa 2, ali jedva) Staša, ako imaš manje, uzmi 2.0. Tu BCC radi ─┼┤ fino i u osnovnoj memoriji. Integrisana okolina i tu je Imam manje :(, zato i sedim na 2.0. Spro je, ali radi... Ipak, ja imam sasvim osrednje znanje c++-u za sada, tako da mi više verovatno ne treba. Ali, tri.jedan :) ću da držim na disketama da čeka bolji comp :).
cccc.90 ssokorac,
─┼┤ btw, šta je to templejte? ;)) Btw, može li neko stvarno da kaže šta je to, jer u helpu 2.0, naravno, nema ništa osim da je rezervisana reč za kasniju upotrebu, a onaj XMS100JE.zip ima brdo toga u sebi :).
cccc.91 baranja,
Koristim Borland-ov Turbo C++ Ver 1.0 (uskoro 3.0). Zanima me da li postoji mogucnost snimanja dela ekrana u buffer, nesto slicno kao u Clipper-u savescreen i restorescreen, ali da radi u graficnkom modu. Nadam se da se ne ljutite sto postavljam mozda trivijalna pitanja, ali uzmite u obzir da u C radim svega 20-tak dana, a moram resiti dosta slozen problem.
cccc.92 milos,
Imaš GetImage i PutImage, pa ti vidi... :)
cccc.93 milos,
Trenutno nisam pri vremenu, ali ću u jednoj od porukica malo izdetaljisati templejtove. Inače jako moćna stvar. žudi me mjovo, kako TI to ne znaš... :)
cccc.94 janko,
> btw, šta je to templejte? ;)) E, sad ne znam da li pitaš ozbiljno? :) Ali, hajde, možda nekom bude koristilo... Piše se template, čita templejt, a skoro je ekvivalentno generic principu u Adi. Do cfront 3.0 nivoa, zamena za templejte se ostvarivala peške, pomoću malo #define naredbi. (Staša, pogledaj GENERIC.H u BC 2.0) Od 3.0 nivoa, njih realizuje sam prevodilac, tj. stvarno su deo jezika. A šta rade? Omogućavaju da napišeš jednom nešto (klasu, procedure), a posle to nešto radi sa bilo kojim tipom podataka. Jedino što se za svaki tip generiše poseban kod. Ali ti u sorsu napišeš samo jednom. Više o tome, bilo bi zgodnije u cpp temi? > pa 'desi bre janko, čekam tvoj odgovor već nedelju dana > ;)) Haj, Miljane! Dobro te našao! Eto, ja malo (tako, pet nedelja) bio odvojen od tastatura i ekrana. :) Pre jedno tri nedelje me je i nostalgija malo uhvatila. Niko mi ne piše, ne javlja se. :)
cccc.95 mjova,
> Trenutno nisam pri vremenu, ali ću u jednoj od porukica > malo izdetaljisati templejtove. Inače jako moćna stvar. > žudi me mjovo, kako TI to ne znaš... :) samo napred nadam se da onaj ';)' znači da znaš da se radi o zezanju ;)
cccc.96 debelijencija,
!=?> Btw, može li neko stvarno da kaže šta je to, jer u helpu !=?> 2.0, naravno, To ti je nešto kao makroi u C-u. Tj. treba da ima sličan efekat. Napišeš neku uopštenu klasu (ili funkciju), koja posle radi sa svim tipovima (float, int ...). Nisam to koristio, mada kažu ljudi da može da bude korisno. Prednost u odnosu na makroe je provera tipova. Zvuči malo konfuzno, jasnije je uz primer. U svakom slučaju, skini CPPTUT*.zip iz C direktorijuma, sve lepo piše :). P.S. žudo da ti dosad nijedan eksperat C++a nije ništa odgovorio... :)
cccc.97 baranja,
Hvala, idem da probam, da li working i kako.
cccc.98 mbacic,
Hteo bih da radim sa sprajtovima pa ako bi neko mogao da stavi neki primer na tu temu(po mogucstvu C/C++). Unapred zahvalan Marko.
cccc.99 vjokic,
Evo i moje prve poruke. Problem ovakav: koristio bih Paradox Engine 3.0 sa TC 2.0. Medjutim, pxengine.h ima komentare '//'. Ok, to sam iskorenio, ali, kada pokušam da iskompajliram neke od examplea, dolazi do greške pri linkovanju. Naime, linker javlja 'undefined symbol PXINIT in module....', ili za bilo koju drugu funkciju. Onda sam probao sa Tlink-om iz komandne linije, međutim, on javlja 'undefined sybol...' u samoj biblioteci (pxengtcl.lib). Misterija? Ili je nešto do mene.... Pomagajte :( vj
cccc.100 v.nesic,
Na Imtelu ima biblioteka za rad sa neuro mrežama, pa ako bi neko bio dobar da to prebaci ovde...
cccc.101 mirkot,
Da li postoji grupa koja se bavi neuronskim mrezama? Ako postoji, voleo bih da se pridruzim, a ako ne postoji mogli bi da otvorimo jednu. U prikacenom fajlu su programi koji idu uz knjigu: B. Mueller, J. Reinhardt : Neural Networks, Springer Verlag, 1990.
cccc.102 v.nesic,
> U prikacenom fajlu su programi koji idu uz knjigu: U prikačenom fajlu je oštećena arhiva :( Pošto me jako zanima, da li bi bio dobar da ponovo okačiš?
cccc.103 bulaja,
│Na Imtelu ima biblioteka za rad sa neuro mrezama, │pa ako bi neko bio dobar da to prebaci ovde... └─── Skinuo sam sa Imtela, danas je biti stavljeno na Sezam.
cccc.104 djelovic,
> Na Imtelu ima biblioteka za rad sa neuro mrežama, pa ako bi neko bio > dobar da to prebaci ovde... Jel neko ovde imao iskustva sa polinomalnim mrežama? Kažu da skoro toliko precizne kao neuronske mreže, ali ih uopšte ne treba stvarati! Navodno, samo daš primere, i deset minuta kasnije imaš mrežu!
cccc.105 rakicm,
> U prikacenom fajlu su programi koji idu uz knjigu: > > B. Mueller, J. Reinhardt : Neural Networks, Springer Verlag, 1990. Ne znam da li je kod mene problem, ali pokusao sam dva puta sa skidanjem tvoje poruke i neuro.zip fajla, ali oba puta mi je fajl imao gresaka. Mozes li ponovo da posaljes fajl? hvala. mladen
cccc.106 mirkot,
Ne znam sta nije u redu sa fajlom neuro.zip. Prenos je bio sa MNP4 + zmodem. Proverio sam i fajl koji sam poslao. U svakom slucaju evo ga ponovo, a onaj stari cu obrisati. neuro.zip
cccc.107 dlazic,
Jedno pitanje! Uzeo sam da radim sa bibliotekom koja je data jos davno u umetku racunara (rac.lib kako ju je autor A. Radovanovic nazvao). Jasno sve sam preuzeo sa SEZAM-a u vidu fajla r064ume.zip. Medjutim bilo kako da napisem program koji koristi tu biblioteku pri napustanju programa javi se poruka null pointer assignment Pokusavo sam da prepravim neke pointere i njihove inicijalizacije, ali za sada nisam uspeo. Moze li to neko da mi resi da se ne mucim dalje. Hvala unapred. Pozdrav ***DVL***
cccc.108 v.nesic,
>│ Na Imtelu ima biblioteka za rad sa neuro mrezama, >│ pa ako bi neko bio dobar da to prebaci ovde... >└─── > Skinuo sam sa Imtela, danas je biti stavljeno na Sezam. Ja je još ne videh. Gde je ?
cccc.109 nbulatovic,
interesuje me, da li postoji na sezamu neka grupa koja se bavi neuronskim mrezama, algoritmima, matematikom... ? ako postoji mogli bi i mene da ubacite nbulatovic
cccc.110 milos,
Ja sam je koristio, ali dosta davno, uglavnom se secam da sam problem resio tako sto sam sve prekompilovao i napravio LIB sa onim kompajlerom sa kojim koristim biblioteku, jer se u arhivi (valjda) isporucuje i jedna biblioteka. inace, mislim da ti se poruka nece prikazivati u tvojim programima, nego samo u onom glupom primeru, a ako te interesuje, poslacu ti jedno moje programce...
cccc.111 djelovic,
> interesuje me, da li postoji na sezamu neka grupa koja se bavi neuronskim > mrezama, algoritmima, matematikom... ? Da li postoje grupa ne znam, ali znam da sve tri teme koje si naveo ovde zanimaju i širi auditorijum. Prema tome, raspali po konferenciji! :-)
cccc.112 bulaja,
│││ Na Imtelu ima biblioteka za rad sa neuro mrezama, ││└─── ││Skinuo sam sa Imtela, danas je biti stavljeno na Sezam. │└─── │Ja je jos ne videh. Gde je ? └─── Sorry, nisam stigao da je okacim. Bice sigurno na Sezamu do srede, zajedno sa jos nekim vecim uploadima koji cekaju :) (MS Mouse i sl.).
cccc.113 dlazic,
***> nego samo u onom glupom primeru, a ako te interesuje, ***> poslacu ti jedno moje programce... U fajlu r064ume.zip nalaze se cetri sorsa (rac.h defkey.h lowfn.c i menu.c) kao i jedan primer takodje sors (smesten u fajlu e.doc). Znaci sve treba kompajlovati (nema nista sto je vec kompajlovano). A sto se tice programcica posalji. Da pogledamo sta je. Evo u medjuvremenu sam otkrio i gresku. Bio si u pravu ona se javlja samo u datom primeru, a razlog je u pozivu: free (window_buffer); Dakle sve je razjasnjeno. Ipak posalji i tvoje fajlove. Od viska glava ne boli. Ako nadjem nesto interesantno za mene javljam ti. Hvala na pomoci. Pozdrav ***DVL***
cccc.114 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- nnutl101 a01 120616 Utils za programiranje neuralnih mreza u C-u #1 nnutl101 a02 119976 Utils za programiranje neuralnih mreza u C-u #2 NNUTILS.ZIP by Gregory Stevens (stevens@prodigal.psych.rochester.edu) ver 1.01 Tutorial Package Comments, Instructions, Documentation This is a Public Domain package of files that are meant to help you to get started programming neural networks in C. In essence, it is a tutorial about how to program neural networks (or how to program in C, depending on what you need to learn more), where instead of the tutorial being readable text, it is readable code. There are include files here with overdocumented code that contains everything you need to implement several kinds of net archetectures. What you get in this package is a couple text files in the main directory you unzip to, and then a series of simple implementations using the include files to let you, step by step, see how they work. < Preuzeto sa Imtel BBS-a >
cccc.115 skerl,
The C-Library for DPMI-Specification 0.9 and Protected Mode Files include in dpmi_lib.zip: dpmi.txt : this file dpmiutil.c : Main C-file include the Dpmi/PM -library dpmiutil.obj : Object-file dpmi.h : Header file for dpmi programs dpmi_v1.exe : Demo 1 : shows the System-Tables used in Protected Mode dpmi_v1.c : sources demo1 dpmi_v1.mak : Makefile demo1 dpmi_v1.pif : Windows 3.0 386/PIF-file for demo1 dpmi_v2.exe : Demo 2 : memory info and test program dpmi_v2.c : sources demo2 dpmi_v2.mak : Makefile demo2 dpmi_v2.pif : Windows 3.0 386/PIF-file for demo2 Pozdrav, Skerl. dpmi_lib.zip
cccc.116 janko,
> The C-Library for DPMI-Specification 0.9 and Protected > Mode Svaka čast, Ivane. Konačno smo na Sezamu dobili "pokriven" i DPMI.
cccc.117 djelovic,
Ima li način da se promeni "mode" već otvorenog fajla. Znači, hoću recimo da otvorim datoteku (na stari način, sa hendlovima) za čitanje i pisanje, a posle da je promenim da bude samo za čitanje. P.S. Ovo mi treba da bi implementirao read-lock, pa prema tome ako neko ima foru za to bez gorespomenutog zezanja...
cccc.118 v.nesic,
> recimo da otvorim datoteku (na stari način, sa hendlovima) za čitanje i A šta ti je novi način ? Ovo pitam jer izgleda više nisam u toku :(
cccc.119 djelovic,
> A šta ti je novi način ? Ovo pitam jer izgleda više nisam u toku :( Sada se umesto hendlova (i bahova :-)) koristi struktura FILE, propisana ANSI standardom. S obzirom na to koliko je ova konvencija stara, čini mi se da bi svakako trebao da modernizuješ :-).
cccc.120 mjova,
> Ima li način da se promeni "mode" već otvorenog fajla. > Znači, hoću recimo da otvorim datoteku (na stari način, sa > hendlovima) za čitanje i pisanje, a posle da je promenim > da bude samo za čitanje. kako sam razume tebi treba zaključavanje datoteka. to se radi tako što fajl otvoriš sa _fsopen(), a ako želiš da promeniš mod onda to radiš sa setmode(). set mode je iz io.h, a onda druga ti je poznata (valjda ;)
cccc.121 miroljub,
Pogledajte poruku br. 13 - tema KNJIGE u konferenciji PC.USER.2
cccc.122 v.nesic,
> čini mi se da bi svakako trebao da modernizuješ :-). Hvala :)
cccc.123 pedjak,
> Sada se umesto hendlova (i bahova :-)) koristi struktura FILE, > propisana ANSI standardom. S obzirom na to koliko je ova konvencija > stara, čini mi se da Da, ali sigurno se negde u FILE strukturi nalazi i zapisan hendl. Ako to nešto može da ti pomogne...
cccc.124 debelijencija,
!=?> Ima li način da se promeni "mode" već otvorenog fajla. Pa, valjda funkcija setmode radi baš to? Tj. u helpu piše: setmode(int handle,int amode); Sets mode of an open file. Radi sa hendlovima, baš ono što ti treba. Nisam probao, verujem Borlandu na reč. :) I inače, ne koristim taj način, već sa FILE strukturom. Kad sam ja počeo da se bavim C-om, već napisaše ANSI standard. :)
cccc.125 debelijencija,
!=?> Da, ali sigurno se negde u FILE strukturi nalazi i zapisan !=?> hendl. Ne, ne nalazi se, koliko sam ja video.
cccc.126 skerl,
│> The C-Library for DPMI-Specification 0.9 and Protected │> Mode │ │ Svaka cast, Ivane. Konacno smo na Sezamu dobili "pokriven" i │ DPMI. └──── Evo jos neceg na temu DPMI sto imam pa recite da li da saljem (pdmigcc1.zip 466,905 bytes). ------------------------------------------------------------------------------- - README.TXT DPMI-RSX (c) Rainer Schnitker 5/93 ------------------------------------------------------------------------------- - The big DOS ports for GNU-C 2.x have one great disadvantage: they can't run under a DPMI-Server. So you must reboot or exit the server. My DPMI DOS-extender RSX can run unmodified EMX-0.8e+/GCC-programs. The compiler works under DPMI-servers like MS-Windows, QEMM, 386MAX, etc. - and you don't need a 387-processor. RSXdj can also run relinked DJGPP-programs. The orginal a.out programs can't run. The orginal extender run at privileg level 0, so there are some restrictions. Some extensions for libc.a can be used (signals, fork, ptrace). DPMIRSX contains : - DPMI-compatible DOS-extender for GCC/EMX-0.8e+ programs. + 387 emulator - DPMI-compatible DOS-extender for new linked GCC/DjDelorie 1.05+ programs. - DPMILIB 1.1, the DPMI-Library for the DPMI specifiction 0.9 ( version 1.00 exist on internet since 1991, some bugs fixed now ) - all source codes ( RSX-extender, FPU-emulator ) Pozdrav, Skerl.
cccc.127 djelovic,
> Da, ali sigurno se negde u FILE strukturi nalazi i zapisan hendl. > Ako to nešto može da ti pomogne... Naravno! FILE struktura i služi samo da bi se: █ Dodali baferi i funkcije kakva je ungetc (pamti prethodni znak) █ Izbeglo direktno korišćenje hendlova, zbog portabilnosti na sisteme kod kojih se I/O vrši na druge načine.
cccc.128 djelovic,
> setmode(int handle,int amode); Sets mode of an open file. Na žalost, setmode samo menja mode fajla iz BINARY u TEXT i obratno, a meni je potrebno READ+WRITE <-> READ. > I inače, ne koristim taj način, već sa FILE strukturom. Kad sam ja počeo da > se bavim C-om, već napisaše ANSI standard. :) Na žalost, baferizovan ANSI standard i zaključavanje slogova se ne slažu baš najbolje. Naravno, uvek se može isključiti baferizovanje, ali onda čemu dodatni kilobajti koje STDIO.H odnosi kada već koristim IO.H?
cccc.129 djelovic,
> > Da, ali sigurno se negde u FILE strukturi nalazi i zapisan > > hendl. > > Ne, ne nalazi se, koliko sam ja video. Nalazi se, ali pod drugim imenom: fd, file descriptor. Postoji čak i makro fileno koji FILE* pretvara u hendl.
cccc.130 djelovic,
> Herbert Schildt - "Turbo C/C++ the Complete Reference" > second edition, 1992. Osborne McGraw Hill. Knjiga je stara i loša. Ako hoćeš, javi se da ti dam jednu podjednako staru i lošu, za đabe :-).
cccc.131 djelovic,
> Evo jos neceg na temu DPMI sto imam pa recite da li da > saljem (pdmigcc1.zip 466,905 bytes). Mislim da nema potrebe da se sa ovim zezaš, ionako je namenjeno samo djgpp-u koji kod nas (skoro) niko ne koristi. Ako nekoga već puno zanima DPMI, video sam skoro na Internetu neku zgodnu C++ biblioteku za baratanje gorespomenutom. Elem, ako treba, recite, pa da iskopam adresu.
cccc.132 milos,
>> se nalazi hendl. Ne nalazi se direktno, ali postoji funkcija fileno(FILE) koja vraća hendl...
cccc.133 milos,
<< Da ti dam jednu isto lošu za džabe (!!) Izvini, ako si već tako velikodušan, možda nekome neće biti toliko loša. BTW, ako se čoveku ne svidi, mail me
cccc.134 djelovic,
> Izvini, ako si već tako velikodušan, možda nekome neće biti toliko loša > BTW, ako se čoveku ne svidi, mail me Nisam velikodušan :-) već mi knjiga trenutno ne treba pa nemam ništa protiv da je nekom pozajmim na neodređeno veliki rok :-). Elem, kome treba nek se javi... :-)
cccc.135 nkbog,
> Znači, hoću recimo da otvorim datoteku (na stari način, sa hendlovima) > za čitanje i pisanje, a posle da je promenim da bude samo za čitanje. > Ovo mi treba da bi implementirao read-lock, pa prema tome ako neko ima > foru za to bez gorespomenutog zezanja... Read-lock pod MS-DOS-om ne postoji. Postoji samo ekskluzivni lock. Ali jedno rešenje za ono što ti treba (pošto legalno na nivou MS-DOS-a ne postoji - nema DOS poziva koji menja način pristupa datoteci) je da otvoriš datoteku dva puta odjednom (jednom za čitanje i pisanje, drugi put samo za pisanje), pa onda koristiš onaj hendl koji ti treba. UBR, hendlovi nisu stari način već samo nestandardan. Štaviše, FILE struktura pre odgovara FCB-u, pa ispada da su hendlovi savremenija stvar ;). Šalu na stranu, stvar je što se FILE može implementirati i sa FCB i sa hendlovima. NB.
cccc.136 nkbog,
> kako sam razume tebi treba zaključavanje datoteka. to se radi tako što > fajl otvoriš sa _fsopen(), a ako želiš da promeniš mod onda to radiš > sa setmode(). set mode je iz io.h, a onda druga ti je poznata (valjda ;) Kod kog to kompajlera setmode postavlja pravo pristupa? setmode treba da postavlja samo način konverzije: tekst ili binarno Pogotovu, setmode, ne bi smeo da se koristi kod FILE* funkcija, jer one baferuju podatke, te baferovani podaci ne bi bili obrađeni u skladu sa načinom pristupa. Isto važi i za _fsopen, tamo pre svakog zaključavanja treba izvršiti fflush. NB.
cccc.137 bulaja,
│ Ima li nacin da se promeni "mode" vec otvorenog fajla. Znaci, hocu │recimo da otvorim datoteku (na stari nacin, sa hendlovima) za citanje i │pisanje, a posle da je promenim da bude samo za citanje. └─── Pa mozes da napravis proceduru koja zapamti file pointer u FILE strukturi (ako ti treba), zatvori datoteku i onda je odmah ponovo otvori sa trazenim modom, a vrati ti novi FILE (gde prethodno podesi file pointer).
cccc.138 pbojan,
>> - DPMILIB 1.1, the DPMI-Library for the DPMI specifiction 0.9 >> ( version 1.00 exist on internet since 1991, some bugs fixed >> now ) >> >> - all source codes ( RSX-extender, FPU-emulator ) Evo, mene zanima ;).
cccc.139 mjova,
> Kod kog to kompajlera setmode postavlja pravo pristupa? > setmode treba da postavlja samo način konverzije: tekst > ili binarno da, onaj koji je to probao primetio je da sam pogrešio ;). no u svakom slučaju mislio sam na funkcije lock, locking i unlock. (dos fn 5c). > Pogotovu, setmode, ne bi smeo da se koristi kod FILE* > funkcija, jer one baferuju podatke, te baferovani podaci > ne bi bili obrađeni u skladu e, kad se samo setim kako sam to naučio ;). bilo je to jedno od mukotrpnih iskustava vezanih za fajlove... (ima u nekoj od pc.prog konferencija ovde ;))
cccc.140 janko,
> Mislim da nema potrebe da se sa ovim zezaš, ionako je > namenjeno samo djgpp-u koji kod nas (skoro) niko ne > koristi. I meni se čini da taj kompajler niko ne koristi.
cccc.141 ppekovic,
>>> Mislim da nema potrebe da se sa ovim zezaš, ionako je >>> namenjeno samo djgpp-u koji kod nas (skoro) niko ne >>> koristi. >> >> I meni se čini da taj kompajler niko ne koristi. Ja sam ga instalirao jer mi je trebalo da prenesem neke programe sa unix-a na dos. Komajler radi ok. U stvari u paketu su dva odvojena kompajlera jedan za C drugi za C++. Imaš curses library, gomilu unix-like utility-a, itd. Sve u svemu nije loše. Jedine zamerke su što jako sporo kompajlira kao i što ne može (ili ja neznam kako) da napravi 8086 kod. Takođe, mali problem je što ne podržava DPMI već VCPI. U stvari, od ove verzije podržava, ali pod windows-om ne može da prevede veće programe. .EXE-i rade pod DPMI-om. Koga zanima 386 kompajler (ima svoj extender) vredi probati. Ima ga na FFS-u u dir-u /msdos/djgpp Paya
cccc.142 janko,
> Koga zanima 386 kompajler (ima svoj extender) vredi > probati. Ima ga na FFS-u u dir-u /msdos/djgpp Da li daje 32-bitni kod ili ne? Već mi postaje zanimljiv. Zašto ti je baš on odgovarao za prenošenje UNIX programa na DOS? Da li baš zato što nema famozni 64K limit?
cccc.143 akocmaruk,
Ima li neko da mi mailne jednu dobru C funkciju za inverziju matrica. U onom cephes-* zbiru mat funkcija, sto stoji u direktorijumu C takva f-ja je navedena ali nije ukljucena. Hitno mi je. Pozdrav
cccc.144 bojt,
>> Ima li neko da mi mailne jednu dobru C funkciju za inverziju >> matrica. Ako je za MS C mogu da ti pošaljem OBJ u fortranu, a to se posle lako linkuje.
cccc.145 ppekovic,
>> Da li daje 32-bitni kod ili ne? Da. >> Zašto ti je baš on odgovarao za prenošenje UNIX programa na >> DOS? Da li baš zato što nema famozni 64K limit? Između ostalog i zbog toga ali i zbog curses biblioteke i zbog jednakih imena header fajlova i zbog jednakih deklaracija, ... Dakle, zbog toga što kažem make i sve radi. Paya
cccc.146 akocmaruk,
Vise bi mi koristio source u fortranu. Ako imas salji, ako ne onda nista. Koristim TC++. Ipak hvala. Pozdrav.
cccc.147 niklaus,
> I meni se čini da taj kompajler niko ne koristi. Eeek, WRONG! Ja (barem ozbiljno nameravam) da ga koristim. Jedina prepreka što bi mi transfer kompletnog 'GNU C Compiler'-a sa FON-a oduzela 6-7 sati. Ako ga neko već ima, neka me obavezno obraduje. Napominjem, da sam vrlo svež C-vitaminac i da nisam uopšte zajažljiv po pitanju 'Imati što noviji kompajler sa što više pluseva!'. Štaviše koristim TC 2.0 sa velikim osmehom na licu. (((: (:niklaus:)
cccc.148 mjova,
>>> Zašto ti je baš on odgovarao za prenošenje UNIX programa >>> na DOS? Da li baš zato što nema famozni 64K limit? > Između ostalog i zbog toga ali i zbog curses biblioteke i > zbog jednakih imena header fajlova i zbog jednakih > deklaracija, ... Dakle, zbog toga što kažem make i sve > radi. pajo, pa jel može crisp sa time da se prevede? ;)
cccc.149 ppekovic,
>> pajo, pa jel može crisp sa time da se prevede? ;) Probaću pa ću da javim rezultate. Paya
cccc.150 skerl,
dpmigcc1.zip 1/3 dpmigcc1.a01
cccc.151 skerl,
dpmigcc1.zip 2/3 dpmigcc1.a02
cccc.152 skerl,
dpmigcc1.zip 3/3 dpmigcc1.a03
cccc.153 djelovic,
Za one koji ne znaju (recimo mene :-)), evo default aritmetičke konverzije pri računanju: 1. Ako je bilo koji operand char, unsigned char ili short pretvara se u int. 2. Ako je bilo koji operand double, drugi se pretvori u double i to je tip rezultata. 3. Ako nije slučaj pod 2, onda ako je bilo koji operand unsigned long, i drugi se pretvara u unsigned long. 4. Ako nije slučaj pod 3, onda ako je bilo koji operand long... 5. Ako nij nije slučaj pod 4, onda ako je bilo koji operand unsigned int... 6. Ako nije slučaj pod 5, onda su oba opernada tipa int, i to je tip rezultata.
cccc.154 debelijencija,
!=?> Za one koji ne znaju (recimo mene :-)), evo default !=?> aritmetičke konverzije pri računanju: Evo ja ne bio lenj (šta mi bi? :) pa prepisao šta piše u K&R: A6.5 Aritmetičke konverzije Mnogi operatori vrše konverzije, i prikazuju rezultujuće tipove na sličan nažin. Efekat je taj, da se operandi podvedu pod zajednički tip koji je istovremeno i tip rezultata. Taj oblik se naziva uobičajena aritmetička konverzija. Prvo, ako je jedan operanad long double, drugi se konvertuje u long double. Inače, ako je jedan operand double, drugi se konvertuje u double. Inače, ako je jedan operand float, drugi se konvertuje u float. Inače, integralne promocije se obavljaju na oba operanda; onda, ako je jedan operand unsigned long int, drugi se konvertuje u unsigned long int. Inače, ako je jedan operand long int, a drugi je unsigned int, efekat zavisi od toga da li long int može da predstavlja sve vrednosti jednog unsigned int-a; ako može, unsigned int operand se konvertuje u long int; ako ne može, oba se konvertuju u unsigned long int. Inače, ako je jedan operand long int, drugi se konvertuje u long int. Inače, ako je jedan operand unsigned int, drugi se konvertuje u unsigned int. Inače, oba operanda su tipa int. ....Nova pravila su nešto komplikovanija, ali donekle smanjuju iznenađenja koja nastaju kada se izraz bez predznaka poredi sa izrazom sa predznakom. P.S. To je to! :) Nadam se da će nekom koristiti! :) P.P.S. A, ovo oko pravila, i iznenađenja ako ste probali C Mozgalice, biće vam jasno zašto je to korisno... :)
cccc.155 dr.obradovic,
Evo jedne interesantne stvari: U bibliotekama Borland C++ 2.0 postoji jedan mali, ali, zavisno od primene, neprijatan bag. U slucaju da vas program koristi funkciju bioskey(1) za skaniranje tastature, ako korisnik pritisne Ctrl-Break tastatura ce biti blokirana sve do sledeceg bioskey(0). Znaci, ako imate sledecu sekvencu: ... b=bioskey(1); if (b) bioskey(0); ... onda nastaju problemi. U helpu pise da bioskey(1) u slucaju Ctrl-Break vraca 0xffff, medjutim ona na BC++ 2.0 vraca 0 (i slovima nulu). Znaci, bioskey(1) uopste ne registruje pritisak na ovaj taster. Samim tim ni bioskey(0) se nece izvrsiti, pa ce ova nula ostati u baferu za tasta- turu i svi sledeci tasteri ce se slagati iza nje, tako da nece biti dostupni, jer ce bioskey(1) uvek vracati nulu. Meni se na primer desilo (testirajuci neku svoju igricu) da pritisnem Ctrl-Break, tastatura se "zaglavi" i igra se naravno ubrzo zavrsi. I tada tastatura proradi. Zasto? Zato sto na kraju stoji: ... gputs("Pritisni Enter..."); while (bioskey(0)!=ENTER); ... Ocigledno, kad se zna, ali pre nego sto sam shvatio zasto se to desava izgubio sam sate i sate proveravajuci svoj program. Konacno sam posumnjao u bioskey() funkciju i tamo nasao resenje. Prvo sam sa TLIB izdvojio BIOSKEY.OBJ i pomocu OBJ2ASM konvertovao je u BIOSKEY.ASM. Interesantno je da je rutina vrlo lepo napisana, ne verujem da je moglo krace, cak sam morao malo i da se zamislim. Medjutim, ima jedan pogresan uslovni skok. Zatim me zanimalo da li postoji isti bag i u verziji TC++ 1.0 i slicno sam izdvojio funkciju i video sta se desilo. U TC se na dva mesta koristilo CMP pa uslovni skok. Neko je to CMP promenio u TEST i od dva uslovna skoka samo je kod jednog obrnuo uslov, dok je drugi ostao isti. Naime CMP setuje Z ako su argumenti isti dok TEST resetuje: Turbo C++ 1.0 Borland C++ 2.0 cmp byte ptr [bp+004h],01h test byte ptr [bp+004h],01h jnz $L2 jnz $L2 Ono jnz je u BC-u trebalo pretvoriti u jz. Verovatno je CMP promenjeno u TEST zbog INT 16h funkcija 10h,11h,12h. Namera je bila ok, ali bili su neoprezni. I to je cela prica. Na kraju sam iz svake biblioteke BC-a izbacio funkciju bioskey() i ubacio onu iz TC-a. To mi je delovalo kao najlakse resenje, posto ne koristim INT 16h funkcije 10h,11h,12h. Ako neko hoce bas pravo resenje neka napise svoje rutine, pa nek ih ubaci. Uz poruku ide i fajl u kome se nalaze .OBJ i .ASM fajlovi za svaki memorijski model iz obe verzije programa. Tu je takodje i BIOSKEYT.C, kratki program u C-u za testiranje ovog baga. Program treba da prikaze FFFF u slucaju da je pritisnuto Ctrl-Break, inace mozete resetovati kompjuter. Vazno je da program startujete iz DOS-a, da ga pritisak na Ctrl-Break ne bi prekinuo. I jos jedna stvar, ako imate neku kolor graficku karticu promenite ono 0xb000 u 0xb800. Eto toliko od mene. Samo javite da li se ovaj bag pojavljuje i u verzijama BC++ 3.0 i BC++ 3.1. cu Dragoljub B. Obradovic bc20-bug.zip
cccc.156 mjova,
> Turbo C++ 1.0 Borland C++ 2.0 > cmp byte ptr [bp+004h],01h test byte ptr [bp+004h],01h > jnz $L2 jnz $L2 > .... > Eto toliko od mene. Samo javite da li se ovaj bag > pojavljuje i u verzijama BC++ 3.0 i BC++ 3.1. u 3.1 je ovako: // If we aren't checking status, just return key asm test byte ptr (cmd), 1 asm jz keydone => bug ispravljen.
cccc.157 dr.obradovic,
Nemoj mi reci da su sa BC++ 3.1 date i sve biblioteke u izvornom obliku, ili je ono samo jedan od primera. cu Dragoljub B. Obradovic
cccc.158 djelovic,
> Nemoj mi reci da su sa BC++ 3.1 date i sve biblioteke u izvornom obliku, il > je ono samo jedan od primera. Sve biblioteke! Ne da ti trebaju, ali je lepo videti kako neke stvari rade. I naravno, zgodno je ako ima neki bug u biblioteci.
cccc.159 dr.obradovic,
> Sve biblioteke! Ne da ti trebaju, ali je lepo videti kako neke stvari rade. > I naravno, zgodno je ako ima neki bug u biblioteci. Divota ! Fantazija ! To su pravi ljudi ! cu Dragoljub B. Obradovic
cccc.160 toma,
Jel zna neko kako ta odredim tačan path odakle je učitan neki pragram. U C-u, naravno (MSC 5.1). ps. Znam da je negde bilo reči o tome, ali gde i kada...
cccc.161 dejanr,
>> Jel zna neko kako ta odredim tačan path odakle je učitan neki >> pragram. U C-u, naravno (MSC 5.1). Trebalo bi da argv[0] daje ime programa, sa sve path-om. Podrazumeva se DOS 3.30 ili noviji, na prethodnim verzijama je to nemoguće.
cccc.162 .obj,
> Jel zna neko kako ta odredim tačan path odakle je učitan neki > pragram. U C-u, naravno (MSC 5.1). Recimo, ovaj program ispisuje svoje ime: main(int argc, char **argv) printf("%s", *argv); Ou bi džej
cccc.163 todorp,
> Jel zna neko kako ta odredim tacan path odakle je ucitan neki > pragram. U C-u, naravno (MSC 5.1). Pa, ne znam za MSC, ali mozda mozes da izmuvas sa getcwd iz direct.h. Trebalo bi da tako nesto(ako ne isto to) postoji za MSC. Mada ako ti treba path tvog programa iz koga to hoces da saznas, bolje je argv[0] kao sto ti dejanr vec rece. Pozdrav od Todora.
cccc.164 toma,
Hvala svima, konačno mi program zna kako se zove! :)
cccc.165 markos,
Imam mali problem (i nije baš tako mali B-( ) Kako iz Clipper-a pozvati C funkcije !? Da budem precizniji : U Borlandovom C++ napravim funkciju (sa include, _parni, _retni, ...), prevedem sa parametrima (svim koje sam uspeo da pronadjem i uskladim sa preporučenim u Rick Spance-ovoj knjizi, a za MSC ) dobijem .obj fajl, ali kod linkovanja prijavljuje dupliran stack ! (prevodio sam sa opcijom -N, i tada ne prijavi dupli stack, ali i NE PRONADJE SVE FUNKCIJE) Predpostavljam da je u nekoj od starih poruka bilo odgovora na ovakva pitanja, pa bi lepo bilo da se javi bar GDE SE NALAZE odgovori !!! Molto HVALA unapred !
cccc.166 vision,
Hi. Evo programcica (pisan za MSC 5.1) koji bi trebao da cita BOOT sector sa diskete. Program radi OK kada je u pitanju jedinica 'A' (inf.drive=0), ali kada hocu da citam iz npr. 'C' diska (inf.drive=2) ono nece pa nece. Nije u pitanju samo BOOT, vec i bilo koji drugi sektor u bilo kakvom drugom disku osim 'A' (0). Pogledajte program i molim Vas da ko ima resenje neka ga i napise. PS. Znam da nije u istom mestu BOOT sector 'C'-a kao u 'A'. I nije mi potrebno samo BOOT vec bilo koji sector. I naglasavam da program radi samo sa inf.drive=0, bilo koji drugi broj, nece. #include <stdio.h> #include <bios.h> #include <io.h> main() { unsigned char buf[512]; int i; struct diskinfo_t inf; inf.drive=0; inf.head=0; inf.track=0; inf.sector=1; inf.nsectors=1; inf.buffer=buf; _bios_disk(_DISK_READ,&inf); for(i=0;i<512;i++) if(buf[i]>31) putch(buf[i]); else putch('.'); return; }
cccc.167 mjova,
> Hi. Evo programcica (pisan za MSC 5.1) koji bi trebao da > cita BOOT sector sa diskete. Program radi OK kada je u > pitanju jedinica 'A' (inf.drive=0), ali kada hocu da citam > iz npr. 'C' diska (inf.drive=2) ono nece pa nece. Nije u vidim da znaš da se diskovi razlikuju i po tome što im se boot sektor ne nalazi na istom mestu (sektoru), ali zanima me da li znaš da je disk pod brojem 2 (u slučaju čitanja preko int 15h - biosdisk()) u stvari treći floppy ;). hard diskovi se dobijaju tako što se pali 7 bit: 0x80 == 'C', 0x81 == 'D', itd. iako ne znam šta radiš, a ti treba ti boot sektor (i dalje na ovamo), onda je najlakše da mu pristupiš preko int 25h/26h (absread/abswrite - u bcc-u). u tom slučaju sektor 0 će uvek sadržati boot. posle opsežnih istraživanja ;) po tabeli particija moram ti savetovati da se ne igraš puno ;).
cccc.168 ppekovic,
>> U Borlandovom C++ napravim funkciju (sa include, _parni, _retni, ...), >> prevedem Problem je što ni sa Microsoft-ovim C-om to ne ide kako treba. Bilo je mnogo priče o ovome u starim porukama, pa da ne bi po ko zna koji put sve ponavljao, upotrebi jedno find /a. Paya
cccc.169 vision,
> ne nalazi na istom mestu (sektoru), ali zanima me da li znas da je > disk pod brojem 2 (u slucaju citanja preko int 15h - biosdisk()) u > stvari treci floppy ;). hard diskovi se dobijaju tako sto se pali 7 > bit: 0x80 == 'C', 0x81 == 'D', itd. E vidis da ovo nisam znao:). Hvala. > posle opseznih istrazivanja ;) po tabeli particija moram ti savetovati > da se ne igras puno ;). Vidi ovako. Mnogo dobro znam sta su particije (necu da se hvalim:) evo da ti dam primer:). Napao MICHelangelo prosli put drugu disk, i unistio mu podatke:). Na svu srecu, imao je odvojen disk u C i D u particijama:), pa ja mu onda lepo 'zakuvah' partition table:) i vratim mu citav ceo D, ali sa C-a MICH je sve obrisao:( svaki nadjeni FAT. > iako ne znam sta radis, a ti treba ti boot sektor (i dalje na ovamo), > onda je najlakse da mu pristupis preko int 25h/26h (absread/abswrite - > u bcc-u). u tom slucaju sektor 0 ce uvek sadrzati boot. Zao mi je, znam za ABS(READ I WRITE), to sam koristio u TC-u, ali to nema u MSC-u:( i to mi treba da linkujem C sa CLIPP:).
cccc.170 mjova,
> Zao mi je, znam za ABS(READ I WRITE), to sam koristio u > TC-u, ali to nema u MSC-u:( i to mi treba da linkujem C sa > CLIPP:). ma mozzzze ;), to su (kako rekoh) int 25h i int 26h. obrati pažnju samo na to da se različito pozivaju za "velike" i "male" diskove. ako ti to treba za kliper, onda ti ipak preporučujem da se opredeliš za dos funkcije, a ne za bios - čisto zbog sistema.
cccc.171 nbulatovic,
da li neko ima iskustva u radu sa dflat++ 2.0 bibliotekom? da li je komplikovano za koriscenje, koliko je brzo, jel ima neku manu? i da li moze da radi pod bc++ 2.0?
cccc.172 zsiz,
Synopsis: Utilities and source code for use with Sound Blaster, Sound Blaster Pro, and ProAudio Spectrum. REC_CD may be of interest to anyone with an audio-capable CD-ROM drive. PLAYD: .VOC file player, direct to disk. RECD: .VOC file recorder, direct to disk. REC_CD: Play and record to .VOC sections of CD audio. TALK: Hear and see the phonetic version of text run through SBTALK EXCEPT: Manage an exception dictionary for SBTALK pronounciation. Ko želi da programira SB kartice u MSC ili TC -> DL. Pozdrav. soundhax.zip
cccc.173 niklaus,
(:> Ko želi da programira SB kartice u MSC ili TC -> DL. Pošto nas većina nas nema te "SB kartice" (:, a neki od nas (:, bi želeli da u svojim programima imaju podršku i za (G)SB, pitam da li postoji neki emulator za SB na PC Speakeru (redirekcija sa SBovog porta na speaker port, uz adaptaciju i konverziju signala). (:niklaus:)
cccc.174 markos,
Imam 'mali' problem B((( Izgleda od prilike ovako : #include trt + mrt void main() š FILE *printer; int ofset; DBF_HEAD dbf_head; long trtmrt; if((printer = fopen("Printer.dbf", "r")) == NULL) š printf("ĐnTandara broć !Đn"); exit(1); ć fread(&dbf_head, sizeof(dbf_head), 1, printer); ofset = dbf_head.data_offset; trtmrt = ofset; fseek(printer, trtmrt, 0); . fread(.......); fclose(printer); return; ć a ponaša se na DVA načina i to : 1. Kada se prevede + linkuje u QC-u i startuje iz njega, normalno radi - - t.j. u ofset prenese offset (otkud baš to ime ?) podatka iz .dbf baze - u ovom slučaju 98, a zatim sa fread čita podatke i radi svoj posao ! 2. Kada ISTI program prevedem sa CL u ofset smesti 2076, 120483, ili ko zna šta već i, normalno, dalje totalno zaglupi ! Takodje, dešava se da kod svih čitanja i pisanja daje drugačije rezultate u zavisnosti od toga čime sam ga preveo ! Podrazumeva se da je potrebno da program prevedem sa CL, a ne sa QC B( Ako je ovakvo ili slično pitanje već bilo postavljano, molim za izvinjotinu, ali tek počinjem sa C-om B). Thanks, unapred !
cccc.175 klisa,
>> ofset = dbf_head.data_offset; ^^^^^ ^^^^^^^^^^^ Mislim da bi problem mogao biti u tome što je u strukturi .DBF datoteke član data_offset tipa unsigned int, a ti ga u programu dodeljuješ promenljivoj tipa int. Konverzija koja se tom prilikom vrši neki put prolazi nekažnjeno :), a neki put ne.
cccc.176 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- ev-201 a01 164567 EasyVision, C/C++ lib za text mode user interface #1/4 ev-201 a02 164567 EasyVision, C/C++ lib za text mode user interface #2/4 ev-201 a03 164567 EasyVision, C/C++ lib za text mode user interface #3/4 ev-201 a04 162090 EasyVision, C/C++ lib za text mode user interface #4/4 EasyVision is a collection of short C functions, dealing with the screen, the keyboard, text strings, etc. It is also a text mode based, windowed user interface. It provides a DESKTOP, a STATUSLINE, a MENUBAR, WINDOWS, CONTEXT SENSITIVE ON-LINE HELP, MOUSE SUPPORT and much much more...
cccc.178 eotek,
pomoc !! : U TP 5.5 postoji jedno programce zove se binobj.exe koje fino radi sa fontovima (prebaci ih u .obj, pa se font ulinkuje). E sad, to bih isto ali da radi u C (imam MS C 6.00), ali ne znam kako da font, ili neke druge podatke (tekst npr.) ubacim u .obj fajl. Sigurno ima efikasnog leka, koji li je ? Eotek (moze i ma se) I O U 1
cccc.179 debelijencija,
Da se prebacimo di nam je mesto! :) !=?> Ma ni blizu: !=?> while(e++%=25 ? e : clrscr()); !=?> Zaista nemam pojma čemu bi ovaj izraz služio, ali da ne radi !=?> - ne radi. Ne radi? Nažalost, još nisam instalirao C na novi računar, pa ne mogu da proverim. Jes', vidiš, ne mož' da radi, jerbo clrscr() vraća void! :( To je stvarno bez veze. Tja, nezgodno. žekaj, a da ne možeš da ga prevariš nečim u stilu: int a; while(e++%=25 ? e : a=clrscr()); ? Tj. ako o'š da ti radi onaj izraz (mada ni je ne vidim zašto bi to hteo... :). P.S. Ma. odlučio sam da se manem C-a, C++-a, i da lepo pišem u Clipperu! ;)))
cccc.180 i.a.n.,
>> P.S. Ma. odlučio sam da se manem C-a, C++-a, i da lepo pišem u >> Clipperu! ;))) Neka ti je Bog na pomoći. ;)
cccc.181 miljko,
>­ int a; >­ while(e++%=25 ? e : a=clrscr()); ? Za ovakve konstrukcije zgodan je zarez kao operator: while ( e++%25 ? e : clrscr(), 1 ) Ovo ce da vrti ciklus i da brise ekran svakih 25 puta. Umesto 1 moze 0 ili neka promenljiva za kontrolu izlaska. P.S. A sta ste vi uopste hteli? :> P.P.S. Stavite da vraca jedinicu umesto prom. e - radice brze!
cccc.182 djelovic,
Ima li ko da bi mogao da mi pozajmi knjigu Tools and Utilities Guide iz C++ paketa na jedno sat-dva? Moju sam dao prijatelju koji je popalio u inozemstvo, a sada mi treba ko lebac da nešto u njoj pogledam.
cccc.183 vision,
Hi. Zanima me kako da se u neki TSR prg. 'zakacim' za int 21. Stvar 'hitno' potrebna, zbog pravljenja programa koji bi 'video' koji file se otvara, pise, ... (nesto kao RECORDER). P.S. Koristim ZZivoticev modul TSR prg-a (R073tsr.zip) preradjen za TC 1.0.
cccc.184 asterix,
Kako se linkuju C .obj sa fortranovim ? I C i FORTRAN su MS C je v6.0 a FORTRAN je v5.1.
cccc.185 bojt,
>> Kako se linkuju C .obj sa fortranovim ? I C i FORTRAN su MS >> C je v6.0 a FORTRAN je v5.1. Prvo bi trebalo da napraviš posebne fortran biblioteke (LIB) sa opcijom "hoću da linkujem fortran sa C-om" ;). To te pita pri instalaciji fortrana, a postoji na LIB instalacionoj disketi i neki bat file (MAKELIB ili tako nekako), kojim može da se uradi to isto. Iz takvih biblioteka se na taj način uklone one rutine koje postoje u C bibliotekama, a takve biblioteke ja obično preimenujem iz ?LIBFOR?.LIB u ?LIBF?.LIB (npr LLIBFOR7.LIB u LLIBF7.LIB). E onda ili u fortranu treba funkcije iz C .obj-a deklarisati kao C funkcije (INTERFACE TO SUBROUTINE bla bla bla) ili, što je mnogo lakše (a i ima daleko manje da se kuca), u C sorsu pri deklaraciji tih funkcija (koje će fortran pozivati) upotrebiti _fortran deskriptor (npr void _fortran c_subr(...)). E onda, kad se sve lepo iskompajlira, linkovati na sledeći način: LINK/NOE/NOD f_obj+C_obj,,,LLIBC7+LLIBF7;
cccc.186 i.sajic,
3. S obzirom na brzinu koda koji daje MSC6 i na SVGA.BGI drajver za TC, pokusao sam da linkujem .OBJ module koje daju ovi kompajleri. Kako rezultujuci program nije radio bilo je posla za dibager. Problem se svodi na sledece (pojednostavljeno): void problem(double *x) { *x=0; } MSC6 smesta (double)0 u prostoru za global data. Prilikom linkovanja, ova adresa (nule se promeni). Zna li neko resenje?
cccc.188 i.a.n.,
Ima li neko pristojnu dokumentaciju za YACC, kao ASCII datoteku? Ono što se dobija u BYACC.ZIP je krajnje nedovoljno, a pristup nekom UNIX sistemu nemam. Zahvalan unapred.
cccc.189 vitez.koja,
Evo jednog zanimljivog problema, do onih "jednom u životu". Ako se neko već nije sreo šnjim, da mu uštedim noćno lovljenje bagova. Radi se o funkciji koja će sa tastature da učita jedan od ponuđenih odgovora. Npr. if(prompt("Da li si siguran ? [D/n] ", "dn")=='D') siguran=1; Problem je u tome što u dolenavedenom primeru printf iza poziva funkcije prompt jednostavno ne radi! Da stvar bude još većma zapetljana, ako postoji nekoliko naredbi između poziva funkcija prompt i printf, sve će da radi kako treba. #include šta već treba int always_y=0; char prompt (char *message, char *answ) { char c, *p; if(always_y) return 'Y'; do { printf(message); c=getch(); printf("\n"); strcat(answ, "\r"); //ako je enter, vraća p=strchr(answ, c); //prvi znak iz *answ } while(!p); return (*p=='\r') ? *answ : toupper(*p); } main () { prompt("Ma nije valjda ??? [D/n] ", "dn"); printf("Pa to je strašno!\n"); //ovaj red suprotno očekivanjima } //ne ispisuje baš ništa !!! U čemu je problem ? :)
cccc.190 djelovic,
> Ima li neko pristojnu dokumentaciju za YACC, kao ASCII datoteku? Ono > što se dobija u BYACC.ZIP je krajnje nedovoljno, a pristup nekom UNIX > sistemu nemam. Zahvalan unapred. Poruka 7.51 u prethodnoj PC.PROG. Bulajo, moglo bi to u /IBMPC/C ili /IBMPC/INFO?
cccc.191 prvul,
Ů char prompt (char *message, char *answ) { Ů char c, *p; Ů if(always_y) Ů return 'Y'; Ů do { Ů printf(message); Ů c=getch(); Ů printf("\n"); Ů strcat(answ, "\r"); //ako je enter, vraća Ů ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Ů p=strchr(answ, c); //prvi znak iz *answ Ů } while(!p); Ů return (*p=='\r') ? *answ : toupper(*p); Ů } Ů main () { Ů prompt("Ma nije valjda ??? [D/n] ", "dn"); Ů ▄▄▄▄ Ů printf("Pa to je strašno!\n"); //ovaj red suprotno očekivanjima Ů } //ne ispisuje baš ništa !!! Ů U čemu je problem ? :) Ů▄▄ Pazi šta se desi: main prosledi funkciji prompt adresu onog stringa "dn". Taj string se nalazi upisan u segmentu podataka kao konstanta. Iza te konstante se nalazi sledeća konstanta, a to je baš "Pa to je...". U memoriji to izgleda vako: 'd','n',0,'P','a',' ',... uglavnom, funkcija prompt dobije kao parametar answ pointer na ono 'd'... podvučeni strcat dodaje na string answ string "\r"... strcat NE ZNA da odmah za njim sledi drugi string pa od memorije napravi sledeće: 'd','n','\n',0,'a',' ',... jer se string "dn" produži za jedan bajt. Sve izgleda ok, ali kada se pozove printf main prosledi adresu onog slova 'P' u stringu jer je kompajler to tako ukodirao nemajući pojma da je u međuvremenu baš na to mesto stavljeno 0, što je oznaka za kraj stringa, pa tako printf ništa ne ispiše. Ukratko, strcat i ostale funkcije koje mogu da produže string smeju se koristiti samo ako smo sigurni da je string predviđen da primi toliko znakova. Konstante sigurno ne spadaju u takve stringove :)
cccc.192 mjova,
> U čemu je problem ? :) problem je u sledeća tri reda: > char prompt (char *message, char *answ) { > strcat(answ, "\r"); //ako je enter, vraća > prompt("Ma nije valjda ??? [D/n] ", "dn"); zaravo, naizgled je sve super, ali to je samo naizgled ;) u fn prompt, parametar answ je zapravo samo niz koji je prosleđen iz main-a. ne možeš na taj niz lepiti svašta! dakle, u fn prompt moraš imati kopiju odgovora, pa na nju dodati ono što želiš. pokušaj da izbegneš strcat, već posebno reaguj ako je u pitanju enter (kao specijalan taster).
cccc.193 djelovic,
> char prompt (char *message, char *answ) š > ... > strcat(answ, "Đr"); //ako je enter, vraća > ... > main () š > > prompt("Ma nije valjda ??? ŠD/nĆ ", "dn"); Problem je u redu: strcat (answ, "Đr") U printf funkciji ti za answ u memoriji praktično odvajaš tri bajta - jedan za slovo d, jedan za slovo n, i nulu na kraju stringa. Kada na to dodaš "Đr", ti praktično upisuješ tu četri bajta (d, n, Đr, nula na kraju stringa), prepisujući sadržaj neke druge promenjljive koja dolazi iza answ. Još gore, pošto to radiš u petlji svakim prolaskom program produžuje string i brlja sve više i više.
cccc.194 janko,
> void problem(double *x) > š > *x=0; > ć > MSC6 smesta (double)0 u prostoru za global data. Prilikom > linkovanja, ova adresa (nule se promeni). Zna li neko > resenje? Nije mi jasno pitanje? Šta se tačno događa, i kada? Ako to znaš, onda znaš i rešenje. :) Ako ne uspeš da provališ, probaj da ostaviš program koji ume da da rezultat, kakav ne treba da da, pa da razmišljamo.
cccc.195 todorp,
> U cemu je problem ? :) Problem je u tome da nisi usao u TD:))) Stvar je tome sto si ti ovde zeznuo stvar :)) > strcat(answ, "\r"); Na nekom mestu u mem su naslagani razni stringovi za koje kompajler misli da se nece menjati zato sto nisi rezervisao mesto za njih prilikom deklaracije (nije varijabla). E sad, razni stringovi su odvojeni sa 0x00 sto je logicno. Ti kad si uradio append na adresi 'answ' (jer je to samo pointer na adresu gde je "dn") prebrisao si sledeci string koji treba da se stampa (e sad u tvom slucaju nisi obrisao vec samo prvi bajt gde ostao upisan 0x00 zato sto je C strpao tu \r i da zavrsi string lupio 0x00 bas tamo gde je tebi stajao pocetak stringa). E sad printf (koji je ustvari obicna funkcija 40) treba da odstampa prazan string jer mu je prvi karakter 0x00 i to onda preskoci. Al' ga objasnih, svaka mi se dala ;))) Resenje je da ubacis u prompt funkciju gde je char *p ,c jos npr. f[4] i posle pre strcat da uradis jedan strcpy(f,answ) i posle vozis dalje i zamenis ostatak answ u f. Pozdrav od Todora
cccc.196 bulaja,
Da li je neko koristio editor u TurboVision, D-Flat ili necem slicnom? Da li omogucavaju ubacivanje u tekst kontrolnih kodova (npr. za stampac), a da se oni ne vide vec da se tekst oboji drugom bojom? Treba mi bas editor, viewer nije nikakav problem napraviti. :)
cccc.197 vitez.koja,
#=> iza answ. Još gore, pošto to radiš u petlji svakim #=> prolaskom program produžuje string i brlja sve više i #=> više. Au, ovo nisam primetio :(((
cccc.198 i.a.n.,
>> Poruka 7.51 u prethodnoj PC.PROG. Skinuto, thanx. >> Bulajo, moglo bi to u /IBMPC/C ili /IBMPC/INFO? Moglo bi da se izbaci FLEXDOC.DOC jer se već nalazi u FLEX_EXE.ZIP. Kao i da se stvar prebaci iz Winword formata u čist ASCII.
cccc.199 mdimitrijevic,
Ima li neko bilo kakav sors u C-u koji se bavi testovima brzine procesora, hard diska, video memorijom i sl. Potrebna mi je tajmer rutina koja meri vreme u milisekundama i sl. Pozdrav, Marjan Dimitrijevic
cccc.200 i.sajic,
Zahvaljujem Janko na zainteresovanosti. Problem je vrlo jednostavan: nisam zeleo da vas opterecujem sa celom funkcijom za brzu Furijeovu transformaciju vec sam uspeo da izolujem problem. Dakle, kompilirajte funkciju void proba(double *x) { *x=0; } (nadam se da se kod vas vide viticaste zagrade) za Microsoft C-om (6.0) i napravite program void main(void) { double x; proba(&x); } koji cete kompilirati sa Turbo C-om (2.0) - treba napraviti mali .PRJ (projekt) fajl za TC i opaliti MAKE iz menija. Proverite vrednost varijable x posle izvrsenja funkcije proba (na primer dibagerom ugradjenim u TC). Mislite da ce biti x=0? Varate se, nece. Pitanje je ne toliko zasto NE, nego kako resiti problem....
cccc.201 djelovic,
> S obzirom na brzinu koda koji daje MSC6 i na SVGA.BGI drajver za TC, > pokusao sam da linkujem .OBJ module koje daju ovi kompajleri. Pošto vidim da si počeo da prozivaš ljude i po drugim konferencijama, čini se da nemam drugog izbora do da ti dogovorim :). 1. MSC i TC nisu kompatibilni na nivou izvornog koda, i graniči se sa nemogućim naterati ih (na nekom većem projektu) da zajedno rade. Njihove .OBJ datoteke nisu kompatibilne :(. 2. Ako imaš program jasno podeljen na dve celine, od koja se jedna bavi samo intidžerskom računicom (tj. ne zahteva biblioteke), onda taj deo za računanje možeš da prevedeš u .ASM kod (oba kompajlera imaju tu opciju), pa da ga u drugom kompajleru prevedeš dalje u .OBJ zajedno sa ostatkom koda.
cccc.202 djelovic,
> Ima li neko bilo kakav sors u C-u koji se bavi testovima brzine procesora, > hard diska, video memorijom i sl. Potrebna mi je tajmer rutina koja meri > vreme u milisekundama i sl. Imaš u C direktorijumu zbirku Snippets u okviru koje imaš tajming rutine.
cccc.203 vitez.koja,
Kako da određenu količinu bajtova ugradim u kod programa, a posle da im pristupam ? Npr. napravim jedan ovakav .obj : TSGPIC_TEXT SEGMENT word PUBLIC _TSGPIC _TSGPIC LABEL FAR db .......................... TSGPIC_TEXT ENDS END I to linkujem uz C program, gde ga dekalrišem kao: extern void *TSGPIC; I ne radi :((((((((((( Inače, C kompajliram u large modelu. Šta ne valja ? :(
cccc.204 janko,
> void proba(double *x) *x=0; > > za Microsoft C-om (6.0) i napravite program > > void main(void) > double x; > proba(&x); > > Proverite vrednost > varijable x posle izvrsenja funkcije proba (na primer > dibagerom ugradjenim u TC). Mislite da ce biti x=0? Varate > se, nece. Pitanje je ne toliko zasto NE, nego kako resiti > problem.... Po meni, kada se zna zašto, problem se lakše rešava. Tako je meni zanimljivije ZAŠTO. Ovo mi liči na one probleme sa neusklađenim prevođenjima. Očigledno, potencijalni problem je vezivanje koda generisanog različitim kompajlerima, i u različitim prevođenjima. Sličan problem je moguć već samo ako je funkcija proba prevedena za različiti memorijski model od glavnog programa, čak i istim kompajlerom. Npr. ako prevedemo main u LARGE modelu a fju proba u SMALL, i to linkujemo, rezultat u x-u može samo slučajno da bude 0. Dalje, ako ste i uspeli da prevedete za isti memorijski model, ostaje pitanje da li oba prevodioca generišu tzv. stek frejmove na isti način, što direktno utiče na rad funkcije sa njenim parametrima. (Verovatno neko od onih, koji čitaju ovu temu, to zna?) I, na kraju, ostaje poslednja mogućnost da bilo jedan bilo drugi prevodilac generišu neispravan kod, na određenom mestu, pod određenim uslovima. Da bismo do kraja rešili problem, predlažem vam da vi prevedete funkciju proba, onako kako ste to inače radili, i zakačite njen .OBJ za svoju sledeću poruku, i, usto, naglasite tačno sa kojim opcijama (koji memorijski model, pre svega) prevodite glavni program, da bih mogao da probam šta se događa. Ili, možete probati i sami -- probajte da prođete kroz gornji program Turbo Debugerom, na nivou asemblerskih instrukcija.
cccc.205 vision,
Hi. Imam jedno pitanje. Dali je bolje upotrebiti: ... char str[80]; ... ili ... char *str; str=malloc(80); ... Ko zna odgovor, molim neka ga i opravda :).
cccc.206 ppekovic,
>> char str[80]; >> ... >> >> ili >> >> ... >> char *str; >> str=malloc(80); U ovom slučaju koji si napisao uvek radije koristim prvu deklaraciju. Dakle, kada unapred znaš koliko bajtova treba da odvojiš onda više volim da koristim statičke deklaracije. Dinamičke alokacije se po pravilu koriste za slučajeve kada je raspon korišćene memorije jako veliki. Konkretno, ako nemaš pojma da li će ti za tvoju promenljivu trebati dva, hiljadu dva ili možda više bajtova. Tako, ako u nekoj promenljivoj duzina imaš duzinu koja je potrebna za alokaciju onda je najbolji (?) način: str=(char *)malloc(duzina) if(str==(char *)NULL) .... Dakle, ako unapred zasigurno znaš maksimalnu vrednost memorije koja ti je potrebna za neke podatke koristi statičke deklaracije. U ostalim slučajevima, dinamičke. Paya
cccc.207 i.a.n.,
>> Kako da određenu količinu bajtova ugradim u kod programa, a posle >> da im pristupam ? Npr. napravim jedan ovakav .obj : >> >> I to linkujem uz C program, gde ga dekalrišem kao: >> >> extern void *TSGPIC; >> ▀▀▀▀▀▀ >> >> I ne radi :((((((((((( Inače, C kompajliram u large modelu. >> >> Šta ne valja ? :( Deklaracija koju sam podvukao -- program smatra da se na TSGPIC nalazi far pokazivač, a ne niz bajtova koji ti treba. Deklariši extern char TSGPIC[]; i proradiće.
cccc.208 mdimitrijevic,
Hvala !!! Pogledacu pa cemo da vidimo. Pozdrav, Marjan Dimitrijevic
cccc.209 mdimitrijevic,
Kako da ovaj red u PASCAL-u prebacim u C. testinx2 je boolean funkcija testinx2:=(nw1=0) and (w1=msk); Pozdrav, Marjan Dimitirjevic P.S. Ovaj red je iz WHATVGA iz VGADOC2.
cccc.210 mdimitrijevic,
Red treba da bude : testinx2:=(nw1=0) and (nw2=msk); Smece na liniji sta cu.
cccc.211 asterix,
> testinx2:=(nw1=0) and (nw2=msk); Možda ovako ? testinx2=(((nw1=0)&&(nw2=2))? 0 : 1) U C-u ne postoje predefinisani logički tipovi. Nula se smatra istinom, dok sve-što-nije-nula neistina. Bar koliko ja znam ;)
cccc.212 spantic,
Update za MS C/C++ 7.0 1/3 Evo šta je: PATCH.TXT PATCH.TXT file for Microsoft(R) C/C++, Version 7.0 (C) Copyright Microsoft Corporation, 1992 Several problems in the original Microsoft C/C++ 7.0 release have been fixed. This document describes the fixes. =======================< WHAT HAS BEEN FIXED? >======================= The patch modifies the following components: LINK LIB IMPLIB PWB (including PWB.EXE and PWBUTILS.MXT) CV and CVW (including the DLLs) CVPACK TRACE TXTONLY.OBJ GRAPHICS.LIB Part 3 lists all the affected files. The following sections describe the fixes to each component. LINK (version 5.31.009) Fixes ----------------------------- - Fixups of MOVE overlays no longer incorrectly generate error L1101 ("invalid object module") if a thunk is targeted into the same overlay. - The linker no longer overflows internal tables if a large number of MOVE overlays are requested. - Data items defined as dw<?> are no longer incorrectly initialized to zero in the presence of overlapping virtual memory areas. - The linker is no longer prevented from generating correct "unresolved external" error messages if a program uses APPLOADER in the .DEF file. - The linker no longer creates an executable file that fills available hard disk space, an error that occured only when [1] two symbols in the same .OBJ file differed only in capitalization (for example, ExtraBytes and EXTRABYTES), [2] you linked with /CO and not with /NOI, and [3] the symbols were defined in an order that created a COMDEF record for the first one and a PUBDEF for the second. - The linker no longer incorrectly generates errors when linking MOVE overlays that include .OBJ files compiled with the /Gy (use Comdats) option. - The linker no longer incorrectly generates error L1035 ("error in module definition file) in cases where [1] a FUNCTIONS statement appeared first in the .DEF file, or [2] new PRIVATE or PRIVATELIB statements were added to a LIBRARY statement. - New warning L4059 has been added. It occurs if code contains far segment references to overlaid targets. These references are resolved correctly only if they are code references (not data references). - New warning L4087 has been added. It warns that the /DYNAMIC option disables /EXEPACK. The linker now ignores /EXEPACK for MOVE applications, preventing previous problems in executables linked with /DYNAMIC and /EXEPACK. LIB (version 3.20.010) Fixes ---------------------------- - LIB now correctly handles a symbol with more than 128 characters in its name. IMPLIB (version 1.40.005) Fixes ------------------------------- - IMPLIB now correctly handles a symbol with more than 128 characters in its name. PWB (version 2.1.49) Fixes -------------------------- - PWB no longer causes unexpected link errors when you try to build a project after trying to customize a project template. This condition occurred if you had tried to use the Customize Project Template dialog and all additional libraries were removed from the link options. - PWB no longer causes fatal error U1095 ("expanded command line too long") if you use the library template with a large number of OBJ files in a project file. - PWB's project mechanism no longer reports errors if PRELOAD, FIXED, DISCARDABLE or LOADONCALL appear in your .RC file. To take advantage of this fix, be sure to delete your existing PWB status file (CURRENT.STS) located in the directory specified by the INIT environment variable. CV and CVW (version 4.01) Fixes ------------------------------- - It is now possible to set a breakpoint inside the Windows kernel (particularly, USER.DLL and GDI.DLL). - It is now possible to set a breakpoint on a Windows API routine (for instance, GlobalAlloc). - CodeView no longer causes a UAE when loading user DLLS. - The CodeView user interface no longer causes UAEs. CVPACK (version 4.01) Fixes --------------------------- - CVPACK no longer prevents linking of certain executables containing .OBJ files with CodeView information generated by C 6.0 and C/C++ 7.0. TRACE (version 1.1) Fixes ------------------------- - TRACE /E now recognizes the executable CV format. TXTONLY.OBJ Fixes ----------------- - TXTONLY.OBJ no longer causes a link error when a program calls _clearscreen. (TXTONLY.OBJ is used to reduce the size of executables that use only text modes and do not change the pallette.) GRAPHICS.LIB Fixes ------------------ - The _outtext and _outmem functions now behave correctly in text mode on CGA systems. c7patch.arj
cccc.213 spantic,
Update za MS C/C++ 7.0 2/3
cccc.214 vitez.koja,
#=>>> extern void *TSGPIC; #=>>> ▀▀▀▀▀▀ #=> Deklaracija koju sam podvukao -- program smatra da se na #=> TSGPIC nalazi far pokazivač, a ne niz bajtova koji ti #=> treba. Deklariši #=> extern char TSGPIC[]; Nažalost ne radi, a koliko se ja razumem ove dve deklaracije su manje-više ekvivalentne; u oba slučaja TSGPIC je pointer, a na šta mene i ne zanima previše. I u oba slučaja podjednako ne radi.
cccc.215 vitez.koja,
#=> char str[80]; #=> ili #=> char *str; #=> str=malloc(80); Prvi način koristiš ako makar približno znaš koliko ti memorije treba. Ako ne znaš da li će trebati 2 bajta ili 20 Kbajt, koristiš drugi. Drugi koristiš i kada se radi o velikoj strukturi jer staticki podaci ne mogu da budu veći od 64k.
cccc.216 spantic,
Update za MS C/C++ 7.0 3/3 c7patch.a02
cccc.217 nikac,
NI> testinx2:=(nw1=0) and (w1=msk); Ko sto neko rece u c-u je 0 false a sve ostalo true. Stoga: testinx2=((nw1==0)&&(w1==msk)); Ovo vraca 1 ako je true ili 0 ako je false P.S. Neko je napisao nesto slicno ali je zaboravio na "=="...
cccc.218 mdimitrijevic,
Hvala za ovaj boolean testinx2 :))) Pozdrav, Marjan Dimitrijevic
cccc.219 spantic,
Update za MS C/C++ 7.0 2/3 c7patch.a01
cccc.220 asterix,
> testinx2=(((nw1=0)&&(nw2=2))? 0 : 1) > > Bar koliko ja znam ;) Izgleda da ne znam :)) Treba '==' umesto '=' a istinost je obrnuta od one koju sam naveo.
cccc.221 peca.st,
!-> testinx2=(((nw1=0)&&(nw2=2))? 0 : 1) Ne može bre ovako, "=" je naredba dodele, a "==" je ispitivanje jednakosti. U pascalu je "=" ispitivanje, a ":=" dodela. !-> Nula se smatra istinom, dok !-> sve-što-nije-nula neistina. Obrnuto. Peđa.
cccc.222 miljko,
>­ PUBLIC _TSGPIC >­ >­ _TSGPIC LABEL FAR >­ db .......................... Koliko se ja razumem u te stvari ti si u C-u TSGPIC dekl. kao extern void* , a to znaci da je to varijabla koja zauzima 2 ili 4 bajta. Medjutim ono što si definisao u asembleru je SIMBOL, a ne varijabla, dakle nisi alocirao memoriju za njega i tu nastaje problem.
cccc.223 i.a.n.,
>># => treba. Deklariši >> >># => extern char TSGPIC[]; >> >> Nažalost ne radi, a koliko se ja razumem ove dve deklaracije su >> manje-više ekvivalentne; u oba slučaja TSGPIC je pointer, a na šta >> mene i ne zanima previše. I u oba slučaja podjednako ne radi. žudno... U datoteci koju šaljem nalazi se programčić koji radi ono što ti (valjda) treba. .ASM sam direktno preuzeo iz tvoje poruke, a .C koristi deklaraciju koju sam naveo. .MAK pretpostavlja BC++ i TASM. bl.zip
cccc.224 i.a.n.,
>> NI> testinx2:=(nw1=0) and (w1=msk); >> Ko sto neko rece u c-u je 0 false a sve ostalo true. Stoga: >> testinx2=((nw1==0)&&(w1==msk)); Ili, ako ćemo baš da teramo do kraja testinx2 = !nw1 && nw2 == msk; :)
cccc.226 stosic,
Treba mi sors u MSC-u za rad sa COM portovima zasnovan na koriscenju prekida. Svaka pomoc je dobrodosla. Pozdrav, Boban
cccc.227 dejanr,
>> Treba mi sors u MSC-u za rad sa COM portovima zasnovan na koriscenju >> prekida. Svaka pomoc je dobrodosla. Probaj sa fajlom r057com.zip iz direktorijuma RSOFT - to su primeri uz tekst Zorana čivotića iz "Računara 57" koji se baš time bavio.
cccc.228 vitez.koja,
#=> žudno... U datoteci koju šaljem nalazi se programčić #=> koji radi ono što Hvala, radi :) Međutim, primetio sam nešto što se kosi sa mojim dosadašnjim ubeđenjima. Naime, char *var; i char var[]; ne znače isto ?! U primeru uz poruku sve radi ako se stavi var[], ali ako se stavi *var jednostavno ne funkcioniše ? I to nije sve. Jer, meni ne treba niz bajtova odande, već samo pointer na tu adresu (i void* je dovoljan). Ipak, char* daje neku levu adresu, a char[] radi kako valja. Zašto ??
cccc.229 mjova,
> Kako da određenu količinu bajtova ugradim u kod programa, > a posle da im pristupam ? Npr. napravim jedan ovakav .obj prvo o pisanju poruka: znakovi interpunkcije se pišu uz onu reč na koju se odnose. to znači da se otvoreni navodi pišu uz sledeću reč, a zatvoreni uz perthodnu. dalje, znakovi .,:;? itd se pišu uz prethodnu reč. dalje, što se tiče postavljenog pitanja vezanog za linkovanje C & ASM odgovor bi bio ovakav: u asm treba navedeš ime laele, da je proglasiš PUBLIC da bi joj se moglo pristupati, a onda je još deklarišeš u nekom zaglavlju (ili tamo gde ti treba). evo primera: --- ASM ---------------- locals .model large .data _Drive db ? PUBLIC _Drive ; obrati pažnju na _ extrn _FAT:DWORD .code public c GetDPB GetDPB proc c returns dpb:dword arg drive:byte ..... GetDPB endp --- H ------------------ typedef unsigned char byte; typedef unsigned word; typedef unsigned long dword; extern byte Drive; void far *GetDPB(byte drive); --- C ------------------ byte huge *FAT= NULL;
cccc.230 mjova,
> char str[80]; > str=malloc(80); ako se radi o običnoj funkciji onda bih izabrao prvi način. tako se promenljiva kreira na steku i to (za tu veličinu) nije bolno, ali ako se radi o rekurziji onda treba primeniti drugi metod. drugi metod ima manu ako se često obavlja, a oslobađanje ne ide redom kako je memorija alocirana. to može dovesti do fragmentacije memorije, tako da i pored felike količine slobodne memroije fizički nema mesta gde da se alocira veći niz. predlažem ti da nizove veće od 1k alociraš sa maloc, a one manje statičkom alokacijom.
cccc.231 i.a.n.,
>> Međutim, primetio sam nešto što se kosi sa mojim dosadašnjim >> ubeđenjima. Naime, >> >> char *var; i char var[]; >> >> ne znače isto ?! Ne znače. Zabuna nastaje zbog toga što C omogućava da se naziv niza koristi kao sinonim za adresu njegovog prvog člana. Međutim, naziv niza *nije* promenljiva. Zato, ako imaš char var[]; nikad ti neće uspeti dodela vrednosti, recimo var = NULL; Kompajler će na ovo izjaviti "Lvalue required..." ili nešto slično. >> I to nije sve. Jer, meni ne treba niz bajtova odande, već samo >> pointer na tu adresu (i void* je dovoljan). Ipak, char* daje neku >> levu adresu, a char[] radi Kada u programu napišeš "extern char var[]", time kažeš kompajleru da je "var" oznaka za adresu prvog člana nekog niza koji se definiše u drugom modulu, znači upravo ono što ti je potrebno. Nasuprot tome, "extern char *var" označava *promenljivu*, četiri bajta dugačku, kojoj se može dodeljivati vrednost. Proteraj moj primer kroz dibager, s tim da deklarišeš "extern char *TSGPIC". U asemblerskom kodu se na toj labeli nalazi string "Radi", znači hex vrednosti 52 61 64 69. Pogledaj vrednost promenljive TSGPIC i videćeš da je to 6964:6152. Ono što zapravo postižeš deklaracijom "char *" je jedno dereferenciranje viška, koje će te, naravno, odvesti na neku besmislenu adresu.
cccc.232 paki,
­> prvo o pisanju poruka: znakovi interpunkcije se pišu uz onu reč na Takođe, u porukama postoje i velika slova.
cccc.234 bulaja,
│PATCH.TXT file for Microsoft(R) C/C++, Version 7.0 └─── Hvala, prebaceno je u C direktorijum.
cccc.235 vitez.koja,
#=> evo primera: Hvala :) #=> prvo o pisanju poruka: znakovi interpunkcije se pišu uz #=> onu reč na koju se odnose. to znači da se otvoreni #=> navodi pišu uz sledeću reč, a zatvoreni uz perthodnu. #=> dalje, znakovi .,:;? itd se pišu uz prethodnu reč. Nisam shvatio zašto mi držiš slovo o pisanju poruka (moj poruke poštuju "tvoja" pravila), ali hvala ti i na tome ;)
cccc.236 vision,
Zamolio bih ZZivotica da napravi jednu malu funkcijicu za program lcomm.asm (r057com.zip) koji bi trebao da vidi dali se znak 'X' nalazi na ulaznom bufferu modema. P.S. Neznam ASM, pa bih molio ZZ-a (ili nekog drugog:), da napravi istu funkciju koja bi mogla da se zove iz C-a. Hvala unapred.
cccc.237 vision,
Hi. Hoce li neko napisati 'petlju' (programcic) za simuliranje komande dir /s (DOS komande). Program bi trebao da pretrazuje sve poddirektorije. Uspeo sam da napravim do prvog sledecog direktorija, ali dalje nisam imao nerva. Unapred hvala
cccc.238 stosic,
>> Treba mi sors u MSC-u za rad sa COM portovima zasnovan na koriscenju >> prekida. Svaka pomoc je dobrodosla. > > Probaj sa fajlom r057com.zip iz direktorijuma RSOFT - to su primeri uz > tekst Zorana Zivotica iz "Racunara 57" koji se bas time bavio. Zoran je dao lcomm.asm, a meni je potreban MSC kod.
cccc.239 janko,
> Hi. Hoce li neko napisati 'petlju' (programcic) za > simuliranje komande dir /s (DOS komande). Program bi > trebao da pretrazuje sve poddirektorije. Uspeo sam da > napravim do prvog sledecog direktorija, ali dalje nisam > imao nerva. Fora je da napraviš REKURZIVNU proceduru, i ima da radi. Bez prave rekurzije, opet se takve procedure, efektivno, svode na simulaciju rekurzije. Ako ne znaš šta su rekurzije, probaj da malo nađeš neke knjige na temu ozbiljnog programiranja... Evo idejnog rešenja, ovako, napamet... hope I didn't lose my touch :) ----- obradi_dir( imedir ) ( cd( imedir ); ispisi_sve_obicne_fajlove(); for (svaki_poddirektorijum) obradi_dir(); )
cccc.240 ppekovic,
>> Hi. Hoce li neko napisati 'petlju' (programcic) za simuliranje komande >> dir /s (DOS komande). Program bi trebao da pretrazuje sve poddirektorije. >> Uspeo sam da napravim do prvog sledecog direktorija, ali dalje nisam imao >> nerva. Uz poruku ti je program pcd u kojem imaš primer rekurzivnog prolaska kroz direktorijume. Paya pcd101.zip
cccc.241 mjova,
> Hi. Hoce li neko napisati 'petlju' (programcic) za > simuliranje komande dir /s (DOS komande). Program bi > trebao da pretrazuje sve poddirektorije. pogledaj scd???.arj. mislim da je u util diru.
cccc.242 dejanr,
>> > Probaj sa fajlom r057com.zip iz direktorijuma RSOFT - to su primeri uz >> > tekst Zorana Zivotica iz "Racunara 57" koji se bas time bavio. >> >> Zoran je dao lcomm.asm, a meni je potreban MSC kod. LCOMM se može linkovati sa C-om. Ako ti treba baš C source, bojim se da ga po direktorijumima nema (ne znam jesi li pogledao PCL4C34 u direktorijumu C, zvuči da ima veze sa komunikacijama). Takođe možda vredi pogledati C source nekog zmodem-a, ima u dir-u.
cccc.243 vision,
Hvala svima (janko, ppekovic, mjova) na lekciji o rekurziji, bas je bilo zanimljivo, jos kada bi ste napravili funkciju u vezi LCOMM-a ...
cccc.244 dcolak,
│ LCOMM se može linkovati sa C-om. Ako ti treba baš C source, bojim se da │ ga po direktorijumima nema (ne znam jesi li pogledao PCL4C34 u │ direktorijumu C, zvuči da ima veze sa komunikacijama). Takođe možda vredi │ pogledati C source nekog zmodem-a, ima u dir-u. Hm... Sve preporuke za korišćenje PCL4C.... Imam pitanje za ZZivotica... Koju biblioteku ti koristiš? Sledge DAMMIR!
cccc.245 pedjak,
> Zoran je dao lcomm.asm, a meni je potreban MSC kod. Teško da ćeš efikasne osnovne rutine za komunikaciju napisati u nekom višem programskom jeziku. Zato ti ja ipak preporučujem da se osnova napiše u asembleru, a ostatak rutina uradi u C-u. Lcomm biblioteka uglavnom zadovoljava, potrebno ti je možda još samo par rutina.
cccc.246 stosic,
> Ako ti treba bas C source U tome je i problem! > jesi li pogledao PCL4C34 u direktorijumu Nema (nije bilo?) sorsa. I kada ga ima uvek (?) je Borland-ov. Da li je veliki problem da se to uradi i u MSC-u? Ako neko ima ideju neka se javi.
cccc.247 stosic,
> Tesko da ces efikasne osnovne rutine za komunikaciju napisati u > nekom visem programskom jeziku. Zato ti ja ipak preporucujem da se Da je lako ne bih ni pitao :) Mozda, ipak, neko to zna (zz) ?
cccc.248 vitez.koja,
#=> Zoran je dao lcomm.asm, a meni je potreban MSC kod. Još i okrunjeno ? :>
cccc.249 mjova,
> Treba mi sors u MSC-u za rad sa COM portovima zasnovan na > koriscenju prekida. Svaka pomoc je dobrodosla. u snip????.??? na sezamu, imaš SERIAL.C (mislim da se baš tako zove) koji je pisan skroz u Cu i radi super! probao sam ga svojevremeno. podržava baferisan rad sa portovima itd. osnova za komunikacije i malo više od toga!
cccc.250 niklaus,
(:> Evo idejnog rešenja, ovako, napamet... hope I didn't lose my (:> touch :) Pre bi se reklo: "... haven't lost my touch :)" (:> obradi_dir( imedir ) (:> ( <--- (:> cd( imedir ); (:> ispisi_sve_obicne_fajlove(); (:> for (svaki_poddirektorijum) (:> obradi_dir(); (:> ) <--- Možda i jesi. (; Trebalo je sa vitičastim zagradama, ili si ti namerno, zbog nas jadnih YUSCIIevaca. (: (:niklaus:)
cccc.251 dcolak,
│ Da li je veliki problem da se to uradi i u MSC-u? │ Ako neko ima ideju neka se javi. Ne razumem zašto ne koristiš PCL4C biblioteku? I ja koristim MSC6 i za mene je savršena biblioteka. BTW, užasno me nervira onaj ekran o neregistrovanju, ali šta ću, nema se za register... Sledge DAMMIR!
cccc.252 pedjak,
> Da li je veliki problem da se to uradi i u MSC-u? Zašto baš mora da bude u C-u ? Šta fali da se upotrebi asembler ?
cccc.253 vitez.koja,
#=> i za mene je savršena biblioteka. BTW, užasno me nervira #=> onaj ekran o neregistrovanju, ali šta ću, nema se za #=> register... Pa dibager u ruke... Trebalo mi je deset minuta da ukinem dosadne šarevare poruke iz OpenDoors biblioteke, ne verujem da je ova nešto mnogo "opasnija".
cccc.254 janko,
> (:> Evo idejnog rešenja, ovako, napamet... hope I didn't > lose my (:> touch :) > > Pre bi se reklo: "... haven't lost my touch :)" Koliko se razumem, i jedno i drugo je ispravno. > (:> obradi_dir( imedir ) > (:> ( <--- > (:> cd( imedir ); > (:> ) <--- > > Možda i jesi. (; Trebalo je sa vitičastim zagradama, > ili si ti namerno, zbog nas jadnih YUSCIIevaca. (: Sad si me konačno raskrinkao -- pošto ne znam gde se stavljaju vitičaste zagrade, definitivno ne znam C te se ovde javljam samo da bih širio laž, propagandu i dezinformacije i sprovodio ostale neprijateljske aktivnosti zbunjivanja. Sada, bez šale, ako nisi provalio da je tih pet-šest linija bilo prikaz algoritma, a ne C program, onda stvarno... Inače, naravno da mislim na one sa Juski rasporedom -- jer mislim i na sebe. :) A samo za tebe, evo ti malo zagradica koje se ne vide: ;) šŠ () Ćć
cccc.255 niklaus,
(:> Inače, naravno da mislim na one sa Juski rasporedom -- jer (:> mislim i na sebe. :) A samo za tebe, evo ti malo zagradica (:> koje se ne vide: ;) šŠ () Ćć Hvala! Uveče za dobar san, dobar san Ujutro za dobar dan, dobar dan... (zvuči poznato - Kraš Express) (:niklaus:)
cccc.256 dcolak,
│ Pa dibager u ruke... Trebalo mi je deset minuta da ukinem dosadne šarevare │ poruke iz OpenDoors biblioteke, ne verujem da je ova nešto mnogo Xexe.. Probao ja, ali bi do*určilo i batalio sam... So, da te vidim junače :-) Uzmi TD i PCL4C small model (za početak) pa da vidimo .... :-) Sledge DAMMIR!
cccc.257 stosic,
>Ne razumem zasto ne koristis PCL4C biblioteku? Koristim je i ja. Interesovalo me je samo kako se to moze realizovati u MSC-u. Video sam neke primere u BC-u, pa se pitam ...
cccc.258 mirijevac,
Ima li neko mozda napisan programcic koji cita stanje sa COM porta i pise ga u fajl.Zao mi je sto neznam C, pa za takvu stvar moram da trazim pomoc. :(( pozdrav Rade
cccc.259 dragisha,
-> Teško da ćeš efikasne osnovne rutine za komunikaciju napisati u -> nekom višem programskom jeziku. Zato ti ja ipak preporučujem da se -> osnova napiše u asembleru, a ostatak rutina uradi u C-u. Lcomm -> biblioteka uglavnom zadovoljava, potrebno ti je možda još samo par -> rutina. Mislim da je ovo jedna od zabluda 'komunikacionog programiranja':). Imam instalacije na kojima neki programi 'uslužuju' istovremeno više portova. Sve je implementirano u (jednom:) višem programskom jeziku i radi već duže vrijeme (>1/2 godine) bez problema. Usko grlo je sam UART, a dobro urađene interrupt rutine sa dovoljno velikim baferom završavaju sve ostalo.
cccc.260 .bale.,
> Ima li neko mozda napisan programcic koji cita stanje sa COM porta i > pise ga u fajl.Zao mi je sto neznam C, pa za takvu stvar moram da > trazim pomoc. :(( Ima toga, ali tesko da ces ga dobiti besplatno... Mail me da vidimo o cemu se radi.
cccc.262 kzoran,
HI! Sta da radim sa MSC/C++ 7.0, odnosno PWB-om: odbija da radi sa 386MAX v6.0 i QEMM386 v6.03 uz QDPMI v1.1. Editor ocigledno ne koristi (sve?) prednosti DPMI, jer tek kad startujem Build project, PWB javi: QDPMI: Init Error run-time error R6903 - DOSX32 : DPMI host does not have 32-bit interrupt extension NMAKE : fatal error U1077: 'CL' : return code '255' Stop. Kako ovo da resim? Pozdrav, kzoran Stop.
cccc.263 dejanr,
Uz poruku su Borlandovi propagandni materijali posvećeni novoj verziji (4.0) njihovog C++-a. Puno ime je "Borland C++ 4.0 for DOS, Windows, and Windows NT". Evo par rečenica sa početka saopštenja za štampu: >> Borland C++ 4.0 is the world's most powerful, productive, customizable, >> and visual C and C++ programming environment for DOS, Windows, and >> Windows NT. Within its enhanced Integrated Development Environment, >> you'll find the most complete and advanced tool set ever assembled. >> >> The new IDE lets you change almost anything to make it work the way you >> do. Fast. C++ programming has never been this easy. U istoj arhivi je još jedan tekst, takođe Borlandovo delo - pitanja i odgovori o novom C-u bc40.zip
cccc.264 haevorn,
Treba mi nekakav potprogram napisan u C-u (naravno) kojim se moze pristupiti EXPANDED-memoriji. Znam da su Racunari svojevremeno o tome pisali, ali sada taj broj ne mogu da nadjem. Kratko uputstvo bilo bi jos vrednije od samog (pot)programa....
cccc.265 zsiz,
> Treba mi nekakav potprogram napisan u C-u (naravno) kojim se moze pristupiti > EXPANDED-memoriji. Znam da su Racunari svojevremeno o tome pisali, ali sada R:ĐRSOFTĐ*.* ---------------------- r060ems zip 3012 Rad sa EMS memorijom Pozdrav.
cccc.266 pedjak,
> Treba mi nekakav potprogram napisan u C-u (naravno) kojim se moze > pristupiti EXPANDED-memoriji. Znam da su Racunari svojevremeno o > tome pisali, ali sada taj broj ne mogu da nadjem. Kratko uputstvo > bilo bi jos vrednije od samog (pot)programa.... Imaš sors u rsoft diru.
cccc.267 dr.obradovic,
Da li neko zna kako da na jako lak nacin (ako uopste postoji) nateram procedure fread i fwrite da rade sa far pointerima u medium modelu ? Molim vas da mi ne saljete odgovore u stilu - predji na large model, ili jos gore - napravi proceduru koja radi sa malloc-om i prebacuje podatke u far. Znaci, treba mi DIREKTNO u far ! cu Dragoljub B. Obradovic
cccc.269 kzoran,
Pre vise od nedelju dana u konferenciji PC.PROG ostavio sam poruku na koju dosad niko nije odgovorio, a posto problem još nisam rešio, prinuđen sam da je ponovim. Nabavio sam MSC/C++ 7.0, koji ne mogu da koristim u PWB sredini. Ustvari, jedino u editoru mogu da radim normalno - čim pokrenem NMAKE, PWB me obavestava o sledećem: QDPMI: Insufficient extended memory available for initialization. Requires: 136K -- Available: 4K QDPMI: Init Error run-time error R6903 - DOSX32 : DPMI host does not have 32-bit interrupt extension NMAKE : fatal error U1077: 'CL' : return code '255' Stop. Pokušao sam sa 386MAX 6.x i QEMM386 6.03 uz QDPMI 1.01 - rezultati su isti. Najviše me čudi to što sam MS preporučuje 386MAX kao rešenje kompatibilno DPMI u Windows-u, kao i to što Quarterdeck u svom QDPMI tvrdi da MSC/C++ 7.0 i Borland C++ 3.1 rade pod QDPMI 1.01. Prvi deo poruke (o nedovoljno extended memorije) sam i uspeo da izbegnem postavljanjem QDPMI switch-eva i podešavanjem sistemske varijable, ali grešku R6903 - nikako. Jedino što sam isključivanjem EMS memorije i postav- ljanjem MINMEM i MAXMEM na iste vrednosti uspeo da saznam da DPMI nema čak ni '16-bit interrupt extension' (DOSX16), pa sam odustao od daljeg podešavanja QDPMI. I kad sam se već pomirio sa tim da je jedino rešenje Windows 3.1 ('o, bože, čime sam zaslužio tako strašnu sudbinu ?!'), pokrenem PWB a zatim i NMAKE pod ovom omraženom mi udovicom, i ovog puta gotovo uskliknem od sreće - opet greška R6903! U svom oduševljenju startujem, naravno, DM iz PC TOOLS-a, pa pritisnem F6 pozicioniran na Windows direktorijum, ali sam time rešio samo jedan problem. Drugi (tj. prvi) i dalje ostaje. Pozivanje cl.bat sa komandne linije ostaje upotrebljivo rešenje, ali sam hteo da se najzad rešim gomile switch-eva i beskrajnog prepravljanja makefile datoteke u toku razvoju programa, pogotovo što PWB mnogo živahnije radi u novoj verziji. Je li neko imao sličnih problema, i zna li kako da ih ja rešim? Odgovor mi treba prilično brzo, jer i inače već razmišljam o prelasku na BC++. Radim na 486SX/33 mašini sa 4M RAM-a, TSENG ET 4000 video kartom i IDE QUANTUM diskom. Na računar su povezani još miš i modem, ako to ima neke veze, a evo i sadržaja config.sys i autoexec.bat fajlova: CONFIG.SYS ---------- device=c:ĐqemmĐqemm386.sys r:1 ram st:m device=c:ĐqemmĐloadhi.sys /r:1 c:ĐqemmĐqdpmi.sys vm killswap dos=high break=on buffers=10 files=40 stacks=9,256 device=c:ĐqemmĐloadhi.sys /r:1 c:ĐdosĐsetver.exe device=c:ĐqemmĐloadhi.sys /r:2 c:Đmouse.sys /y shell=c:ĐdosĐcommand.com c:ĐdosĐ /p /e:512 country=033,,c:ĐdosĐcountry.sys AUTOEXEC.BAT ------------ čecho off path c:Đ;c:Đdos;c:Đqemm;d:Đ;d:Đpct;d:Đutil;d:ĐutilĐedit;d:ĐutilĐarch;d:Đtelix c:ĐqemmĐloadhi /r:1 c:ĐdosĐappend /e c:ĐdosĐappend c:Đdos;c:Đdisplay prompt $p$g c:ĐdosĐmode con: rate=32 delay=1 c:ĐqemmĐloadhi /r:1 c:ĐdosĐdoskey ver set pctools=d:ĐpctĐdata set qdpmi=swapfile c:ĐqemmĐqdpmi.swp 1024 d: Unapred hvala svima! kzoran
cccc.270 stosic,
... This file contains LLIBCA.LIB of the MS-C 5.1 Compiler, which works fine with C (also when using MS-C 6.0). If you are using MS-C 6.0 please make sure to use the /FPa /Gh AND don't use /Zi. Please pay attention to the file LLIBCA.TXT, which contains the original disclaimer of MicroSoft. ... Sta radi /Gh ???
cccc.271 mjova,
c, asm, int 8, 9, keep and reboot comp tsr boot.arj
cccc.272 mjova,
c, ctrl-c & ctrl-brk ctrl-c.arj
cccc.273 mjova,
c, bgi, gray.arj
cccc.274 mjova,
c, print image na štampač grdump.arj
cccc.275 mjova,
c, koliko ima mesta na far heap-u heapsize.arj
cccc.276 mjova,
c, grafički meni, primer hilite.arj
cccc.277 mjova,
c, kako radi int 9 int9keep.arj
cccc.278 mjova,
c, rezidentni sat int_1c.arj
cccc.279 mjova,
c, strpa slova u kbd buf kbstuff.arj
cccc.280 mjova,
c, isključivanje ctrl-alt-delete nocad.arj
cccc.281 mjova,
c, primer za vararg vararg.arj
cccc.282 mjova,
beše to skup zanimljivih primera ;)
cccc.283 nesa,
Šaljem ovu rutinu u MSC, koja čita i/ili postavlja atribute POSTOJEĆEM fajlu! Iz Clipper-a se poziva sa (npr.): cdos_setfi("file.ext", _A_HIDDEN + _A_RDONLY) Nevolja je što sa C kompajlerom iz verzije 6.0 nakon ove kobasice: CL fileattr.c /c/AL/Gs/Zl/FPa -link /NOE/se:512 dobijam poruku: Command line error D2002:Conflict in memory model ili tako nešto. Svi parametri su po pravilima za povezivanje C sa Clipperom (po Rick Spenc-u). žuo sam da je razlog to što nemam C verziju 5.1! Ovo mi je potrebno hitno. UKOLIKO ima dobrih duša koje će ovo uspešno prevesti i povezati i poslati .OBJ fajl (uz dodatna obaveštenja gde da nadjem C5.1)! Evo i programa: /*** * Dobijanje i definisanje atributa datoteke */ #include "extend.h" #include "dos.h" /*** * BROJNI cdos_getfi(path, attribute) * * ZNAKOVNI path Puna putanja * BROJNI *attributes Broj za smestanje atributa. * Mora biti prenet preko reference. * * Odredjivanje atributa datoteke ili direktorijuma. Atributi su u * attribute (mora biti prenet preko reference). Rezultat funkcije * je 0 ako je ok, u suprotnom je broj greske. */ CLIPPER cdos_getfi() { unsigned attributes, errcode; /* Poziv funkcije iz biblioteke */ errcode = _dos_getfileattr(_parc(1), &attributes); /* Smestanje atributa u parametar prenet preko reference */ _storni(attributes, 2); /* Vracanje kôda greske u Clipper */ _retni(errcode); } /*** * BROJNI cdos_setfi(path, attribute) * * ZNAKOVNI path Puna putanja * BROJNI attribute Novi atributi * * Definise atribute datoteke ili direktorijuma. * Vraca 0 ako je ok, u suprotnom je broj greske.*/ CLIPPER cdos_setfi() { _retni(_dos_setfileattr(_parc(1), _parni(2))); } hederi.zip
cccc.285 peca.st,
Da li je neko uspeo da kompajlira, odnosno upotrebi onaj giflib12.axx iz direktorijuma? Stalno mi prijavljuje grešku (prilikom pravljenja .lib) Command line too long ili nešto slično. Tamo piše da treba staviti što kraća imena direktorijuma, baš zbog toga. Ja sam stavio najkraće - jedno slovo, ali opet isto. :( Dakle, da li neko ima napravljene .lib? Peđa.
cccc.286 ilazarevic,
Imam problem. Evo prvo sorsa, a posle ide pitanje: int i=0; char l[80]; do { i++; l[i]=getchar(); } while (l[i]!="\n"); Ovo ispada da je beskonacna petlja, jer i posle pritiska na Enter nastavlja se unos znakova. Sta ne valja? Sem toga, kad negde kasnije u programu pokusam da uradim ovo: if (l[i]=="x") ... kompajler prijavljuje sledece upozorenje: Nonportable pointer conversion in function main.
cccc.287 eagle,
> while (lŠiĆ!="Đn"); > > Ovo ispada da je beskonacna petlja, jer i posle pritiska na > Enter nastavlja se unos znakova. Sta ne valja? Stavi 'Đn', dvostruki navodnik je za string.
cccc.288 vita,
> if (lŠiĆ=="x") ... kompajler prijavljuje sledece ### I ovde takođe..... treba 'x' sobzirom da je l char tipa. Vita
cccc.289 baranja,
Koristim Borland-ov Turbo C++ 1.0, zanima me kako da podesim parametre za čitanje signala sa RS-232. Signali su: brzine 1200 bauda, 1 startni bit, 8 informacijskih bita, bez kontrole parnosti. Za isčitavanje serijskog porta sam koristio naredbu /ulaz=inportb(0x3f8/ i radi dobro sa default vrednostima prema drugom računaru. Pomagajte, hitno je! Pozdrav!
cccc.290 ilazarevic,
> Stavi 'Đn', dvostruki navodnik je za string. Hvala i tebi i Viti. Reklo bi se da je ovo uzrok i onog upozorenja.
cccc.291 madamov,
> while (l[i]!="\n"); Umesto ovog treba da stoji while(l[i]!='\n') ili while(l[i]!="\\n"). BTW, prvi karakter u stringu l, tj. l[0] ti je uvek nedefinisan jer ga jednostavno preskočiš. > if (l[i]=="x") ... kompajler prijavljuje sledece upozorenje: I ovo iz istog razloga kao i gore, dakle umesto navodnika treba da stoji '.
cccc.292 dgrbic,
Narode, pozdrav iz Moskve! Potrebna mi je pomoc u izboru C kompajlera. Ako neko zna nesto o Zortech C++ 3.1, a pre svega ako negde postoje testovi brzine (posebno u odnosu na BC++ 3.1) bio bih mu jako zahvalan da mi to mailne. Potrebno mi je da kupim kompajler koji daje sto je moguce brzi kod, a Zortech i Borland mi i po ceni veoma odgovaraju, pa me stoga zanima koji je od ova dva bolji. E, da me ne bi pitali koje su cene, da odma kazem: BC++ 3.1 & AF oko 120 USD BC++ 3.1 (bez AF) oko 80 USD ZC++ 3.1 oko 60 USD Pretpostavljam da je BC brzi, ali ne bih da se zalecem, posebno posto su mi porebne malko specificne svari (386 kod, brz rad sa nizovima i sa long intovima...) Ponovo da napomenem, odgovore mi pliz saljite na mail, jer ne mogu da skidam conf., mnogo je skupo :) Pozvacu opet za dva dana, pa bih bio vrlo zahvalan ako mi do tada neko posalje neke informacije.
cccc.293 dekiper,
> Koristim Borland-ov Turbo C++ 1.0, zanima me kako da podesim > parametre za čitanje signala sa RS-232. Signali su: > brzine 1200 bauda, 1 startni bit, 8 informacijskih bita, > bez kontrole parnosti. > Za isčitavanje serijskog porta sam koristio naredbu /ulaz=inportb(0x3f8/ > i radi dobro sa default vrednostima prema drugom računaru. > > Pomagajte, hitno je! Zašto ne pokušaš sa bioscom. Function: Performs serial I/O Syntax: int bioscom(int cmd, char abyte, int port); Prototype in: bios.h Remarks: bioscom performs various RS-232 communications pver the I/O port given in port. A port value of 0 corresponds to COM1, 1 corresponds to COM2, and so forth. The value of cmd can be one of the following: 0 Sets the communications parameters to the value in abyte. 1 Sends the caracter in abyte out over the communications line. 2 Receives character from the communications line. 3 Returns the current status of the communications port. abyte is a combination of the following bits (one value is selected from each of the groups): 0x02 7 data bits 0x03 8 data bits 0x00 1 stop bit 0x04 2 stop bits 0x00 No parity 0x08 Odd parity 0x18 Even parity 0x00 110 baud 0x20 150 baud 0x40 300 baud 0x60 600 baud 0x80 1200 baud 0xA0 2400 baud 0xC0 4800 baud 0xE0 9600 baud For example, a value of 0xEB (0xE0 đ 0x08 đ 0x00 đ 0x03) for abyte sets the communications port to 9600 baud, odd parity, 1 stop bit, and 8 data bits. bioscom uses the BIOS 0x14 interrupt. Za tebe je dakle vrednost: 0x03 đ 0x00 đ 0x80 đ 0x00 Return value: For all values of cmd, bioscom returns a 16-bit integer of which the upper 8 bits are status bits and the lower 8 bits vary, depending on the value of cmd. The upper bits of the return value are defined as follows: Bit 15 Time out Bit 14 Transmit shift register empty Bit 13 Transmit holding register empty Bit 12 Break detect Bit 11 Framing error Bit 10 Parity error Bit 9 Overrun error Bit 8 Data ready If the abyte value could not be sent, bit 15 is set. Otherwise, the remaining upper and lower bits are appropriately set. With a cmd value of 2, the byte read is in the lower bits of the return if there was no error. If an error occured, at least one of the upper bits are set. If no upper bits are set, the bytes were received without error. With a cmd value of 0 or 3, the return value has the upper bits se as defined, and the lower bits are define as follows: Bit 7 Received line signal detect Bit 6 Ring indicator Bit 5 Data set ready Bit 4 Clear to send Bit 3 Change in receive line signal detector Bit 2 Trailing edge ring detector Bit 1 Change in data set ready Bit 0 Change in clear to send Protability: bioscom works with IBM PCs and compatibles only. Example: /* bioscom example - Dumb Terminal Demo */ #include <bios.h> #include <conio.h> #define COM1 0 #define DATA_READY 0x100 /* 1200 baud-a, 8 bitova, 1 stopbit, nema pariteta */ #define SETTINGS (0x80 đ 0x03 đ 0x00 đ 0x00) main() š register int in, out, status; bioscom(0,SETTINGS,COM1); cprintf("...BIOSCOM ŠESCĆ to exit...Đn"); while(1) /* beskonačna petlja */ š status = bioscom(3,0,COM1); if(status & DATA_READY) š if((out=bioscom(2,0,COM1) & 0x7F)!=0) putch(out); if(kbhit()) š if((in=getch())=='Đx1B') return(0); bioscom(1,in,COM1); ć ć ć ć Pozdrav, Deki
cccc.294 m.dzigurski,
Convert binary files to 80*86 assembler with C source. 486dis_c.zip
cccc.295 asterix,
> Narode, pozdrav iz Moskve! > ... > BC++ 3.1 & AF oko 120 USD Ma jok, mani ćorava posla. Dodji ti lepo natrag u Beograd pa kupi BC++ 3.1 & AF u CET-u. Najavili su veliko sniženje sada taj paket košta samo 800 DM.
cccc.296 dgrbic,
::Zamolio bih te i za neke dopunske informacije. Da li za te pare ide i ::kompletna dokumentacija na engleskom ili je ne_daj_boze ruski? Najavljuje ::li se i BC++ 4.0 (cena?) i da li znas ima li i posto MS Visual C++ 1.0? ::ono sto me najvbise interesuje je kakve su ovo cene u USD? Tj. ::da li je rec o kompletnim originalnim paketima (sa dokumentacijom), ::samo za rusko trziste? ::BTW, ovako niske cene nisu ni u Americi... (znam pouzdano) Evo dopunskih informacija za zainteresovane. Sto se kompajlera tice, to su kompletne verzije u velikim kutijama sa dokumentacijom na, dao_bog engleskom, dok su neki drugi paketi rusificirani (npr. windows, ami pro, clipper...) mada se mogu naci i engleske verzije, ali po vecoj ceni. Borland, Symantec i Lotus imaju vrlo povoljne cene, sto se za Microsoft ne bi moglo reci. Visual C++ Professional kosta 429$, a Standard 220$. Medjutim, ima jos zanimljivih stvari: Turbo C++ for Windows Visualised, za 55$, Turbo Pascal for Windows Visualised, za 76$ Symantec C++ 6.0 Professional, za 250$ Think C v5.0 (za Mac), za 36$ Zortech C++ for Unix v2.1, za 113$ Protogen za C++ ili Pascal za 19$ Brief za DOS i OS/2 kosta 32$ (manje nego registracija za neke SW editore)...(koje, doduse, ne moras da registrujes) Borland C++ 4.0 se jos nije pojavio, a ka` ce ne znamo, kao ni OS/2 bez Windows edition :) BTW, i ja znam sasvim pouzdano da su cene nize nego u Americi :) PS. Fala svima koji su se javili :) PSS. Korisnih adresa u Moskvi nema. Sistem kupovine je da se placa u kesu i kutija se odmah nosi sa sobom.
cccc.297 madamov,
> Think C v5.0 (za Mac), za 36$ Wow, kupim ovo i onda platim upgrade do Symante C++ za Meka i izađe me jeftinije. B) Koliko je Symantec C++ za Meka? > PSS. Korisnih adresa u Moskvi nema. Sistem kupovine je da se placa u kesu i > kutija se odmah nosi sa sobom. Daj mi adresu za ove koji imaju Symantecove proizvode, imam prijatelje koji često putuju na relaciji Moskva-Beograd pa da mi to pazare.
cccc.298 bulaja,
│Sto se kompajlera tice, to su kompletne verzije u velikim kutijama │sa dokumentacijom na, dao_bog engleskom, dok su neki drugi paketi │rusificirani (npr. windows, ami pro, clipper...) mada se mogu naci │i engleske verzije, ali po vecoj ceni. └─── Ako ti nije tesko, napisi posto je Clipper (i ruska i engleska verzija).
cccc.299 eotek,
EXE2C.ZIP (C "sourcer" || disCeer ?) hoce li neko da ovaj fajl slika sa imtel BBS i okaci ovde negde. thx The 200 KB Guest
cccc.300 mjova,
> EXE2C.ZIP evo ga ;) probao sam ovo čudo i nisam preterano oduševljen. no, to radi baš kako mu ime kaže. ne radi Bog-zna-kako, ali radi! exe2c.arj
cccc.301 eotek,
>> EXE2C.ZIP > > evo ga ;) thx mucho --> speed is all
cccc.302 ialeksic,
Ovaj program na prvi pogled daje citljiv i (mozda) upotrebljiv prevod. Na manjim programima radi, ali kada sam pokusao da kroz njega propustim EXE od oko 120k izgleda da mu fali memorije. Daje poruku: FATAL ERROR: c_alloc(65531,1) failed. Da je neko u posedu ili moze da preporuci neki disassembler koji ce dati citljiv/upotrebljiv kod slicno ovome?
cccc.303 alatisko,
Zdravo svima. Imam mali problem. Kako da pisem po celoj video memoriji kada sam u modu 640x480 256 boja?. Ako se sluzim pravilom da video memorija pocinje od A000:0000, onda mogu da pisem samo do A000:FFFF. Znaci u okviru jednog segmenta, a to je trecina ekrana. Koji je sledeci segment video memorije !!!! Kartica je TRIDENT 8900c 512Kb. Da je ovo izvodjivo, dokaz je program VPIC koji kod mene prikaze i sliku nu 800x600 256 boja, a poznato je da radi direktno sa video memorijom. Hvala ! ´k
cccc.304 vita,
> Imam mali problem. Kako da pisem po celoj video memoriji kada > sam u modu 640x480 256 boja?. Pa svaka kartica koja koristi tu rezoluciju, ima svoje banke, bas zato sto mozes u trenutku da radis samo sa 64k Mlogo zeznuto, mislim na razne kartice, svaka je drugacija. Pogledaj GRPHICS dir. mozda ima nesto zanimljivo. Vita
cccc.305 stosic,
Da li neko ima disketu sa primerima iz knjige: A Complete Guide to Mastering the C language, Augie Hansen.
cccc.306 .bata.,
Imam jedan gadan problem. Treba mi dovoljno brz scroll u c-u e sad jedna od varijanti koje su mi pale na pamet je da kad korisnik pritisne na dole program iscrta ceo ekran ponovo al' pomeren za jedan na dole. Koliko ja znam osim buffer-a nema pametnijeg resenja ako neko zna nek salje CIM PRE TO BOLJE :) -=> BaTa <=-/.CoRRoSioN.
cccc.307 dsisic,
> Imam jedan gadan problem. Treba mi dovoljno brz scroll u c-u. A sta je sa scroll pozivima 06h, 07h interapta 10h? INT 10h, 06h (6) Scroll Window Up Scrolls a specified window upward a specified number of lines. On entry: AH 06h AL Number of lines to scroll (if 0, clear entire window) BH Display attribute for blank lines CH Row number of upper left corner CL Column number of upper left corner DH Row number of lower right corner DL Column number of lower right corner Returns: None Registers destroyed: AX, SP, BP, SI, DI
cccc.308 drdjokic,
Pocetnik Upravo sam instalirao C++ 5.01 Microsoft Ho}u da iskompajliram source fajlove, kako bi trebao da izgleda bat fajl. hvala !
cccc.309 djelovic,
> Imam jedan gadan problem. Treba mi dovoljno brz scroll u c-u e sad jedna > od varijanti koje su mi pale na pamet je da kad korisnik pritisne na dole > program iscrta ceo ekran ponovo al' pomeren za jedan na dole. Koliko ja > znam osim buffer-a nema pametnijeg resenja ako neko zna nek salje CIM PRE To i jeste najbrža varjanta. Klasičan skrol se svodi na kopiranje iz video memorije u video memoriju, a pošto je video memorija drastično sporija od obične, to onda i nije najsrećnije rešenje. Mnogo bolje rešenje je ponovni ispis na ekran, pod uslovom da se piše direktno u video memoriju a ne preko BIOS ili DOS poziva. Onda se to svodi na kopiranje iz obične u video memoriju, što je, po grubim procenama, dva puta brže.
cccc.311 dejanr,
>> Upravo sam instalirao C++ 5.01 Microsoft >> Hoću da iskompajliram source fajlove, kako bi trebao da izgleda bat fajl. Ako su ti svi SET-ovi u AUTOEXEC-u u redu, trebalo bi da kažeš cl ime.c gde je ime.c naziv fajla sa programom (ne zaboravi i ono .c). Tako je na C-u 6.0, valjda je i na 5.1, sa njim nisam davno radio. PS Pretpostavljam da misliš na C 5.01. Nije C++!
cccc.312 eagle,
> BIOS ili DOS poziva. Onda se to svodi na kopiranje iz obične u > video memoriju, što je, po grubim procenama, dva puta brže. Napravio sam mali test sa kopiranjem blokova više hiljada puta zaredom. Ako uzmemo kopiranje obične memorije u običnu kao referencu, ispada da je: mem --> videomem 3.09 puta sporije videomem --> mem 3.47 -"- videomem --> videomem 4.57 -"- Sledi da bi kopiranje iz bafera bilo brže oko 1.48 puta. Ako bi se prvo "skrolovalo" po baferu, pa onda sve kopiralo u videomem dobili bi oko 10% brži skrol u odnosu na "klasičan".
cccc.313 djelovic,
> Sledi da bi kopiranje iz bafera bilo brže oko 1.48 puta. > Ako bi se prvo "skrolovalo" po baferu, pa onda sve kopiralo u > videomem dobili bi oko 10% brži skrol u odnosu na "klasičan". Bafer bi trebalo da može da se organizuje tako da skrol u njemu ne mora da se vrši, tako da je cifra 1.48 najpribližnija realnom rezultatu. Doduše, ovde se radi i o specifičnostima video kartice a i same mašine, tako da je procena u najboljem slučaju odokativna :).
cccc.314 eotek,
> Ho}u da iskompajliram source fajlove, kako bi trebao da izgleda bat fajl. > hvala ! posto si odabrao msc 5.1 pretpostavljam da zelis da spajas sa clipperom. da ne bi bilo guzve sa set-ovima u autoexec-u, evo malog primera (doduse za msc 6.0, ali to bi trebalo da bude isto) u kombinaciji sa blinkerom . zgodno je da taj bat povezes u okviru norton commander-a preko commands\extension file edit - i imas veoma brzo prevodjenje za lenje: set include=c:\c600\include c:\c600\bin\cl /qc /c /AL /BATCH /Zl /Gs /W3 %1.c c:\blinker\blinker fi %1.obj lib c:\c600\lib\llibca, c:\c600\lib\llibce etsc
cccc.316 dejanr,
Cray Research promoviše novi Cray Standard C Programming Environment 1.0 i Cray Research C++ Libraries. NOVOSTI/microb 4.293.
cccc.317 predragd,
Pokušavam da iskompajliram gomilu procedura u jedan .DLL fajl. Međutim, nikako mi ne polazi za rukom, linker mi uvek prijavljuje jednu te istu grešku, ma šta ja uradio. Error: Undefined symbol LIBMAIN in module c0d.ASM Šta da mu uradim pa da ga korektno iskompajliram. Koristim BC++ 3.1 pod DOS-om. Peđa.
cccc.318 vitez.koja,
Opet ja sa starim problemom (upornost se isplati;)) Da li neko zna zašto neka biblioteka (konkretno PCL) neće da se linkuje sa C++ programom, dok se sa C programom linkuje kako valja ? U pitanju je BC++.
cccc.319 dragann,
> Opet ja sa starim problemom (upornost se isplati;)) Da li neko zna zasto > neka biblioteka (konkretno PCL) nece da se linkuje sa C++ programom, dok se > sa C programom linkuje kako valja ? U pitanju je BC++. OBJ i LIB fajlovi koje pravi BC++ se razlikuju od onih za C,pascal ... Oni su precizniji jer sadrze vise informacija, kod poziva funkcija striktno paze na tip argumenta. Najbolje probaj TDUMP CPP.OBJ i uporedi sa TDUMP C.OBJ. Mislim da bi funkcije koje pozivas u c++ morao da definises kao extern C a(); Pogledaj u CPPFAQ (ima ga na sezamu) za resenje povezivanja C i CPP funkcija. Problem poziva C++ iz C-a je jos gori. Dragoljub
cccc.320 i.a.n.,
>> Opet ja sa starim problemom (upornost se isplati;)) Da li neko zna >> zašto neka biblioteka (konkretno PCL) neće da se linkuje sa C++ Pročita li ti moju poruku 10.125 u ovoj konferenciji, bRE? :)
cccc.321 mjova,
> Opet ja sa starim problemom (upornost se isplati;)) Da li > neko zna zašto neka biblioteka (konkretno PCL) neće da se > linkuje sa C++ programom, dok se sa C programom linkuje > kako valja ? U pitanju je BC++. osnovni problem linkovanja C lib sa C++ lib leži u načinu prevođenja. ne znam da li je problem u toku samog linkovanja ili je problem već i tokom prevođenja. prilikom linkovanja nisam imao nikad problema, ali obično u .h nedostaje 'extern "c"' tako da se obično sve glavi već kod prevođenja.
cccc.322 mdimitrijevic,
IMAM VELIKI PROBLEM !!!! Pri pisanju programa kod kojih sors dodje do neke stotine KB pojavljuje mi se greska 'Too much global defined data ...' ili ovako nesto. Znam sta to znaci i izbacim mnoge globalne promenjive ali ne vredi. Prevedem sors u HUGEÝy modelu kao sto kaze Borland C++ 3.1 help i definisem kao far razne varijable itd itd... Ali ne vredi. STA DA MU RADIM U P.... M...... (#@$% )K:(((((((( ??????? Pozdrav, Marjan Dimitrijevic P.S. SPASAVAJTE MI ZIVOT MOLIM VAS !!!!!!!!!!!!!!!!!!!!!!!!!!
cccc.323 mjova,
> IMAM VELIKI PROBLEM !!!! ni jedan problem nije veliki ako mu priđeš ispravno. naime, cela istočna filozofija se bavi prilaskom problemu, ali tako da se svaki čini kao jednostavan i lako rešiv. siguran sam da ni jedan problem nije kao nož u leđima, tako oštar i strm. svaki ima bar jednu laganu padinu, problem je samo kako je naći. > STA DA MU RADIM U P.... M...... (#@$% )K:(((((((( ??????? nadam se da nije potrebno da se nerviraš. ceo život samo protiče kraj nas. zašto se nervirati? nirvana brate, nirvana! > P.S. SPASAVAJTE MI ZIVOT MOLIM VAS !!!!!!!!!!!!!!!!!!!!!!!!!! eoeoeo, neko želi da te ubije? ;) ovo je već ozbiljno. krajnje. no, kad je već tako, da vidimo o čemu je reč... > Pri pisanju programa kod kojih sors dodje do neke stotine > KB pojavljuje mi se greska 'Too much global defined data > ...' ili ovako nesto. ovaj problem se javlja kod programa koji se krpe. kod onih programa koji se pišu u BASIC stilu. priznajem da ovu grešku nisam nikad video, ali sudeći po onome što piše u helpu, znam šta je po sredi. imaš previše globalnih promenljivih, a najverovatnije imaš i neke nizove pozamašne veličine. kako problem nisi rešio ni prevođenjem u huge modelu, to znači da si modul kod koga se to javlja majstorski napisao. pogledaj malo da reorganizuješ kod, da smanjiš broj globalnih promenljivih. ako imaš globalne nizove, onda im pristupaj preko pointera, a njih sam alociraj sa new ili malloc(). način da se veći nizovi (preko stotinak bajtova) alociraju dinamički je bolji iz više razloga, a najbitiniji je baš ovaj (možda još treba navesti da se statičkim alociranjem u fn opterećuje stack koji je ipak konačne veličine).
cccc.324 bojt,
>> Pri pisanju programa kod kojih sors dodje do neke stotine KB >> pojavljuje mi se greska 'Too much global defined data ...' ili >> ovako nesto. Jel to 100k main ili ima i rutina?
cccc.325 djelovic,
> Pri pisanju programa kod kojih sors dodje do neke stotine KB pojavljuje > se greska 'Too much global defined data ...' ili ovako nesto. Iz koliko modula ti se sastoji program? Probaj da ceo projekat iz početka sagradiš (Compile/Build), to ume da pomogne ako se kompajler zaglupi.
cccc.326 .bata.,
Dal' bi neko od vrsnih programera mogao da mi ostavi primer kako da skrolujem niz npr: linijeŠ300Ć na ekranu visine 15. Please od toga mi zavisi zivot. P.S. Naravno kontrola gore dole je ostavljena korisniku na volju... Unapred veliko _HVALA_ svima !! :)
cccc.327 markom,
■■■ Dal' bi neko od vrsnih programera mogao da mi ostavi primer ■■■ kako da skrolujem niz npr: linije[300] na ekranu visine 15. ■■■ Please od toga mi zavisi zivot. Reci mi Bato, da li ti odgovara možda isto to, ali urađeno u Pascalu? Ako ti odgovara, možda ti nađem nešto takvo. Marko
cccc.328 markom,
■■■ Dal' bi neko od vrsnih programera mogao da mi ostavi primer ■■■ kako da skrolujem niz npr: linije[300] na ekranu visine 15. ■■■ Please od toga mi zavisi zivot. Reci mi Bato, da li ti odgovara možda isto to, ali urađeno u Pascalu? Ako ti odgovara, možda ti nađem nešto takvo. Marko
cccc.329 petrovics,
Jeli moguce prosto (bez mnogo hakerisanja) napisati kod u MSC 6.0 koji bi radio na VGA rezoluciji 640x480 (800x600 !?) u 256 boja ili nijansi sivog? Koliko vidim funkcijom _setvideomode tako nesto nije moguce. pozdrav, Sasa
cccc.330 vitez.koja,
Za čega služe .SYM fajlovi u Borland C-u ? Da li ja to smem da pobrišem, naročito da li smem da pobijem BCDEF.SYM i TCDEF.SYM ? Oni zajedno zauzimaju 2.5 MB :( Ukapirao sam da su .sym fajlovi u vezi sa .prj fajlovima... .sym fajl jednog sasvim malog projekta narastao mi je na 900kb :((
cccc.331 djelovic,
> Za čega služe .SYM fajlovi u Borland C-u ? Da li ja to smem da pobrišem, > naročito da li smem da pobijem BCDEF.SYM i TCDEF.SYM ? Oni zajedno zauzimaj > 2.5 MB :( Prekompajlirani hederi. Ta dva nemoj da brišeš, ostale možeš!
cccc.332 dragisha,
-> razloga, a najbitiniji je baš ovaj (možda još treba navesti da se -> statičkim alociranjem u fn opterećuje stack koji je ipak konačne -> veličine). Ne bi trebalo. Statički podaci su u _DATA segmentu. Oni sa auto (ah C:) idu na stack. -- [I got derailed by a dancer down in Dallas...]
cccc.333 .bata.,
Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. kao npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju....
cccc.334 vitez.koja,
Zamolio bih vlasnika bilo kakve literature na temu "Paradox engine" da mi se javi u mail i time me mnogo obraduje. žuo sam da je nekoć napravljena grupa koja se bavila Paradox Engine-om. Ako neko zna ko je vlasnik iste, molio bih ga da mi informaciju ostavi u mail.
cccc.335 i.a.n.,
>> Za čega služe .SYM fajlovi u Borland C-u ? Da li ja to smem da >> pobrišem, naročito da li smem da pobijem BCDEF.SYM i TCDEF.SYM ? >> Oni zajedno zauzimaju 2.5 MB :( Tu se smeštaju kompajlirane verzije zaglavljâ. Njihovo prevođenje se iz komandne linije zahteva prekidačem -H[=symfile], a u IDE-u valjda negde u "Compiler Options". U BC++ 3.1 postoji i -Hu, čime se nalaže korišćenje postojećih bez generisanja novih .SYM datoteka. Pravila za korišćenje i direktiva koje time upravljaju ima dosta; ne bih da ih prekucavam, pogledaj help. Sve .SYM-ove možeš brisati, ali će se oni iznova generisati pri kompajliranju dokle god koristiš -H.
cccc.336 klisa,
>> Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive >> systemu. kao npr. system ("q %s", fajl); system to ne moze... ako >> neko ima ideju.... char cmd[80]; ... sprintf( cmd, "q %s", fajl ); system( cmd ); ...
cccc.337 bulaja,
│Zamolio bih vlasnika bilo kakve literature na temu "Paradox engine" │da mi se javi u mail i time me mnogo obraduje. └─── R:\IBMPC\C\*.* ---------------------- pxeng arj 15012 Norton Guide za Paradox Engine 2.0 (C biblioteka) pxeng3 arj 35310 Norton Guide za Paradox Engine 3.0 (C biblioteka) pxetip arj 8647 Paradox Engine 2.0 programming tips (Borland) Uz MJogijeve tekstove u Racunarima, ovo bi trebalo da ti bude sasvim dovoljno za pocetak (a i nastavak:) rada sa PXE.
cccc.338 dcolak,
│ Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. │ kao npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju.... sprintf(fajl, "q %s", fajl); system(fajl); Ili tako nekako :) Sledge DAMMIR!
cccc.339 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Wed, 12 Jan 1994 13:14:10 GMT Message-ID: <CJIq3M.18v@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:01.095.3191@sezam> Sender: news@fon (News) Damjan Pelemis (.bata.@sezam.UUCP) wrote: : Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. kao : npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju.... Mozes sam da napises funkciju ( npr mysystem ) koja ce imati promenljiv broj argumenata i prihvatati formatski string i argumente u stilu printf i slicnih funkcija. Pozdrav, Sasa
cccc.340 mdimitrijevic,
Problem sa 'Too much global data defined ...' sam resio deleci program na vise modula i prevodeci ih u LARGE modelu posebno pa onda TLINK i toß je to. Pozdrav, Marjan Dimitrijevic P.S. Hvala svima koji su se trudili da odgovore !!!!!!!
cccc.341 ppekovic,
>> Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. >> kao npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju.... To se rešava jednostavnim: char sysstr[ ... ]; sprintf( sysstr, "q %s", fajl ); system( sysstr ); Naravno, ovo je rešenje ako insistiraš na system komandi. Ipak, pogledaj i familiju exec?? komandi. Paya
cccc.343 postmast,
Path: fon!glisin From: glisin@fon (Ivan Glisin) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Wed, 12 Jan 1994 16:40:18 GMT Message-ID: <CJIzn9.3CL@fon> X-Newsreader: TIN [version 1.1 PL9] References: <CJIq3M.18v@fon> Damjan Pelemis (.bata.@sezam.UUCP) wrote: >> Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. >> Kao npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju.... Evo resenja koje je bas ono sto ti treba samo u dva koraka (formatiranje onoga sto bi zeleo da ode u system): char command[80]; ... sprintf (command, "q %s", fajl); /* Ili bilo sta drugo! */ system (command); Dakle, 'sprintf' posalje u string formatirani ispis, pa mozes da napravis iste stvari kao i prilikom izlaza na ekran: isto to ce biti zapisano kao string kome posle mozes da radis sta hoces! :-)
cccc.344 mjova,
>> (možda još treba navesti da se statičkim >> alociranjem u fn opterećuje stack koji je ipak >> konačne veličine) > Ne bi trebalo. Statički podaci su u _DATA segmentu. Oni sa > auto (ah C:) idu na stack. statički podaci (deklarisani sa ˙static˙) su zaista u data seg, ali statički *alocirane* mogu biti i na steku (ako su deklarisane u nekoj fn).
cccc.345 .bata.,
ŔŔŔ char cmdŠ80Ć; ŔŔŔ ... ŔŔŔ sprintf( cmd, "q %s", fajl ); ŔŔŔ system( cmd ); ŔŔŔ ... Na zalost ovo ne radi :( system vrati !=0 sto znaci da nesto nije u redu. probao sam da cmd bude poenter, ali sprintf nece da kopira u poenter tako da sam kopirao u niz, a onda vrednost dodeljivao poenteru i poenter prosledjivao system-u (jer je sintaksa sistema: void system (konst char* command)) ali opet je vracao 0. Ne radi cak ni execl ("q", fajl), sto bi moralo jer je po primeru: execl ("CHILD.EXE", argv) (gde ranije dodeljuje vrednost nizu argv). Stvarno mi nije jasno. C psotaje sve veca Zona Sumraka :) (sala naravno). Samo bih voleo da ovo isteram na cistac :).
cccc.346 .bale.,
> Na zalost ovo ne radi :( system vrati !=0 sto znaci da nesto Evo šta provereno radi: struct ffblk fb; char logname[32]; char exe[32]; ... sprintf( logname, "c:/stor/%s", fb.ff_name ); sprintf( exe, "pkunzip -o %s session.log c:/stor > nul", logname ); if( system( exe ) == -1 ) { printf( "Greska pri startovanju pkunzip-a.\n" ); }
cccc.347 klisa,
>> Na zalost ovo ne radi :( system vrati !=0 sto znaci da nesto Razlog svakako nije u konstrukciji koju sam ti poslao. Ostaje ti da proveriš sledećih nekoliko stvari: 1. Dužinu stringa 'file' - ako prelazi dužinu/veličinu bafera 'cmd', eto problema. 2. Sam string 'file'; koliko vidim, pokušavaš da pozoveš editor sa imenom datoteke koju treba obraditi. Da li je ime datoteke ispravno? 3. Putanju do tog tvog 'q' editora ili šta je već. :) Javi rezultate.
cccc.348 peca.st,
poInter
cccc.349 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Thu, 13 Jan 1994 11:10:09 GMT Message-ID: <CJKF0z.IFG@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:01.095.3191@sezam> Sender: news@fon (News) Damjan Pelemis (.bata.@sezam.UUCP) wrote: : Dal' postoji neka funkcija u C-u koja moze da prosledi promenljive systemu. kao : npr. system ("q %s", fajl); system to ne moze... ako neko ima ideju.... Evo ti moje resenje funkcije koju mozes da pozivas kako si i hteo, tj. kao i printf i slicne: #include <stdio.h> #include <stdarg.h> int MySystem ( const char *format, ... ) { char szBuf[ 512 ]; va_list pa; va_start(pa,format); vsprintf ( szBuf, format, pa ); va_end(pa); return system ( szBuf ); } Pozdrav, Sasa
cccc.350 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Fri, 14 Jan 1994 18:23:20 GMT Message-ID: <CJMtqy.ML0@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:001.0095.3262@sezam> <sezam$cccc:01.095.3274@sezam> Sender: news@fon (News) Aleksandar Bakic (.bale.@sezam.UUCP) wrote: : Evo sta provereno radi: : char exe[32]; : ... : sprintf( exe, "pkunzip -o %s session.log c:/stor > nul", logname ); Ako prebrojis znakove u stringu, cak i da je logname == 0, imas vise od 32 koliki ti je exe - string ! Sasa
cccc.351 .bata.,
ŔŔŔ 1. Dužinu stringa 'file' - ako prelazi dužinu/veličinu bafera ŔŔŔ 'cmd', eto problema. Resio sam problem. :) Duzina fajl-a nije prelazila duzinu buffer-a jer sam je setovao na 254 (najduza komanda nisam hteo 255 za svaki slucaj :) ) stvar je bila u tome da nikako nije hteo da se shelluje iz programa koji je pokernut iz IDE-a. Medjutim kada taj program kompajliram i pokrenem van C-a sve radi ok.
cccc.352 .bale.,
> Ako prebrojis znakove u stringu, cak i da je logname == 0, imas vise > od 32 koliki ti je exe - string ! ! :)) Ali, zaista radi..? Verovatno ima malo viska pod navodima :)
cccc.353 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Mon, 17 Jan 1994 09:50:38 GMT Message-ID: <CJrq0E.M10@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:001.0095.3287@sezam> <sezam$cccc:01.095.3291@sezam> Sender: news@fon (News) : ! :)) Ali, zaista radi..? Verovatno ima malo viska pod navodima :) Radi , ali do kada ce ? Verovatno se u memoriji iza stringa exe nalazi jos malo prostora koji ne sluzi nicemu, ali ako se i to bude zauzelo za neku promenljivu, eto problema.
cccc.354 .bata.,
Jel' zna neko (sigurno zna :) ) kako da brisem buffer za tastaturu (ne moj nego preko biosovog interapta) a da on posle ne ceka na novi taster dakle da obrise buffer i nista vise :) (bioskey ceka taster :( )
cccc.356 nikac,
> Jel' zna neko (sigurno zna :) ) kako da brisem buffer za > tastaturu (ne moj nego preko biosovog interapta) a da on posle ne > ceka na novi taster dakle da obrise buffer i nista vise :) > (bioskey ceka taster :( ) Za tastaturni buffer imas dva pointera head i tail. Stos je samo da izjednacis head i tail pointer i buffer je prazan :) Start offset je na lokaciji 0:480h a end offset na 0:482h. Uostalom, za sve nejasnoce imas detaljno opisano u NG-u. P.S. Valjda si ovo pitao (bar sam ja tako razumeo poruku :)
cccc.357 maksa,
Kako da sprečim pojavljivanje text cursora u toku ispisa ? (BC3.1)
cccc.358 mjova,
> Kako da sprečim pojavljivanje text cursora u toku ispisa _setcursortype(_NOCURSOR); _setcursortype(_SOLIDCURSOR); _setcursortype(_NORMALCURSOR);
cccc.360 .bata.,
ŔŔŔ Uostalom, za sve nejasnoce imas detaljno opisano u NG-u. Ako imas norton guide za C (pretpostavljam da mislis na njega) bio bih ti zahvalan ako bi mi poslao...
cccc.361 postmast,
Path: fon!bale From: bale@fon (Aleksandar Bakic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Tue, 18 Jan 1994 14:59:39 GMT Message-ID: <CJtyzG.41w@fon> X-Newsreader: TIN [version 1.1 PL9] References: <CJrq0E.M10@fon> Sasa Milic (smilic@breza) wrote: : : ! :)) Ali, zaista radi..? Verovatno ima malo viska pod navodima :) : Radi , ali do kada ce ? Verovatno se u memoriji iza stringa exe nalazi jos : malo prostora koji ne sluzi nicemu, ali ako se i to bude zauzelo za neku : promenljivu, eto problema. Ma, OK, znam i sredicu to. Hvala na upozorenju! Bale
cccc.362 zbubnjevic,
Možda ovaj moj predlog nepripada ovde, ali eto. Menjam Code Base 4.5 (dve 1.2MB diskete), biblioteku koja sadrži funkcije za manipulaciu sa DBF fajlovima tj. dBase formatom baza podataka. Paket sadrži source programa u C-u, tako da ga lako možete naterati da sortira po čirilici ili koristi naš datum. Predviđeno je uslovno prevođenje, tako da možete dobiti kod za DOS, Windows ili UNIX. Podržano je više aktuelnih C kompajlera kao i LIB-ovi i DLL-ovi, za pascal ili basic. A ovo menjam za kopiju Paradox Engine 3.0. Ukoliko ste zainteresovani za ovaku razmenu obratite se zbubnjevicu! P.S. Molim SysOp-a da zažmuri barem sedmicu dana, pa neobriše ovu moju poruku!
cccc.363 peca.st,
!-> Ako imas norton guide za C (pretpostavljam da mislis na njega) bio !-> bih ti zahvalan ako bi mi poslao... Pretpostavljam da se odnosilo na norton guide za assembler. Postoji i NG za Turbo C i NG za MSC. Za Borland C ne znam dal postoji. (mada onaj za TC može lepo da posluži) A, da... Nortonove stvari nisu PD/SW. ;). Peđa.
cccc.364 markom,
■■■ Ako imas norton guide za C (pretpostavljam da mislis na ■■■ njega) bio bih ti zahvalan ako bi mi poslao... Imam ja neki NG za MSC, pa ako nekom treba ... Marko
cccc.365 nikac,
>■ ŔŔŔ Uostalom, za sve nejasnoce imas detaljno opisano u NG-u. >■ >■ Ako imas norton guide za C (pretpostavljam da mislis na njega) >■ bio bih ti zahvalan ako bi mi poslao... 1. Mislio sam na NG za Assembler (ima oko 600kb :) 2. Ako ti trebaju raznorazni ng-ovi imas (bar je bilo ustvari :) svega i svacega na Euklidu (za msc, tc, assembler i jos puuuno). 3. Ako ih vise nema na euklidu pitaj darone-a, on mozda zna gde ih ima (posto je jelte sysop doticnog)
cccc.367 postmast,
Path: fon!glisin From: glisin@fon (Ivan Glisin) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Fri, 21 Jan 1994 18:36:09 GMT Message-ID: <CJzt0A.1Jr@fon> X-Newsreader: TIN [version 1.1 PL9] References: <sezam$cccc:01.095.3322@sezam> Damjan Pelemis (.bata.@sezam.UUCP) pise: >> Jel' zna neko (sigurno zna :) ) kako da brisem buffer za tastaturu... Pa zasto preko interapta? Pokusaj sa funkcijom 'fflush': fflush(stdin); Ja tako uvek brisem visak znakova iz bafera. Uzgred, portabilno je, pa ce da trci i na UNIX-u, recimo. Jedno pitanje: da li ovo stvarno ode na Sezam, ili sve ovo pisemo u prazno?
cccc.368 .bata.,
ŔŔŔ fon!glisin : ŔŔŔ Pokusaj sa funkcijom 'fflush': fflush(stdin); Hvala za hint probacu.. ŔŔŔ Jedno pitanje: da li ovo stvarno ode na Sezam, ili sve ovo pisemo ŔŔŔ u prazno? Ode, ode...:))
cccc.369 bulaja,
│Jedno pitanje: da li ovo stvarno ode na Sezam, ili sve ovo pisemo │u prazno? └─── Samo ti pisi kolega, vidimo te :).
cccc.370 madamov,
glisin@fon (Ivan Glisin) napisa: > Jedno pitanje: da li ovo stvarno ode na Sezam, ili sve ovo pisemo u prazno? Kao što vidiš (ili bolje kao što ćeš videti), ne pišeš u prazno. B)
cccc.371 dejanr,
Borland C++ ili Visual C++? NOVOSTI/microb 4.435.
cccc.372 markom,
Imam jedno, možda trivijalno, pitanje ... U programu imam više funkcija. Kada prevedem program javi mi se puno upozorenja 'Call to function 'ime' with no prototype'. Kako se definiše taj prototype ?? Reč je, naravno, o Borlandovom C-u (verzija 3.1). Marko
cccc.373 djelovic,
> U programu imam više funkcija. Kada prevedem program javi mi se pun o > upozorenja 'Call to function 'ime' with no prototype'. Kako se definiše taj > prototype ?? Reč je, naravno, o Borlandovom C-u (verzija 3.1). Ako imaš funkciju: int max (int a, int b) { if (a > b) return a; else return b; } onda je deklaracija: int max (int a, int b); /* tačka-zarez na kraju! */ prototip. Prototipoi služe da opišu komapjleru funkciju pre nego što se onda definiše (ili se defi│niše u nekom drugom modulu), tako da on može (kada zna kako će tvoja funkcija izgledati) da te upozori ako si negde pogrešio.
cccc.374 eagle,
Kako se definišu labele u asm bloku? (BC 2.0) asm š proba: jmp proba; ć ovde prijavi grešku "undefined label proba...".
cccc.375 djelovic,
> asm š > proba: > jmp proba; > ć > > ovde prijavi grešku "undefined label proba...". Moraš da definišeš labelu van asm bloka. Zašto je to tako, to samo Borland zna :(.
cccc.376 pmarovic,
Hitno potraban primjer ili mjesto gde se moze naci primjer za programiranja DMA. Poruke na PMAROVIC. Pozdrav Pedja
cccc.378 danko,
Preduzeće JUGODATA-Beograd nudi STALNI posao - programeru sa znanjem C-a i baza podataka, spremnom za timski rad. - serviseru za PC računare sa iskustvom. Javite se telefonom od 9-16h radnim danom Jugodata - Beograd, B.Revolucije 326 Tel/Fax: (011) 418-326, 419-768, 423-506
cccc.379 .bata.,
Sto se tice problema sa brisanjem buffer-a resio sam (jeeeeeeaa) Dakle za sve one koji ce ikada imati isti problem cisto da kazem kako sam ja resio problme: bdos (0x0c, 0x00, 0x02); nista bez intrupta :)
cccc.380 mjova,
> nista bez intrupta :) a ništa i sa njim jer niko ne zna šta je to ;)
cccc.381 mstanic,
>> Hitno potraban primjer ili mjesto gde se moze naci >> primjer za programiranja DMA. Baš skoro je Niklaus (ne Wirth, nego naš) pisao o tome u ovoj konferenciji u temi razno.
cccc.382 pmarovic,
Hvala. Pedja
cccc.383 dekiper,
Kada smo već kod novog C-a evo šta kaže čika Frenk Borland o njihovom čedu... Borland C++ 4.0 for Dos, Windows and Windows NT The world-standard C and C++ Borland C++ 4.0 is the world's mos powerful, productive, customiza- ble and Visual C and C++ programming enviroment for DOS, Windows and Windows NT. Within its enhanced Integrated Development Enviroment, you'll find the most complete and andvanced tool set ever assembled. YOUR CHOICE FOR PROGRAMMING PRODUCTIVITY The most comprehensive development solution for 16-bit DOS and 16- and 32-bit Windows. Selecting a development enviroment is never easy. After all, you need to create dependable, easy-to-use applications. And, of course, your users want everything yesterday. Fast application development Now you can choose a tool that makes it easier and faster to build and maintain applications without sacrificing flexibility. A tool that brings the latest programming enhacements to an integrated visual programming enviroment. Software craftsmanship Borland C++ 4.0 has been crafted to give you the highest productivity for your development projects. No other system is so open and approchable and flexible for professionals. The world-standard C and C++ By working with our community of more than million C and C++ developers, we've learned a lot about the way you work. That's why Borland C++ 4.0 gives you faster development through visual programming, more producti- vity through a state-of-the-art enviroment, and safety through support for industry standards. This new version features a professional progra- mmer's editor, full C++ with templates and exception handling and enhanced ObjectWindows(R) 2.0. The result - programming without compromise. Ovo je samo deo mog oduševljenja kada sam juče uleteo u CET. Na polici se lepo sunča veliki plavi paket a na njemu piše - Borland C++ new version 4.0 for DOS, Windows and Windows NT. Od cele radosti sam uspeo da izvučem propagandni materijal na dve strane koji opisuje ovaj proizvod do detalja. Prošetajte se i pokupite... Pozdrav, Deki ÚĆ─ůÚĆĘ
cccc.384 .bata.,
Izvinjavam se MJOVI jer sam napisao intrupta umesto interapta. :-)
cccc.385 debelijencija,
!=?> U programu imam više funkcija. Kada prevedem program javi mi !=?> se puno upozorenja 'Call to function 'ime' with no !=?> prototype'. Kako se definiše taj prototype ?? Reč je, !=?> naravno, o Borlandovom C-u (verzija 3.1). Vidim da ti je Đelović ;) već odgovorio, ali da ja malo dopunim. Elem, kako pitaš za C, to se ta poruka javlja kao upozorenje, jer deklarisanje funkcija u C nije obavezno. U C++ to je već greška, sve se funkcije moraju deklarisati. Ali, i sam navod finkcije je i njena deklaracija! Tačnije, ako funkciju koristiš (zoveš) nakon što si je opisao, ne moraš eksplicitno da navodiš njenu deklaraciju. Kako primer vredi više od mog trabunjanja ;) : int mika(int laza) š return laza; ć void main(void) š mika(21); ć Ovde ti ne javlja upozorenje (niti grešku u C++). Ali: void main(void) š mika(21); ć int mika(int laza) š return laza; ć E, ovo je već upozorenje (greška u C++).
cccc.386 gremlin,
Firma OLYMP ELECTRONIC traži programera sa znanjem C-a, pa koga interesuje neka se javi na 410-240 ili 400-477.
cccc.387 klisa,
Šahovski sat u kompjuterskoj izvedbi, delo glasovitoga Milana Vugdelije. Program se prevodi pomoću Borland C kompajlera: BCC sahsat.c graphics.lib Za rad su potrebni odgovarajući .BGI drajver i miš. sahsat.arj
cccc.388 ognjan,
HELP !!! Trebam da procitam neke podatke iz datoteke i strpam ih u listu ali mi fread uvijek vraca 0 a to mi je uslov izlaska iz petlje. Probao sam sto sam znao ali ne ide. Ideja vise nemam. Posto ne radim za NASU kod je tu: P.S. Datoteka postoji i duzina joj nije 0 void konto_load(KONTO_LISTA *head) { head->sled=NULL; if (fread(&tr_konto,sizeof(KONTO),1,dato_kon)!=0) { strcpy(head->pod.br_kp,tr_konto.br_kp); strcpy(head->pod.br_konta,tr_konto.br_konta); strcpy(head->pod.opis,tr_konto.opis); head->pod.koristen=tr_konto.koristen; if ((head->sled=(KONTO_LISTA *)malloc(sizeof(KONTO_LISTA)))==NULL) { printf("%s"," Nema dovoljno memorije za rad !!!"); exit(); } konto_load(head->sled); } } void konto_open(void) { if ((dato_kon=fopen("konta.dat","rb+"))==NULL) { printf("%s"," Nemogu da pronadjem datoteku KONTA.DAT !!!"); exit(); } lseek(dato_kon,0L,SEEK_SET); if ((head=(KONTO_LISTA *)malloc(sizeof(KONTO_LISTA)))==NULL) { printf("%s"," Nema dovoljno memorije za rad !!!"); exit(); } konto_load(head); fclose(dato_kon); } OLY
cccc.389 djelovic,
> P.S. Datoteka postoji i duzina joj nije 0 Da, ali da li joj je dužina veća od sizeof (KONTO)? BTW, za šta će ti ono lseek?
cccc.390 ognjan,
Eh da je to.... Kamo srece ... OLY
cccc.391 misham,
>> if ((dato_kon=fopen("konta.dat","rb+"))==NULL) š >> printf("%s"," Nemogu da pronadjem datoteku KONTA.DAT !!!"); >> exit(); ć >> lseek(dato_kon,0L,SEEK_SET); Greska nastaje u f-ji lseek. Prototip te funkcije je: long lseek(int handle, long offset,int fromwhere); Argument 'handle' je tipa int a ne FILE * koji se dobija iz naredbe fopen. Trebao si ili da koristiš naredbu 'open' ili da ne koristiš f-ju lseek koja je ovde nepotrebna (datoteka se uvek otvori tako da iščitava podatke od početka. Miša.
cccc.392 ognjan,
Slazem se lseek ne treba da bude tu. To je zaostalo od jednog od raznih eksperimenata sa modovima za otvaranje datoteke. (Nikad se ne zna, mozda proradi :) ). Dakle da probam malo sire: duzina strukture KONTO je 63 bajta a datoteka je duzine 189 (3*63). Datoteka je kreirana odgovarajucim pozivom funkcije fwrite. Problem je sto kada god probam da ucitam nesto iz datoteke, tj kada se prvi put pozove funkcija konto_load , fread odmah vraca 0. Dakle, datoteka postoji zadovoljavajuce duzine, pointer za citanje iz datoteke na pocetku, a prvi put pozvani fread vraca 0. :((((( Ima li iko ikakav konstruktivan predlog makar i za mjenjanje algoritma jer ja ovo prvi put radim u C-u. Do sada u Paskalu je to radilo. I jos nesto, ako ima veze, BC 3.1 P.S. Zna li neko kako da ovo ispitam u TD OLY
cccc.393 vitez.koja,
Suviše sam star da bih te pratio u programu, ali poslušaj moj savjet. Batali strimove i sa datotekama radi pomoću hendlova, i pri tom eksplicitno navodi _sve_ atribute za otvaranje fajla (pre svega O_xxxx konstante), ništa ne ostavljaj po defaultu; tako ćeš u startu izbeći razne probleme koji mogu da nastanu zbog podrazumevanih vrednosti; a tih grešaka je posebno mnogo dok se ne ispraksiraš.
cccc.394 herak,
>> Trebam da procitam neke podatke iz datoteke i strpam ih u listu ali mi ------ >> fread uvijek vraca 0 a to mi je uslov izlaska iz petlje. Probao sam sto >> sam znao ali ne ide. Ideja vise nemam. Posto ne radim za NASU kod je tu: >> P.S. Datoteka postoji i duzina joj nije 0 Trebam - (Syntax error at line 1. Replace it with Treba.) fread --------------------------- Function - Reads data from a stream Syntax - #include <stdio.h> size_t fread(void *ptr, size_t size, size_t n, FILE *stream); Remarks - fread reads n items of data, each of length size bytes, from given input stream into a block pointed by *ptr. The total number of bytes is (n x size). Return value - On succesful copmletion, fread returns the number of items (not bytes) actualy read. It returns short count, (possibly 0) on end-of-file or error. Ovo je iz BORLAND C++ 3.1 Programer's reference guide. ----------------------------------------------------- Ne mogu ti reći ništa odredjenije, ne znam strukturu KONTO, tr_konto... Takodje preporučujem da koristiš strncpy funkciju umesto strcpy, jer imaš bolji pregled o veličinama koje kopiraš, funkciju calloc umesto malloc, jer ova automatski nuluje sve memorijske lokacije, tako da se ne moraš brinuti o djubretu koje ostaje od ranije na ovim lokacijama. Malo sam se i zamislio i evo, ovo ti je umesto odgovora. Dati su ti fajlovi try.c, try.exe i proba.dat. Problem sam redukovao na to da iščitam niz karaktera iz fajla i sastavim reč. Potpuno analogno se radi i sa slogovima, osim što je umesto karaktera potrebno staviti drugu strukturu koja ti predstavlja slog. Mrzi me sada da ti još nešto nagvaždam, nego gledaj ti malo program, pa ako ima pitanja da razvijemo disku- siju, ako nema, nikem ništa. Nadam se da će ti ovo bar malo pomoći. Logika ti je bila ok, ali pripazi oko izvedbe (pointera). Pozdrav, Herak. #include <stdio.h> #include <stdlib.h> #include <mem.h> FILE *out; typedef struct all { char c; struct all *next; } S; #define S0 (struct all *)0 void rc(S**zika) { char cur; if(fread(&cur, 1, 1, out) != 0) { *zika = (S*) calloc (1, sizeof(S)); (*zika)->next = S0; memcpy(&((*zika)->c), &cur, 1); rc(&((*zika)->next)); } } void main() { S *head = (S *)0; S *lptr; out = fopen("proba.dat", "r"); rc(&head); lptr = head; while (lptr != S0) { printf("%c", lptr->c); lptr = lptr->next; } fclose(out); } try.zip
cccc.395 todorp,
> tj kada se prvi put pozove funkcija konto_load , fread odmah vraca 0. > Dakle, datoteka postoji zadovoljavajuce duzine, pointer za citanje iz > datoteke na pocetku, a prvi put pozvani fread vraca 0. :((((( E priznajem da nisam gledao poruku gde je sors jer je ostala u proslom pakovanju baze. Mrzi me da sad kopam po sezamu. Nego, pade mi na pamet da probas da ubacis jedan fflush() ili fflushall() pa probaj. Moglo bi da bude ovo :) ako si nesto neposredno pre upisivao u to sto hoces da citas. Na stranu to zasto ne napravis neki buffer u memoriji po kome ces da brljas pa onda to sunes na disk. Malo mi je glupo da pises pa citas :) Pozdrav od Todora
cccc.396 niklaus,
(:>>> Trebam da procitam neke podatke iz datoteke i strpam ih u listu ali (:> mi ------ (:> Trebam - (Syntax error at line 1. Replace it with Treba.) Ne sećam se zašto, ali u zadatom kontekstu nepravilno je koristiti glagol 'trebati' u obliku različitom od 'trebalo', tako da bi početak rečenice TREBALO da glasi: "Trebalo bi da pročitam..." (:> Pozdrav, Herak. Pozdrav i tebi. (: Odličan prilog, naročito za nas "paCijente". (: (: Sean :)
cccc.397 markom,
Ljudi, imam jedan problemčić :) Naime, imam jednu asemblersku rutinu koju ne znam kako da spojim sa C-om :(( U pitanju je BC 3.1, ako ima nekih dobrih duša da mi pomognu neka mi se obrate mailom, pa ću mu detaljno objasniti u čemu je stvar :) Unapred zahvalan, Marko
cccc.398 ficus,
:) U pitanju je BC 3.1, ako ima nekih dobrih dusa da mi pomognu neka mi se :) obrate mailom, pa cu mu detaljno objasniti u cemu je stvar :) Tebe verovatno zeza calling protokol pazi c++ (bc3.1) ne naziva funkcije isto kao ostali tako da ces morati da malo pazis na ime i to je sve probaj sa modifikatorima (_cdecl,external...) zaboravio sam sta tacno treba ali pazi na razliku u imenu jer funkcija kao int f(int) se ne prevodi kao f nego kao f_qi ili tako nesto drugi nacin je da iskljucis c++ kompilaciju (provereno sljaka) a treci daa i ti krstis funkciju u asm-u kako bc-u odgovara. ovo sa imenima je uvedeno zbog overloadovanja f-ija tako da ustvari f(int) i f(char) nisu ista vec dve razlicite f-ije sa razlicitim imenima.
cccc.399 postmast,
Path: fon!dcolak From: dcolak@fon (Damir Colak) Subject: Quick C for Win Organization: Fakultet Organizacionih Nauka, Beograd Date: Fri, 18 Feb 1994 02:55:02 GMT Message-ID: <CLEG3s.AJn@fon> X-Newsreader: TIN [version 1.1 PL9] Pozdrav Sezamovcima, odavnde sa FON-a... :) Ellem, jedno pitanje, koja je poslednja verzija Quick C for Win? Da li je microsoft zaboravio na taj paket ili se i dalje razvija? Sledge DAMMIR! -- --- Testing of .Signature File :)
cccc.400 dzoric,
Hi, Skinuo sam sa Sezam-a disasembler OBJ datoteka koji je pisan u MS C 4.0, pa nikako ne mogu da dobijem EXE sa MS C 6.0 pa bih molio nekoga da mi posalje MAK file ili EXE. Na Sezam-u OBJ2ASM.ZIP.
cccc.401 postmast,
Path: fon!bojov From: bojov@fon (Bojan Jovanovic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Thu, 24 Feb 1994 17:01:01 GMT Message-ID: <CLqn9s.BAL@fon> X-Newsreader: TIN [version 1.1 PL9] References: <sezam$cccc:01.095.3044@sezam> Da li neko zna ovo: 1. format .EXE fajla i kako loader smesta CODE segmente u memoriju? 2. kada se formira adresa za far call neke funkcije (pre ucitavanja ili za vreme ucitavanja programa)? 3. Da li neko MOZDA ima sours kod za loader (.c ili .asm sve jedno)? -- Bojan Jovanovic , student Fakultet Organizacionih Nauka bojov@fon.fon.uni-bg.yu Univerzitet u Beograd -- [ Radi bolje ako ga ukljucis! ]
cccc.402 bulaja,
**** new file **** R:\IBMPC\C\*.* ---------------------- pxeng301 a01 200041* Paradox Engine v3.01 - update sa verzije 3.0 (DOS/Win) pxeng301 a02 199092* Paradox Engine v3.01 - update sa verzije 3.0 (DOS/Win)
cccc.403 jovca.car,
/* Da li neko zna ovo: /* /* 1. format .EXE fajla i kako loader smesta CODE segmente u memoriju? Pogledaj u /msdos/help/dosref31.zip na FFS-u. EXE format ima sigurno, ovo ostalo verovatno.
cccc.404 dragisha,
Subject: Re: cccc -> 1. format .EXE fajla i kako loader smesta CODE segmente u memoriju? HELPPC, THELP... Za potpunu informaciju moraćeš konsultovati osim .EXE i .MAP. Borlandov TDUMP će ti pomoći oko pregleda .EXE headera i relokacione tabele, a .MAP oko pozicija i atributa segmenata (code, data, bss, stack) u okviru .EXE. -> 2. kada se formira adresa za far call neke funkcije (pre ucitavanja ili -> za vreme ucitavanja programa)? Adresa je prije učitavanja izražena relativno. Pri učitavanju se na sadržaj svake lokacije iz relokacione tabele doda adresa početka, valjda PSP-a. Objekte koji odgovaraju tim relativnim adresama možeš pokupiti iz .MAP fajla. -> 3. Da li neko MOZDA ima sours kod za loader (.c ili .asm sve jedno)? Imam nešto slično:). TSLOCATE.MOD od .EXE pravi sadržaj za ROM i ako znaš Pascal (M2?:), mail me da ti pošaljem demo verziju jer je isti comm.:) -> [ Radi bolje ako ga ukljucis! ] :) -- [To do two things at once is to do neither.]
cccc.405 afilipovic,
Interesuju me dodatne informacije o Paradox Engine 3.01. Da li se to prodaje kao zaseban program ili je deo nekog paketa kao TVision u okviru Turbo C++ 3.1. Pozdrav, Nenad
cccc.406 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Tue, 1 Mar 1994 14:01:22 GMT Message-ID: <CLzoAC.EMr@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:01.095.4052@sezam> Sender: news@fon (News) Aco Filipovic (afilipovic@sezam.UUCP) wrote: : Interesuju me dodatne informacije o Paradox Engine 3.01. Da li se to : prodaje kao zaseban program ili je deo nekog paketa kao TVision u okviru : Turbo C++ 3.1. Prodaje se posebno. Inace, mozes da kupis i Database FrameWork sa klasama za C++, koji je nadgradnja Engine-a.
cccc.407 mjova,
> Interesuju me dodatne informacije o Paradox Engine 3.01. > Da li se to prodaje kao zaseban program ili je deo nekog > paketa kao TVision u okviru Turbo C++ 3.1. prodaje se kao poseban 'program' - radi se o .lib.
cccc.408 vpudar,
Subject: PC Joystick Help! Da li je moguće napraviti dovoljno brzu rutinu za očitavanje potenciometara analognog džojstika? Originalna BIOS rutina je jezivo spora, verovali ili ne, ova petlja (30 iteracija) se izvršava čitavu sekundu: for (i = 1; i < 30; i++) readstick(); void readstick(void) { asm { mov ah, 0x84 mov dx, 1 int 0x15 mov joy1x, ax mov joy1y, bx mov joy2x, cx mov joy2y, dx } } Znam za princip rada (uopšte mi se ne dopada), moram meriti vreme između dva intervala, ali opet... Kako to rešavaju u igrama, tamo mora da radi brzo i u realnom vremenu? time = 24.2Š + ( 0.011Š * resistance ) or resistance = ( time - 24.2 ) / 0.011
cccc.409 niklaus,
Iskopah neki 'bunch' sorsova softverskog MNPa. (praistoriska verzija) Pošto je pisan za MicroSoft C v4.0 (verzija četvrta), zamolio bih neku dobru dušu da mi pošalje sledeće _nestandardne_ C header-e: asynch_2.h, asynch_m.h žini mi se da je to sve što mi je zafalilo pri kompajliranju pod Borland- -ovim kompajlerom. Mada bi premija bila da ako je neko zadržao ceo MSC4.0... (: Sean :) mnpc12.zip
cccc.410 cnenad,
CREAD THIS ! CNN SEZ: C, CCCCCCCCCCCCCCCCC !
cccc.411 markom,
*** C, CCCCCCCCCCCCCCCCC ! Misliš C sucks ? Slažem se O:) Marko
cccc.412 darone,
(plaćeni oglas ;) Ipak je Paskal najbolji... iako ja mrzim programiranje iz dna duše ;)
cccc.413 paki,
­> Ipak je Paskal najbolji... iako ja mrzim programiranje iz dna duše ;) Definitivno bolji od Cea ;)
cccc.414 postmast,
Path: fon!Osmeh.FON.Uni-BG.YU!ak From: ak@Osmeh.FON.Uni-BG.YU (Aleksandar Kircanski) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Sat, 12 Mar 1994 20:09:15 GMT Message-ID: <CMKInG.5un@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:001.0095.4241@sezam> <sezam$cccc:01.095.4247@sezam> Sender: news@fon (News) -- Marko Milivojevic (markom@sezam.UUCP) wrote: _-=> Mislis C sucks ? Slazem se O:) I ja se slazem ;). c sux ;) --- Aky - Kircanski Aleksandar kircansk@tesla.mcs.com
cccc.415 postmast,
Path: fon!news From: panzer@orao.etf.uni-bg.yu (Mijuskovic Veselin) Subject: Re: cccc Reply-To: panzer@orao.etf.uni-bg.yu (Mijuskovic Veselin) Organization: ETF - Dept. of Ph. El. Date: Sun, 13 Mar 1994 14:35:42 GMT Message-ID: <CMLxvI.Kyw@fon> Lines: 22 X-Newsreader: mxrn 6.18-4 References: <sezam$cccc:001.0095.4241@sezam> <sezam$cccc:01.095.4247@sezam> <CMKInG.5un@fon> Sender: news@fon (News) In article <CMKInG.5un@fon>, ak@Osmeh.FON.Uni-BG.YU (Aleksandar Kircanski) writes: > >-- Marko Milivojevic (markom@sezam.UUCP) wrote: > >_-=> Mislis C sucks ? Slazem se O:) > >I ja se slazem ;). >c sux ;) Interesantno da obojica radite na sistemima pisanim skoro u potpunosti na C-u. C FOREVER! (FLEXIBILITY & POWER OF ASSEMBLY LANGUAGES + READABILITY OF ASSEMBLY LANGUAGES) -- Panzer In real life : Mijuskovic Veselin Internet : panzer@orao.etf.uni-bg.yu /Meeyoushkowitch Veselyn/ DECnet : buefq5::mijusk37088d
cccc.416 ficus,
C FOREVER! (FLEXIBILITY & POWER OF ASSEMBLY LANGUAGES + READABILITY OF ASSEMBLY LANGUAGES) -- Panzer ------------------------------------------------- long live c++ ali jedno pitanje zasto samo paskalovci napadaju c-ovce (mozda ovo nije za ovu conf ali ajde) mnogo redje neki c-ovac pljuje po paskalu. Da je razlog to sto je paskal bolji presli bi na pascal ali cini mi se da je razlog ovaj: vecina ljudi prvo nauci pascal i onda smatra da je to najbolji jez. skoro svi c-ovci su nekad radili u pascalu i zakljucili da im c vise prija pa ga naucili ali ovi drugi nikad nisu nista ozbiljno probali u c-u. Kod mene u skoli svi koji su ostali na pascalu nikad nisu ni naucili c posteno dok svi koji su naucili c rade u c-u (mislim dobro naucili)
cccc.417 markom,
*** C FOREVER! (FLEXIBILITY & POWER OF ASSEMBLY LANGUAGES + *** READABILITY OF ASSEMBLY LANGUAGES) E, obrati pažnju na ovo: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); Ako je tebi ovo čitljiv kod, onda treba da odeš kod lekara :) (NHF O:)) 'bem ti kompajler koji može _ovo_ da proguta. Marko P.S. Primer nisam ja smislio, prepisan je iz Računara 75.
cccc.418 mnikolic,
>> for(;P("Đn"),R-;P("đ"))for(e=C;e-;P("_"+(*u++/8)%2))P("đ "+(u/4)%2); >> >> Ako je tebi ovo čitljiv kod, onda treba da odeš kod lekara :) (NHF O:)) >> 'bem ti kompajler koji može _ovo_ da proguta. Nije čitljiv, a to što si pročitao je bila neka zezalica. BTW, Turbo Pascal na koji vi svi mislite, i nije pravi Pascal, a što se tiče C-a na njemu možeš da uradiš stvari koje na Pascalu ne možeš, ili ako i možeš onda je to takav krpež da je bolje sve to baciti. Vlada
cccc.419 markom,
*** Nije čitljiv, a to što si pročitao je bila neka zezalica. C-ov kompajler i pored toga guta ovakve stvari ... *** BTW, Turbo Pascal na koji vi svi mislite, i nije pravi Pascal, Pa ni Borlandov i Microsoftov C nisu baš _pravi_ C :) Marko
cccc.420 dcolak,
Sorry što dupliram poruku iz 'algoritmi'.. Treba mi program u C-u (rutina, funkcija) za generisanje Random (slučajnih) brojeva. Koristim MSC 6.0 i ne želim neke TC/BC ezoterije :) Nije mi zgodno da koristim SRAND i RAND iz MSC-a jer je potrebno zadavati različite SEED vrednosti. Stvar je u tome da je za isti SEED uvek isti slučajan broj (i to ma koliko puta ponovio, za isti seed uvek će iste skupine brojeva izaći).. So, ima li saveta kako da RND-ujem SEED i kako da ograničim long na 0 - 100? Daklem, šaljite rutine (MSC) ne bilo vam zapoveđeno! P.S. Najviše će mi prijati čista C rutina.. :) Sledge DAMMIR!
cccc.421 postmast,
Path: fon!news From: panzer@orao.etf.uni-bg.yu (Mijuskovic Veselin) Subject: Re: cccc Reply-To: panzer@orao.etf.uni-bg.yu (Mijuskovic Veselin) Organization: ETF - Dept. of Ph. El. Date: Mon, 14 Mar 1994 10:03:57 GMT Message-ID: <CMnFyL.GAL@fon> Lines: 43 X-Newsreader: mxrn 6.18-4 References: <sezam$cccc:001.0095.4260@sezam> <sezam$cccc:01.095.4268@sezam> Sender: news@fon (News) In article <sezam$cccc:01.095.4268@sezam>, "Marko Milivojevic" <markom@sezam.UUCP> writes: > >E, obrati paznju na ovo: > >for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); > >Ako je tebi ovo citljiv kod, onda treba da odes kod lekara :) (NHF O:)) >'bem ti kompajler koji moze _ovo_ da proguta. > Ja na to gledam kao na prednost! Ako tvoj paskal kompajler ne proguta *ovo*, slobodno ga baci u smece: forward;procedure giveerrhelp;forward;{procedure debughelp;forward;} {:78}{81:}procedure jumpout;begin goto 9998;end;{:81}{82:} procedure error;label 22,10;var c:ASCIIcode;s1,s2,s3,s4:integer; begin if history<2 then history:=2;printchar(46);showcontext; if interaction=3 then{83:}while true do begin 22:clearforerrorprompt; begin;print(264);terminput;end;if last=first then goto 10; c:=buffer[first];if c>=97 then c:=c-32;{84:} case c of 48,49,50,51,52,53,54,55,56,57:if deletionsallowed then{88:} begin s1:=curtok;s2:=curcmd;s3:=curchr;s4:=alignstate; alignstate:=1000000;OKtointerrupt:=false; if(last>first+1)and(buffer[first+1]>=48)and(buffer[first+1]<=57)then c:= c*10+buffer[first+1]-48*11 else c:=c-48;while c>0 do begin gettoken; c:=c-1;end;curtok:=s1;curcmd:=s2;curchr:=s3;alignstate:=s4; Ovo je deo koda za TeX, dobijen iz tex.web uz pomoc tangle programa. BTW, citljivost programa zavisi od onog ko ga je pisao, a ne od samog jezika ili kompajlera. U tom slucaju COBOL bi bio ultimativni jezik! -- Panzer In real life : Mijuskovic Veselin Internet : panzer@orao.etf.uni-bg.yu /Meeyoushkowitch Veselyn/ DECnet : buefq5::mijusk37088d
cccc.422 postmast,
Path: fon!breza!smilic From: smilic@breza (Sasa Milic) Subject: Re: cccc Organization: Fakultet Organizacionih Nauka, Beograd Date: Mon, 14 Mar 1994 14:43:10 GMT Message-ID: <CMnsvy.L07@fon> X-Newsreader: TIN [version 1.2 PL1] References: <sezam$cccc:001.0095.4260@sezam> <sezam$cccc:01.095.4268@sezam> Sender: news@fon (News) Marko Milivojevic (markom@sezam.UUCP) je napisa-la/o: : E, obrati paznju na ovo: : for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); : Ako je tebi ovo citljiv kod, onda treba da odes kod lekara :) (NHF O:)) : 'bem ti kompajler koji moze _ovo_ da proguta. To sto kompajler to moze da proguta ne znaci da tako treba pisati. Ovaj primer mora da je smislio neko ko mrzi C, a jos ga i nezna posto ima greska tako da to nijedan kompajler ne bi progutao: : for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); ^^ ^^ Sasa
cccc.423 djelovic,
> Nije mi zgodno da koristim SRAND i RAND iz MSC-a jer je potrebno zadavati > različite SEED vrednosti. Stvar je u tome da je za isti SEED uvek isti > slučajan broj (i to ma koliko puta ponovio, za isti seed uvek će iste > skupine brojeva izaći).. Koristi funkciju randomize (). > So, ima li saveta kako da RND-ujem SEED i kako da ograničim long na 0 - 100 > Daklem, šaljite rutine (MSC) ne bilo vam zapoveđeno! I za to bi trebala da postoji funkcija. Ukoliko je nema, uvek možeš da uradiš jedno: broj = rand () % 101. P.S. Jel ti još uvek treba algoritam za slučajne brojeve? [ C programmers are better lovers. ]
cccc.424 vcalic,
>> C-ov kompajler i pored toga guta ovakve stvari ... Ne guta, probaj pa ćeš videti. >> Pa ni Borlandov i Microsoftov C nisu baš _pravi_ C :) Jesu!!! Pravi !!! Imaju doduše i ekstenzije za podršku MSDOS-a ali to su bibliotečke funkcije koje predstavljaju stvar definisanu pri samom kreiranju jezika. A TP sadrži i stringove, rad sa memorijom i razne druge zezalice koje Pascal inače nema. O podršci za MSDOS, ekvivalentnoj onoj kod C kompajlera, da i ne govorim. Vlada
cccc.425 markom,
*** To sto kompajler to moze da proguta ne znaci da tako treba pisati. Ovaj *** primer mora da je smislio neko ko mrzi C, a jos ga i nezna posto ima *** greska tako da to nijedan kompajler ne bi progutao: Koliko sam ja shvatio, taj primer je pisao zzivotic ... *** : for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); Ove greške sam i ja primetio, ali ih nisam ispravljao iz tog razloga jer je to citat, a ako bilo šta promenim to ipak nije citat, shvataš ? :) Marko
cccc.426 dcolak,
│> Nije mi zgodno da koristim SRAND i RAND iz MSC-a jer je potrebno zadavati │> različite SEED vrednosti. Stvar je u tome da je za isti SEED uvek isti │> slučajan broj (i to ma koliko puta ponovio, za isti seed uvek će iste │> skupine brojeva izaći).. │ │ Koristi funkciju randomize (). Nisam pronašao takvu funkciju u MSC-u... Inače, za isti seed uvek ću iste brojeve dobijati. Zar ne postoji neki RND generator koji uzima recimo položaj scan mlaza na monitoru ili nešto slično? Random generator u MSC mi je neupotrebljiv. Ne mogu seed da vežem za vreme, jer lako će ljudi "tempirati" da uđu u program u određeno vreme. Dakle, i dalje tražim nešto što će mi uvek davati različite slučajne brojeve.. Sledge DAMMIR!
cccc.427 djelovic,
> Inače, za isti seed uvek ću iste brojeve dobijati. Zar ne postoji > neki RND generator koji uzima recimo položaj scan mlaza na monitoru > ili nešto slično? Randomize uzima trnutno vreme i koristi ga kao seme. Neverovatno mi je da MSC nema takvu ili slučnu funkciju. > Random generator u MSC mi je neupotrebljiv. Ne mogu seed da vežem > za vreme, jer lako će ljudi "tempirati" da uđu u program u određeno > vreme. Tačno u određenu stotinku? Sumnjam.
cccc.428 zdule,
███ Interesantno da obojica radite na sistemima pisanim skoro u ███ potpunosti na C-u. Pa šta ako rade na sistemima pisanim u C-u to ne mora da znači da moraju da vole C, C je ružan jezik. ZDule...
cccc.429 zdule,
███ se tiče C-a na njemu možeš da uradiš stvari koje na Pascalu ███ ne možeš, ili ako TP + ASM šta ćeš više? ZDule...
cccc.430 markom,
*** Dakle, i dalje tražim nešto što će mi uvek davati različite slučajne *** brojeve.. Hmm nisam siguran za adresu, ali mislim da je 40h:40h. Tamo imaš jedan brojač koji ide od 255 do 0 i mislim da on ima neke veze sa motorom flopi diska, ali glavno je da se on non stop vrti k'o lud. Mogao bi da kao seed koristiš trenut- nu vrednost ovog brojača ... Marko
cccc.431 vcalic,
>> ███ se tiče C-a na njemu možeš da uradiš stvari koje na Pascalu >> ███ ne možeš, ili ako >> TP + ASM šta ćeš više? Ja rek'o na Pascal-u, a ne na Pascalu+asembleru. A mogao si da kažeš i ASM - šta ćeš više ;) Kada se radi u C-u, veoma je retko stvarno potreban asembler. Uglavnom se koristi za ubrzavanje kritičnih delova programa. Vlada
cccc.432 vcalic,
>> Pa šta ako rade na sistemima pisanim u C-u to ne mora da znači >> da moraju da vole C, C je ružan jezik. Mislim da je veoma precizan i konkretan, a to su osobine koje zahteva programski jezik. Meni lično je i savršeno logičan. Pascal vidim kao čisto "gubljenje vremena" radi prilagođavanja pravilima jezika. C i C++ sadrže sve lepe osobine Pascal-a, a pri tom nemaju neke ružne osobine Pascala :) Vlada
cccc.433 dcolak,
│> Nije mi zgodno da koristim SRAND i RAND iz MSC-a jer je potrebno zadavati │> različite SEED vrednosti. Stvar je u tome da je za isti SEED uvek isti │> slučajan broj (i to ma koliko puta ponovio, za isti seed uvek će iste │> skupine brojeva izaći).. │ │ Koristi funkciju randomize (). Nisam pronašao takvu funkciju u MSC-u... Inače, za isti seed uvek ću iste brojeve dobijati. Zar ne postoji neki RND generator koji uzima recimo položaj scan mlaza na monitoru ili nešto slično? Random generator u MSC mi je neupotrebljiv. Ne mogu seed da vežem za vreme, jer lako će ljudi "tempirati" da uđu u program u određeno vreme. Dakle, i dalje tražim nešto što će mi uvek davati različite slučajne brojeve.. Sledge DAMMIR!
cccc.434 dcolak,
│ Randomize uzima trnutno vreme i koristi ga kao seme. Neverovatno mi je da │ MSC nema takvu ili slučnu funkciju. Tako nešto ne postoji, so, sam sam uzeo prosto SRAND((unsigned)time(NULL)) pre svakog zadavanja randoma ;) BTW, koji C koristiš? │ Tačno u određenu stotinku? Sumnjam. Well, postoje šanse ;) Inače, šteta što nemam rutinu koja recimo skida poziciju mlaza na ekranu i to ubaci u kao seed ;) Sledge DAMMIR!
cccc.435 vitez.koja,
#=> Dakle, i dalje tražim nešto što će mi uvek davati #=> različite slučajne brojeve.. Na spektrumu ;)) se to rešavalo sistemskom promenljivom u kojoj je čuvan broj prikazanih poluslika od poslednjeg reseta. žini mi se da na PCu postoji pandan ovome, valjda brojač taktova, čiji je donji bajt praktično slučajan broj. Javlja mi se da sam nekada video generator slučajnih brojeva u asembleru pisan na ovaj način, ali ga se slabo sećam. Pada mi na pamet ideja kako bi se ovo moglo simulirati (za čime nema nikakve potrebe, jer ovo prvo je hardversko rešenje, ali eto). Postoji interapt koji se poziva 1000 puta u sekundi. Tu umetneš svoju rutinicu (vrlo kratku, samo uvećavaš jedan bajt). I eto slučajnog broja :)
cccc.436 dcolak,
│ Dakle, i dalje tražim nešto što će mi uvek davati različite slučajne │ brojeve.. Shit, dupli Exec. Kako nije mi jasno :( Sledge DAMMIR!
cccc.437 janko,
> Tako nešto ne postoji, so, sam sam uzeo prosto > SRAND((unsigned)time(NULL)) pre svakog zadavanja randoma > ;) BTW, koji C koristiš? Imam odgovor na tvoje pitanje, kako da uvek dobijaš kvalitetan RND između sesija... Još da nisi malo preterivao u o.jeziku ;) odmah bih ti napisao... ovako, nekako me mrzi... napišem ti za neki dan?
cccc.438 postmast,
From: panzer@orao.etf.uni-bg.yu (Mijuskovic Veselin) Subject: Re: cccc Date: Wed, 16 Mar 1994 11:44:28 GMT In article <sezam$cccc:01.095.4297@sezam>, "Dusan Mihajlovic" <zdule@sezam.UUCP> writes: > Pa sta ako rade na sistemima pisanim u C-u to ne mora da znaci >da moraju da vole C, C je ruzan jezik. > 1. I tenk je ruzan u odnosu na Porshe 959, ali sa tenkom se moze uraditi *mnogo* vise, sto domaci primeri vrlo lepo pokazuju. 2. Za mene, C je lep jezik. -- Panzer In real life : Mijuskovic Veselin Internet : panzer@orao.etf.uni-bg.yu /Meeyoushkowitch Veselyn/ DECnet : buef78::mijusk37088d
cccc.439 janko,
Ovo je više za temu algoritmi, u suštini... Problem generisanja novog random broja po svakom aktiviranju programa rešava se SNIMANJEM tekuće verzije seed-a na disk ili neku drugu memoriju koja "preživljava" vreme između dva aktiviranja programa. Ako je seed iz bibliotečkih funkcija nedostupan, lako je napisati sopstvenu verziju rutine za generisanje slučajnih brojeva (nikako napamet, već iskoristiti postojeće kvalitetno rešenje). Za inicijalno generisanje seed-a, treba uzeti neki slučajan događaj. Neki programi za kriptografisanje mere vremena između otkucaja tastature, nekog smislenog teksta. Ovo merenje je hardverski zavisno, jer je potrebna relativno visoka rezolucija tajmera. Koliko složeni postupak treba primeniti zavisi od kvaliteta generatora slučajnih brojeva.
cccc.440 dcolak,
│ Imam odgovor na tvoje pitanje, kako da uvek dobijaš kvalitetan RND │ između sesija... Još da nisi malo preterivao u o.jeziku ;) odmah bih ti │ napisao... ovako, nekako me mrzi... napišem ti za neki dan? Hehehe, ne moraš se truditi :) srand((unsigned)time(NULL)) radi posao, i to zadovoljavajuće :)) P.S. Imam gomilu raytrace rutina (prekucanih sa amige), da li si zainteresovan? ... E NEEEEMAAAA! :)) Sledge DAMMIR!
cccc.441 dcolak,
│ Ako je seed iz bibliotečkih funkcija nedostupan, lako je napisati │ sopstvenu verziju rutine za generisanje slučajnih brojeva (nikako │ napamet, već iskoristiti postojeće kvalitetno rešenje). I opet birati seed, na koji način?! Tvoja pomoć mi je ogromna. I šta sad da ja radim sa tvojim "helpom?" Zašto nisi dao neki source?! Kao što rekoh ranije, srand((unsigned)time(NULL)); je više nego dovoljan. BTW, popio si ignore.. Sledge DAMMIR!
cccc.442 postmast,
From: smilic@breza (Sasa Milic) Subject: Re: cccc Date: Thu, 17 Mar 1994 10:22:13 GMT Marko Milivojevic (markom@sezam.UUCP) je napisa-la/o: : Koliko sam ja shvatio, taj primer je pisao zzivotic ... : *** : for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(u/4)%2); Zoran Zivotic je jednom napisao da je koristio u software-u za SEZAM i do 7 zvezdica !!! Onda me ni ovaj primer ne cudi.
cccc.443 kale,
>> Problem generisanja novog random broja po svakom aktiviranju programa >> rešava se SNIMANJEM tekuće verzije seed-a na disk ili neku drugu >> memoriju koja "preživljava" vreme između dva aktiviranja programa. Moram priznati da ne razumem zašto se ne koristi sistemski sat. Vreme startovanja programa na jednom računaru nikad (osim u ekstremnom slučaju) nije isto. Koliko sam razumeo, nije potreban neki jako dugačak "seed" kada bi ovo bilo nedovoljno. Zavisno od algoritma za dobijanje random broja može se desiti da prvi broj dobijen za seed-ove recimo između 123400000 i 123500000 bude isti. Ovaj problem se može rešiti pozivanjem funkcije random recimo 20 ili 100 puta neposredno po inicijalizaciji seed-a. Pozdrav!
cccc.444 maksa,
>> Tvoja pomoć mi je ogromna. I šta sad da ja radim sa tvojim >> "helpom?" Zašto nisi dao neki source?! Ajd' da ponovim: C source programa koji generiše rnd brojeve imaš u računarima 88, Januar '93, Bajtovi godine, slika 8. Kažu da je najbolji.
cccc.445 janko,
> Kao što rekoh ranije, srand((unsigned)time(NULL)); je više > nego dovoljan. Moguće da ti je dovoljan. Znači da ti i nije trebao previše slučajan broj. > Zašto nisi dao neki source?! Da ne misliš da ja imam neke obaveze prema tebi? Na osnovu čega očekuješ tako nešto? Kako se ponašaš, ne zaslužuješ ni ovoliko, koliko si dobio. Nije mi žao, jer ne čitaš samo ti ovo -- nekom će, možda, koristiti. > BTW, popio si ignore.. Ne zanima me.
cccc.446 janko,
> Moram priznati da ne razumem zašto se ne koristi sistemski > sat. Vreme startovanja programa na jednom računaru nikad > (osim u ekstremnom slučaju) nije isto. Koliko sam > razumeo, nije potreban neki jako dugačak "seed" kada bi > ovo bilo nedovoljno. Zavisi od potreba. Ako je potrebna relativno mala slučajnost inicijalne vrednosti, (npr. igre) sistemski sat može biti dovoljan. Negde nije potrebno ni toliko. Takođe, dcolak je pitao i kako da izbegne mogućnost da neko podesi vreme pre startovanja programa, ako se sećam... > Zavisno od algoritma za dobijanje random broja može se > desiti da prvi broj dobijen za seed-ove recimo između > 123400000 i 123500000 bude isti. Ovaj problem se može > rešiti pozivanjem funkcije random recimo 20 ili 100 puta > neposredno po inicijalizaciji seed-a. Broj pozivanja funkcije random _neće_ ti povećati slučajnost broja. Matematički lako dokazivo. Početak niza slučajnih brojeva, zavisi od načina generisanja prvog seed-a. Nadalje, kvalitet _niza_ brojeva je određen kvalitetom generatora. Zato se ovi generatori i zovu, negde, generatori _pseudoslučajnih_ brojeva.
cccc.447 markom,
*** Zoran Zivotic je jednom napisao da je koristio *** u software-u za SEZAM i do 7 zvezdica !!! Pointer na pointer pointera na pointer pointera na pointer, idi bre :)
cccc.448 dcolak,
│ Ajd' da ponovim: C source programa koji generiše rnd │ brojeve imaš u računarima 88, Januar '93, Bajtovi godine, │ slika 8. Kažu da je najbolji. Tnx, pogledao sam, mnogo je dug za prepisivanje ;) Sledge DAMMIR!
cccc.449 bigbrada,
*>> 1. I tenk je ruzan u odnosu na Porshe 959, ali sa tenkom se *>> moze uraditi *mnogo* vise Zavisi šta radiš. Brada.
cccc.450 .bata.,
ŔŔŔ for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| ŔŔŔ "+(u/4)%2); ŔŔŔ ŔŔŔ Ako je tebi ovo citljiv kod, onda treba da odes kod lekara :) ŔŔŔ (NHF O:)) Interesantno je i to sto ljudi koji pljuju po C-u ne znaju isti ;) Lekar ? pa to je diskutabilno i uvredljivo mogu da ti kazem, a sto se zamrsenih sintaksi tice ovakve stvari se vrlo retko koriste u praksi, a siguran sam da bi neko ko dobro zna Pascal mogao da napise neku isto tako morbidnu sintaksu..
cccc.451 .bata.,
ŔŔŔ Pa sta ako rade na sistemima pisanim u C-u to ne mora da ŔŔŔ znaci da moraju da vole C, C je ruzan jezik. Dule i ti si interesantan kako znas da je neki jezik ruzan kad ga ni ne znas ??
cccc.452 .bata.,
ŔŔŔ [ C programmers are better lovers. ] :))))))))) Car si :)
cccc.454 kale,
>> > Zavisno od algoritma za dobijanje random broja može se >> > desiti da prvi broj dobijen za seed-ove recimo između >> > 123400000 i 123500000 bude isti. Ovaj problem se može >> > rešiti pozivanjem funkcije random recimo 20 ili 100 puta >> > neposredno po inicijalizaciji seed-a. >> Broj pozivanja funkcije random _neće_ ti povećati slučajnost broja. Neće ni tebi. ;))) Nisam ni tvrdio to za šta me negiraš. Ako bi se prva vrednost funkcije random uzela za izbor jedne od malog broja opcija (recimo jedne od dve jednako verovatne mogućnosti), lako bi se moglo desiti (zavisi od algoritma za funkciju random) da po startovanju programa prvo opredeljenje računara satima ostane isto, a to je predvidljivo i svakako nepoželjno. Ako po zadavanju seed-a pozoveš random funkciju 100 puta pre nego što prvu vrednost (preciznije, koristiš sto prvu, sto drugu, ...) upotrebiš za nešto, vrlo je verovatno da će dobijeni nizovi pseudoslučajnih brojevi biti "ni nalik" čak i ako im se seed-ovi razlikuju samo za 1. Pozdrav, Kale
cccc.455 maksa,
>> │ Ajd' da ponovim: C source programa koji generiše rnd >> │ brojeve imaš u računarima 88, Januar '93, Bajtovi godine, >> >> Tnx, pogledao sam, mnogo je dug za prepisivanje ;) Za lenje: ;) R:\RSOFT\R088BLP.ZIP
cccc.456 markom,
*** Interesantno je i to sto ljudi koji pljuju po C-u ne znaju isti ;) Pa ni ti nisi pokazao baš neko poznavanje Pascala pa opet pljuješ po njemu kad stigneš ...
cccc.457 dcolak,
│ Za lenje: ;) │ │ R:\RSOFT\R088BLP.ZIP Baš ti hvala :)) No, u tim računarima nisam našao tekst koji ide uz listing :)) Ma, sve je išlo šašavo sa tim brojem :) Sledge DAMMIR!
cccc.458 janko,
> Ako bi se prva vrednost funkcije random uzela za izbor > jedne od malog broja opcija (recimo jedne od dve jednako > verovatne mogućnosti), lako bi se moglo desiti (zavisi od > algoritma za funkciju random) da po startovanju programa > prvo opredeljenje računara satima ostane isto, a to je > predvidljivo i svakako nepoželjno. Ako po zadavanju > seed-a pozoveš random funkciju 100 puta pre nego što prvu > vrednost (preciznije, koristiš sto prvu, sto drugu, ...) > upotrebiš za nešto, vrlo je verovatno da će dobijeni > nizovi pseudoslučajnih brojevi biti "ni nalik" čak i ako > im se seed-ovi razlikuju samo za 1. Izgleda da koristiš jako loše generatore slučajnih brojeva? Ono što si gore opisao je potpuno irelevantno. Svaki kvalitetan generator će ti odmah dati nizove "ni nalik" i ako se vrednost seed-a razlikuje za jedan. Opet ti ponavljam, kod dobrih generatora, pozivanjem "na prazno" funkcije random 100 puta da bi dobio prvi broj, umesto samo jednom, ne dobijaš ništa, što ne bi dobio samo jednim pozivom.
cccc.459 niklaus,
Subject: Hilfe! Kako da formiram promenljivu strukturu (odn. struktura sastavljena od skupina polja koja su promenljiva u zavisnosti od nekog parametra). Vrlo slično onom case-u u Pascal record-ima: record GRX_Obj = record of x,y,dx,dy : integer; title : stringŠMAXTITLELENĆ; object_type : objTypes; case object_type of TTY: begin ... end; ... default: begin ... end; end; Pokušavao sam sa switch-om unutar struct typedef-a, i ne može (vidi se da je C napravljen pre Pascal-a). Moglo bi sa predprocesorskim proverama, ali čini mi se da će mi nakon 2 nedelje razvoja ove strukture, ta opcija biti neupotrebljiva u nekoj primeni. Dakle, mislio sam na: struct typedef GRX_Obj š int x,y,dx,dy; char titleŠMAXTITLELENĆ; objTypes objec_type; # ifdef TTY_OBJ_TYPE ... // ovde ubacujem željena dodatna polja # endif // za TTY GRX_Obj strukturu # ifdef xxx ... # endif ... ć; Međutim, ovakvo "rešenje" mi se ne dopada jer neću na dovoljno elegantan (direktan) način rešiti pitanje one 'default' skupine. Ne, ne želim da koristim #elif zbog nepotpune podržanosti od strane starijih implementacija ANSI C standarda. Ima li lepših rešenja? Takva mi trebaju, nije da Vas testiram... (; I još nešto, za sada bez plusića (znam da bi C++ to dosta elegantno rešio). (: Sean :)
cccc.460 djelovic,
> Kako da formiram promenljivu strukturu (odn. struktura sastavljena > skupina polja koja su promenljiva u zavisnosti od nekog parametra). > Vrlo slično onom case-u u Pascal record-ima: Dve zaboravljene ključne reči C-a su "continue" i "union". Tebi treba ova druga. Za detalje konsultuj help.
cccc.461 eagle,
> Kako da formiram promenljivu strukturu (odn. struktura sastavljena od > skupina polja koja su promenljiva u zavisnosti od nekog parametra). > Vrlo slicno onom case-u u Pascal record-ima: Definisi uniju unutar te strukture i dodeli joj neki parametar: struct ta_i_ta š int a; char b; ... char parametar; // case parametar:byte of union // š // struct š...ć prva; // 1:(...); struct š...ć druga; // 2:(...); ... ć unija; ć;
cccc.462 paki,
Počeo sam da radim s Borland C 3.1, i imam problemčić (sigurno je rešenje trivijalno). Naime, direktiva #include "test.h" ne radi svoj posao. Iako test.h postoji, i nalazi se u istom direktorijumu gde i test.cpp, i u config.sys imam 'FILES=30', kompajler prijavljuje 'Unable to open include file test.h'. Kad u Options/Directories ubacim i direktorijum gde se nalazi test.*, sve proradi OK. Ovako se ponašaju i svi primeri pristigli uz BC. O čemu se radi?
cccc.463 debelijencija,
!=?> Iako test.h postoji, i nalazi se u istom direktorijumu gde i !=?> test.cpp, i u config.sys imam 'FILES=30', kompajler !=?> prijavljuje Treba da bude u tekućem direktorijumu.
cccc.464 markom,
*** Ovako se ponašaju i svi primeri pristigli uz BC. *** O čemu se radi? Koliko ja znam: #include <tralala.h> traži tralala.h u direktorijumuma koje si podesio u opti- ons/... #include "tralala.h" traži tralala.h u _trenutnom_ direktorijumu. Rešenje tvog problema je File/Change Dir (ili tako nešto) P.S. Otkud C, Paki? ;)
cccc.465 paki,
­> #include "tralala.h" traži tralala.h u _trenutnom_ direktorijumu. ­> ­> Rešenje tvog problema je File/Change Dir (ili tako nešto) Da, ali je ovo Windows verzija, pa nema trenutnog dira. BC bi trebao da traži .h u diru gde je i .cpp, ali on to ne radi. ­> P.S. Otkud C, Paki? ;) Paskal je lep i svaka mu mast, ali 99.27% sorsova i literature za Win je u Cu (Ceu? C-u?).
cccc.466 todorp,
Subject: Re: #include > Da, ali je ovo Windows verzija, pa nema trenutnog dira. BC bi > trebao da trazi .h u diru gde je i .cpp, ali on to ne radi. Stavi u options/directories, prvi red (include directories) direktorijum gde ti se nalazi header, znaci samo lupis na ono c:\bc\include;c:\c\work i proradice ili stavi #include "c:\c\work\test.h"
cccc.467 mjova,
> Naime, direktiva #include "test.h" ne radi svoj posao. postoje dve forme #include direktive: #include <filename> i #include "filename" prva će potražiti filename u nekom od direktorijuma zadatih prevodiocu. ne znam kako je u IDE, ali se to zadaje CMD verziji sa -Ipath1;path2;path3; te putanje moraju sadržati standardna zaglavlja (naravno, ako želiš da ih koristiš). druga će prvo potražiti filename kao i prva, ali ako ne nađe, onda će potražiti još i u tekućem diru. zapravo, ne znam da li će prvo tražiti po tekućem ili ne, nije bitno, ali tekući dir je glavna fora ;).
cccc.468 markom,
*** Da, ali je ovo Windows verzija, pa nema trenutnog dira. BC bi *** trebao da traži .h u diru gde je i .cpp, ali on to ne radi. Stavi mu pun path: #include "d:\bc\progs\win\tralala.h" To je jedino što mi trenutno pada na pamet ...
cccc.469 dekiper,
Rešenje je u tome što treba da Options/Direcories/Include directory ostaviš prazan i da staviš BC u path i da ga startuješ iz direktorijuma gde su ti source-ovi i hederi i sve će biti u redu. Ako radiš sa BCW, onda treba da u Properities (Alt+Enter) staviš Working direktory na dir u kome su ti source-ovi. Ovo je najbolje jer je univerzalno. Ako krećeš da menjaš Include directory svaki put, slaba vajda od toga. BTW Borland C++ 4.0 me je toliko razočarao da pojma nemate. Pozdrav, Deki
cccc.470 postmast,
From: srdjan@Osmeh.FON.Uni-BG.YU (Srdjan Simic) Subject: DJGPP Date: Tue, 29 Mar 1994 16:25:13 GMT Na UBBG je stavljena nova verzija djgpp (gnu c) , bar od one koja se trenutno nalazi na fonu. Sva ostala obavestenja su u read.me fajlu Paket se nalazi u msdos.gpp diru -- Srdjan Simic srdjan@osmeh.fon simic_45791d@buef78.etf
cccc.471 paki,
­> source-ovi i hederi i sve će biti u redu. Ako radiš sa BCW, onda treba ­> da u Properities (Alt+Enter) staviš Working direktory na dir u kome su ­> ti source-ovi. Ovo je najbolje jer je univerzalno. Ako krećeš da menjaš ­> Include directory svaki put, slaba vajda od toga. Joj :( A ja baš hteo da prošvrljam po dirovima i pogledam dosta demoa... Nemoguće da nema bolje rešenje (da traži .h u diru gde i .c(pp))? ­> BTW Borland C++ 4.0 me je toliko razočarao da pojma nemate. Ja sam ga video kod Filipa, i imam utisak da nije lepo podešen sistem, jer mi se čini nemoguće da ono treba da bude _onako_ spoooooro? (Izem ti rečenicu).
cccc.472 dekiper,
Pa, umesto da sa File/Open otvaraš fajlove ti radi Project / Open project jer svaki pa i najmanji demo ima svoj Project fajl. Učitavanjem projekta se postavljaju direktorijumi (aktivni sistemski direktorijum se menja u onaj iz kojeg je .PRJ učitan). Tako da nećeš imati nikakvih problema sa pregledanjem demo-a. Što se Borland C++-a 4.0 tiče pogledajmo sledeću situaciju. Moja mašina: 386 DX 40, 8 MB Ram-a, 250 MB IDE Conner 10 mS disk, OAK Vga OTI067 512 k Ram-a i NEC Multisync 3D (ova dva i nisu bitna ali 'ajde) i on meni kaže: Linker: Out of memory (!!!!!!!!!!!!!!) Razlog: Ovo se dešava kada uzmem generator programa i napravim makar i najmanji program i bacim ga na Make. To nije jedina neprijatnost. Sledeća je to što je prevođenje barem 2 puta sporije... (ako ne i više). Međutim postoji i druga strana medalje. žisti C source-ovi (API) se prevode vrlo lepo (čak što više i pristojnom brzinom (ali ipak sporije nego u 3.1)), ali ako već ne mogu kao čovek da koristim ObjectWindows i njegove (izuzetne) prateće alate koji će mi onda đavo Borland C++ 4.0? Inače ide na 22 diskete. Na disku za kompletnu instalaciju treba 75 MB. Nema DOS IDE. Sve se radi iz Windows-a. U DOS-u ima samo Command line compiler i Win32s Compiler. Inače podržava platforme: Windows 3.0, Windows 3.1, Win32s, Windows NT, Dos standard i Dos Overlay. Pored toga sadrži dve verzije kompajlera: 16-bitnu (za 286 i 386) i 32-bitnu (sad se držite za stolicu!) (za 386, 486 i Pentium-a). Lepo se otvori prozorče i klikneš na Insturction Set _ž :´k Pentium. Fino, ali koliko je to potrebno veliko je pitanje! Lepa stvar je što ima i 16-bitni i 32-bitni debager za Windows i što konačno taj debager podržava sve žive drajvere za sve žive kartice. Mane: Nema Turbo Profiler-a, nema Turbo Vision-a i što je najgore, Turbo Assembler se prodaje kao poseban paket pa ni njega nema. Inače od ima kompletnu dokumentaciju na disku za kreiranje Win32s programa i nikada lepši help. Zaključak: Ako vam trebaju Win32s programi i pravi 32-bitni kompajler (ono Pentium ćemo preskočiti jer sumnjam da to iko ima u Beogradu) i ako ste spremni da uložite 16 MB Ram-a za komforan rad onda je BC++ 4.0 stvar za vas. Inače... Napomena: Lepo je radio kada sam stavio još 10 MB permanentne virtuelne memorije sa 32-bit disk access-om, ali izem ti program koji lepo radi sa tek 10 (virt) + 8 (physical) = 18 MB memorije. Sam kompajler pravi kraći i brži kod nego inače (proveravano celu noć)... Pozdrav, Deki
cccc.473 vitez.koja,
#=> Da, ali je ovo Windows verzija, pa nema trenutnog dira. #=> BC bi trebao da traži .h u diru gde je i .cpp, ali on to #=> ne radi. Svaki task pod Windowsima ima svoj trenutni dir.
cccc.474 vcalic,
>> prevođenje barem 2 puta sporije... (ako ne i više). Međutim postoji i >> druga strana medalje. žisti C source-ovi (API) se prevode vrlo lepo (čak >> što više i pristojnom brzinom (ali ipak sporije nego u 3.1)), ali ako već >> ne mogu kao čovek da koristim ObjectWindows i njegove (izuzetne) prateće >> alate koji će mi onda đavo Borland C++ 4.0? Inače ide na 22 diskete. Na Jel' postoji API podrška za 32-bitne aplikacije? Tj. jel' mora da se koristi ObjectWindows da bi se radilo sa Win32s? Sviđa mi se ideja da se iz Windows-a rade DOS aplikacije, ali sve u svemu, očekivao sam više. žudi me samo što ne mogu da se prave 32-bitne DPMI aplikacije koje će raditi i pod DOS-om. Vlada
cccc.475 dekiper,
Postoji kompletan Win32s API i On-Line dokumentacija za rad sa njim u obliku Windows help-a :))) Moguće je koristiti i ObjectWindows tako da i u jednom i u drugom slučaju možeš sa BC4 da praviš Win32s programe. Još nešto... Sa BC4 ide i Microsoft Win32s Upgrade Module for Windows 3.1 kojim omogućavate izvršavanje Win32s programa i pod Win 3.1. Ovako nešto postoji na Sezamu, ali ako vas mrzi da skidate to je tu. BTW Jel' ti misliš ozbiljno sa tim Win32s? Pozdrav, Deki
cccc.476 paki,
­># => Da, ali je ovo Windows verzija, pa nema trenutnog dira. ­> Svaki task pod Windowsima ima svoj trenutni dir. Jes, pogrešan odraz :( Nema 'Change dir'.
cccc.477 postmast,
From: smilic@breza (Sasa Milic) Subject: Re: cccc Date: Tue, 29 Mar 1994 18:49:29 GMT Dejan Pervulov (dekiper@sezam.UUCP) je napisa-la/o: : BTW Borland C++ 4.0 me je toliko razocarao da pojma nemate. Ajde opisi nam malo zasto. Sasa
cccc.478 postmast,
From: va17190d@buefhp.etf.uni-bg.yu (Vasic Aleksandar) Subject: Re: cccc Date: Fri, 1 Apr 1994 08:18:42 GMT Pavle Milosevic (paki@sezam.UUCP) wrote: : Joj :( A ja bas hteo da prosvrljam po dirovima i pogledam dosta : demoa... Nemoguce da nema bolje resenje (da trazi .h u diru gde : i .c(pp))? Aaaa, u tome li je problem. :) Ako hoces da gledas demoe, nemoj da ucitavas *.cpp i pokusavas da prevedes, nego uzmi Project/Open_project pa onda jedno make... a *.prj fajl sadrzi podatke o svim potrebnim fajlovima, gde se oni nalaze, itd.
cccc.479 dekiper,
Ja mislim da sam već dovoljno rekao... Pozdrav, Deki
cccc.480 vision,
Hi svima. Inace sam C programer pa bih Vam postavio jedno pitanje - ne C programerima :). Evo malopre procitah neke malo starije poruke (-1 mesec) u kojima ste vredjali C (mislim oni koji programiraju u PASCAL-u, ili mrze programiranje iz dna duse kao darone:). Neke poruke su me bas uvredile, ali nema veze, nego, oce li neko da malo poobjasni zasto mrzi C, i to izbrojati sve njegove nedostatke ili vec sta mu smeta u C-u, a sta ima PASCAL bolje nego C, sta moze vise, i to sve KONKRETNO primerima, a ne samo 'C SUKS'. Samo jos da Vam kazem da neznam ama bas uopste PASCAL, mozda bih razumeo citajuci sors nesto, ali ne programiram u PASCALU. Ajde ljudi, mozda i nas C-ovce ubedite da je bolje programirati u PASCAL-u , a mozda i stvarno probam... [ For now, C is better ;) ...]
cccc.481 markom,
█*█ [ For now, C is better ;) ...] C programmers are better lovers :) Nego da ti odgovorim na gorepomenuto pošto sam ja rekao C sucks :) Ovako. Kod C-a mi se ne svidja zato što programera drži mnogo blizu mašine i dopušta previše (*********a, na primer). Pascal (pod Pascal mislim na Turbo Pascal) je isto moćan, ne kao C/C++, ali ... :), ali ne pušta programera toliko da brlja. Takođe je u C-u, bez dosta truda, nemoguće napisati sledeće: var f : file of ucenik; Gde je ucenik struktura, na primer, definisana kao type ucenik : record ime, prezime : string; razred, prosek : Byte; end; Eto to bi bilo za sad, nadam se da sam obrazložio zašto više volEm paskal :) P.S. Ne moraš pisati Vi i Vam velio, niko na to ne obraća pažnju :) Pozdrav :)
cccc.482 mackb,
Da li neko zna gde bih mogao da nabavim uputstvo ili nesto tome nalik za Code Base V4.5 paket C biblioteka za rad sa bazama podataka. H M.Burka
cccc.483 dcolak,
│ da brlja. Takođe je u C-u, bez dosta truda, nemoguće napisati sledeće: │ var │ f : file of ucenik; Tz Tz Marko :) definišeš struct i kad želiš da ga baciš u fajl udariš prosto: fwrite(&ucenik, sizeof(struct mucenik), 1, outfile); So, mozeš i više odjednom, tj. umesto 1 staviš 3 i tri komata lete u fajl. Naravno, ovo je mnogo lepše nego u Pascalu :) Sledge DAMMIR!
cccc.484 markom,
█*█ fwrite(&ucenik, sizeof(struct mucenik), 1, outfile); Write(outfile, ucenik) █*█ So, mozeš i više odjednom, tj. umesto 1 staviš 3 i tri komata lete █*█ u fajl. Naravno, ovo je mnogo lepše nego u Pascalu :) Ipak mislim da je ovo lepše nego u C-u :)
cccc.485 dragisha,
-> u fajl. Naravno, ovo je mnogo lepše nego u Pascalu :) NaRaVNo ! :) -- [My RAM has 243 K free]
cccc.486 ognjan,
Prokleti segmenti! Bježao sam od njih na Motorolu, pa na UNIX i na kraju se ipak moram zajebavati sa njima :)) Radim pod BC3.1 i treba mi velika količina RAM-a (tačnije SAV RAM) za podatke. Memorija se dinamički alocira u malim komadima (po 100-tinak bajta). Kod staje u 64K, ali koriste se priličo rekurzije, tako da treba malo više prostora za stek. Pretpostavljam da bi trebalo koristiti Compact mem. model ? Kako bi trebalo alocirati memoriju ? Sa farmalloc() ? Dodatni problem je to sto kod treba da bude prenosiv na UNIX, dakle otpadaju neke egzibicije BC-a. Sve treba da bude što standadniji C, uz eventualne #ifdef UNIX direktive za prevođenje na UNIX-u. Postoji li jednostavan način da se alocira i EXPANDED memorija ? Ogy.
cccc.487 mjova,
> Ovako. Kod C-a mi se ne svidja zato što programera drži > mnogo blizu mašine i dopušta previše (*********a, na > primer). Pascal (pod Pascal mislim na Turbo Pascal) je > isto moćan, ne kao C/C++, ali ... :), ali ne pušta > programera toliko misliš li da tebi treba nešto što će te kontrolisati da ne pogrešiš? to se onda zove drugačije... prepucavanje 'šta je bolje?' ne vodi nikud.
cccc.488 djelovic,
> Pretpostavljam da bi trebalo koristiti Compact mem. model ? Može, no nema razloga zašto da ne koristiš large model za sve programe osim za one kod kojih su veličina i brzina kritični. > Kako bi trebalo alocirati memoriju ? Sa farmalloc() ? malloc () će biti dovoljan. > Postoji li jednostavan način da se alocira i EXPANDED memorija ? Ne pod BC++-om. Eventualno ukoliko radiš na C++-u, dala bi se naći neka zgodna klasa. U suprotnom, rad sa expanded memorijom nije toliko zgodan, no opet, nije ni neki veliki problem. Pogledaj dir, trebalo bi da bude nekoliko biblioteka koje se time bave.
cccc.489 omega,
│> Ovako. Kod C-a mi se ne svidja zato sto programera drzi │> mnogo blizu masine i dopusta previse (*********a, na │> primer). Pascal (pod Pascal mislim na Turbo Pascal) je │> isto mocan, ne kao C/C++, ali ... :), ali ne pusta │> programera toliko │ │ prepucavanje 'sta je bolje?' ne vodi nikud. Slazem se, ali kad sam radio u c-u sa funkcijom memset i sa tp-ovom fillchar razlika u brzini je bila drasticna (naravno, tp je bio brzi bar 10 puta). Sad ce neko da kaze da c mogu da kompajliram i na drugim racunarima itd., ali meni je bila potrebna BRZA rutina za koji bi se c programer spustao na asemblerski nivo, a meni je dovoljno da otkucam jedno FILLCHAR...
cccc.490 markom,
█*█ misliš li da tebi treba nešto što će te kontrolisati da ne pogrešiš? █*█ to se onda zove drugačije... Zašto ljudi više vole da pišu u Visual C++ -u nego mu MS SDK ? Zato što neke stvari ne moraju sami da pišu, a samim tim pisanje ide brže i manje su šanse da se omane ... █*█ prepucavanje 'šta je bolje?' ne vodi nikud. Naravno, ja sam i prestao sa tim, ali morao sam da odgovorim na onu poruku :)
cccc.491 dcolak,
│ █*█ fwrite(&ucenik, sizeof(struct mucenik), 1, outfile); │ │ Write(outfile, ucenik) Da, ovo koristiš sa handle-om.. Zašto ne koristiti fwrite? :) Sledge DAMMIR!
cccc.492 markom,
█*█ Da, ovo koristiš sa handle-om.. Zašto ne koristiti fwrite? :) Ne, ne, ne ... :)) Ovo je bio primer upisa strukture u fajl iz Paskala. Krajnje jednostavno, zar ne ? :)
cccc.493 janko,
> Radim pod BC3.1 i treba mi velika količina RAM-a (tačnije > SAV RAM) za podatke. Memorija se dinamički alocira u malim > komadima (po 100-tinak bajta). Kod staje u 64K, ali > koriste se priličo rekurzije, tako da treba malo više > prostora za stek. Pretpostavljam da bi trebalo koristiti > Compact mem. model ? Naprotiv, HUGE je jedini model koji ti daje veliki stek. U svim ostalim modelima stek deli prostor sa statičkim podacima, a samo je ovde "nezavisan" tj. može da se širi do 64K bezbolno. Iskustvo govori i ovo -- jedini modeli koji imaju smisla su TINY (za JAAAKO male programe) i SMALL sa jedne i LARGE i HUGE sa druge strane. Modele "između" nije mnogo praktično koristiti -- tj. U PRAKSI ne ne primećuje korist od njihove upotrebe. Tako su, čak, razmišljali i u samom Borlandu -- dugo su vukli bagove u alokaciji memorije po bibliotekama za "između" modele. > Kako bi trebalo alocirati memoriju ? Sa farmalloc() ? Sa malloc(). farmalloc() se koristi samo u SMALL i sličnim modelima. > Dodatni problem je to sto kod treba da > bude prenosiv na UNIX, dakle otpadaju neke egzibicije > BC-a. Sve treba da bude što standadniji C, uz eventualne > #ifdef UNIX direktive za prevođenje na UNIX-u. Za stek moraš, u statičkim podacima, da bi ga iskoristio što više, uraditi ovo: #ifdef __BORLANDC__ unsigned _stkeln= 60000; #endif Na Juniksu ovo neće ništa smetati. > Postoji li > jednostavan način da se alocira i EXPANDED memorija ? Kratko: ne. Duže: Expanded memorija je priličan zez -- možeš samo da u nju pumpaš ili iz nje izvlačiš podatke, ali ne i da prčkaš po podacima, tamo "na licu mesta." Postoji jedna lepa XMS klasica (dakle, za C++) koja radi sa XMS prilično bezbolno, ali to nije ništa prenosivo na Juniks, naravno. Ako ti stvarno treba puno memorije, treba ti pravi 32 bitni kompajler sa nekim DOS ekstenderom. Onda više ne brineš o modelima i ostalim sitnicama.
cccc.494 postmast,
From: ps26989d@buefhp.etf.uni-bg.yu (Pajic Srdjan) Subject: Re: cccc Date: Mon, 4 Apr 1994 13:30:58 GMT >> Kod C-a mi se ne svidja zato sto programera drzi mnogo blizu masine i Cudno, ja zbog toga i programiram u C++ ;))) Nego, zar vam nije dosadila vecita svadja ko je bolji... Ako vam je do toga, idite u politiku ili neku slicnu konferenciju, a nas pustite da radimo nesto!! [C++ programmers are MUCH better lovers]
cccc.495 postmast,
From: paya@fon (Pavle Pekovic) Subject: Re: cccc Date: Mon, 4 Apr 1994 14:50:37 GMT Marko Milivojevic (markom@sezam.UUCP) je napisao: : Ovako. Kod C-a mi se ne svidja zato sto programera drzi mnogo blizu masine i : dopusta previse (*********a, na primer). Pascal (pod Pascal mislim na Turbo C te pusta da brljas onoliko koliko hoces. Mnogo vaznije je da ti omogucuje da pises i vrlo citljive programe, opet naravno ako hoces. Dakle, sve zavisi od programera. : Pascal) je isto mocan, ne kao C/C++, ali ... :), ali ne pusta programera toliko : da brlja. Takode je u C-u, bez dosta truda, nemoguce napisati sledece: : var : f : file of ucenik; : Gde je ucenik struktura, na primer, definisana kao : type : ucenik : record : ime, : prezime : string; : razred, : prosek : Byte; : end; Razlika je samo u kom momentu odredjujes format zapisa. Kod Pascal-a, kao sto si naveo, to je u trenutku otvaranja fajla, kod C-a je u trenutku upisivanja zapisa (record-a). C nacin je fleksibilniji, da ne objasnjavam, ocigledno je zasto. -- Pavle Pekovic Paya, student Fakultet Organizacionih Nauka paya@fon.fon.uni-bg.yu Univerzitet u Beogradu
cccc.496 dcolak,
│ █*█ Da, ovo koristiš sa handle-om.. Zašto ne koristiti fwrite? :) │ │ Ne, ne, ne ... :)) Ovo je bio primer upisa strukture u fajl iz Paskala. │ Krajnje jednostavno, zar ne ? :) Bogamu, isto k'o C :> Sledge DAMMIR!
cccc.497 markom,
█*█ Nego, zar vam nije dosadila vecita svadja ko je bolji... Ako vam je █*█ do toga, idite u politiku ili neku slicnu konferenciju, a nas pustite █*█ da radimo nesto!! Ja to ponavljam već nedelju dana :)) █*█ [C++ programmers are MUCH better lovers] Ovo je već isforsirano :))
cccc.498 markom,
█*█ Bogamu, isto k'o C :> Ajde ako ti tako kažeš ... :)
cccc.499 ognjan,
>> Ako ti stvarno treba puno memorije, treba ti pravi 32 bitni >> kompajler sa nekim DOS ekstenderom. Onda više ne brineš o >> modelima i ostalim sitnicama. DA, i ja sam došao do tog zaključka. BC je fin i moćan, ali nije to TO! Dakle, koji 32 bitni kompjler bi mi preporučio ( sobzirom na neophodnu UNIX prenosivost ) ? Zna li MSC praviti 32-bitni kod? Ogy.
cccc.500 janko,
> DA, i ja sam došao do tog zaključka. BC je fin i moćan, > ali nije to TO! Dakle, koji 32 bitni kompjler bi mi > preporučio ( sobzirom na neophodnu UNIX prenosivost ) ? > Zna li MSC praviti 32-bitni kod? U stvari, koliko mi je poznato (nisam ih koristio) najnovije verzije MS-ovih i Borlandovih kompajlera generišu 32-bitne aplikacije. Borlandove 32-bitne apliakcije mogu da rade samo pod 32-bitnim Vindouzima, (ili, bar, ne obezbeđuju klasičan DOS ekstender) a uz najnoviji MS-ov kompajler (MS Visual C++ 32-bit edition) ide i Phar Lap TNT Lite DOS-ekstender, koji obezbeđuje rad 32-bitnih aplikacija pod DOS-om, i čak, pod DOS-om osobine koje inače nudi NT (!). Borlandov C++ 4.0 obezbeđuje razvojnu okolinu SAMO pod Vindouzima. Za MS ne znam. Ima i zez -- taj "TNT Lajt" daje samo do 2 MB pod DOS-om. Treba nabaviti pravi TNT za više. "Mana" (sa ili bez navodnika, zavisi od uslova) je što su ovi novi programi prilično glomazni. Vrlina im je što su sada to jezivo dobri razvojni sistemi -- imaju takvih stvari o kojim je nekada moglo samo da se sanja, ili da se kupuju specijalizovani proizvodi koji bi "krpili" ono što nemaju -- tu mislim na razne jutilitije koji obezbeđuju što bezbolniji razvoj, tipa nekih Obdžekt brouzera i sl. Koliko mi je poznato, još uvek im fali nešto što bih nazvao "manadžment verzija programa" -- mogućnost da se pamte SVE verzije programa koji razvijaš, i da lako vidiš proizvoljnu verziju, a da, na kraju krajeva, sve verzije ne troše više mesta (interno) od jedne. Još neki programi su dugo na tržištu -- High C i Watcom. I jedni i drugi su ranije dostigli 32-bitnost i moguće je da su manje zahtevni za resursima. Na kraju, postoji i GNU C++ kompajler koji daje 32-bitni kod, a usto je i džabe, potpuno zvanično. Za njega je potreban njegov lični ekstender. Kao što vidiš, izbor je velik. Lično bih voleo da dođem do demo ;) verzije što manjeg kompajlera koji dobro generiše 32-bitni kod, za svoju, kućnu, upotrebu. I da mu nisu potrebni Vindouzi da bi se razvijao i izvršavao program. Verovatno je to neki stariji High C? Ima li neke dobre duše koja je spremna da podeli sa mnom to zadovoljstvo? O:) Da imam zver od mašine, verovatno bih se trudio da nabavim najnovije MS-ovo čedo (iako sam dosta vremena proveo sa Borlandom) jer će oni i nadalje, više nego ikad, izgleda, postvaljati standarde, šta k ako i koliko, pa je dobro raditi sa stvarima "iz prve ruke."
cccc.501 maksa,
>> Još neki programi su dugo na tržištu -- High C i Watcom. I >> jedni i drugi su ranije dostigli 32-bitnost i moguće je da su >> manje zahtevni za resursima. Treba još pomenuti i Zortech koji je prvi izbacio integralni C++ kompajler, nasuprot dotadašnjoj kombinaciji 'C++ preprocessor + običan C kompajler'. Njegova priča sa ekstenderima ide ovako nekako: U svim verzijama paketa dobiju se nekoliko mogućnosti za dosezanje "onoga" :) iznad smrtnicima dostupnih 640 K. Pored dobro izvedene, već viđene varijante sa overlays-ima postoje još i podrška 286 protected modu koji plafon za program i podatke diže na 16 Mb, i zastupljena je u svim varijantama paketa, a što je takođe važno - ne plaćju se royalities za distribuciju ovako prevedenih programa. Dalje, dobije se okrnjeni Phar Lap-ov 32-bitni extender sa limitom od 4Gb za program i podatke. Fora sa 32-bitnim ekstenderom (pravi flat-model izvršne programe sa prâvim 32-bitnim pointerima, tj. prevazilazi 64K ograničenje za segment) je što se on dobija samo u skupljim Developer's i Engineering izdanjima. Kažu da je debugger koji se uz njega isporučuje jedan od najboljih na tržištu. Recimo, ima heap menadžment urađen tako da se svi pozivi malloc, new, delete i sl. beleže u internoj listi debugger-a. Svaki pokušaj da dva puta oslobodiš neku memoriju na heap-u rezultuje upozorenjem, a alarmira i ako pri izlasku iz programa postoje neki zaostali neoslobođeni blokovi. Sve ovo važi za verziju 3.0, izašlu polovinom 92-ge. Je l' zna neko koja je trenutna verzija ?
cccc.502 dejanr,
>> U stvari, koliko mi je poznato (nisam ih koristio) najnovije verzije >> MS-ovih i Borlandovih kompajlera generišu 32-bitne aplikacije. >> >> Borlandove 32-bitne apliakcije mogu da rade samo pod 32-bitnim >> Vindouzima, (ili, bar, ne obezbeđuju klasičan DOS ekstender) a uz >> najnoviji MS-ov kompajler (MS Visual C++ 32-bit edition) ide i Phar Lap >> TNT Lite DOS-ekstender, koji obezbeđuje rad 32-bitnih aplikacija pod >> DOS-om, i čak, pod DOS-om osobine koje inače nudi NT (!). Ni ja se nisam previše upuštao u problematiku, ali sam stekao utisak da MS C 8.0 zaista ima Phar Lap, ali samo za svoje potrebe, tj. za upotrebu tokom kompajliranja itd. Nisam primetio da se može napraviti DOS aplikacija koja bi posle radila u 32-bitnom modu, uz taj Phar Lap. >> Još neki programi su dugo na tržištu -- High C i Watcom. I jedni i drugi >> su ranije dostigli 32-bitnost i moguće je da su manje zahtevni za >> resursima. Ali su zato mnoooogo siromašniji kao jezici, da o razvojnoj okolini i ne pričam. Ipak, ja koristim HighC (neku verziju od pre 3 godine) kada mi trebaju "beskonačni" nizovi, dosta je zgodan.
cccc.503 postmast,
From: ss45791d@buefhp.etf (Srdjan Simic) Subject: cccc Date: Wed, 6 Apr 1994 12:55:16 GMT :> Prokleti segmenti! Bjezao sam od njih na Motorolu, pa na UNIX i na kraju :>se ipak moram zajebavati sa njima :)) :> Postoji li jednostavan nacin da se alocira i EXPANDED memorija ? Postoji divan nacin da ce izbegnu i segmenti, i da imas na raspolaganju svu memoriju moju imas, a cak i da svapujes na disk. Probaj GNU C. Na fonu je u /msdos/djgpp a na ubbg-u je novija verzija u msdos.gpp diru. Ovo naravno vazi ako imas 386+ masinu. Linearna memorija, svapovanje na disk (sam program to radi ti nista nemas s tim), c i c++ podrska, lako prenosenje na unix, podrska za BGI pisane programe, pascal to c konvertor (koji radi !!), malloc(50000000) bez ikakvih problema... Ako te interesije nesto vise javi se. -- Srdjan Simic srdjan@osmeh.fon ss45791d@buefhp.etf simic_45791d@buef78.etf
cccc.504 postmast,
From: ps26989d@buefhp.etf.uni-bg.yu (Pajic Srdjan) Subject: Re: cccc Date: Wed, 6 Apr 1994 13:09:22 GMT >> Postoji jedna lepa XMS klasica (dakle, za C++) koja radi sa >> XMS prilicno bezbolno, ali to nije nista prenosivo na Juniks, naravno. Napravi za Unix klasu koja spolja izgleda isto kao pomenuta XMS klasa, a unutra radi normalnu alokaciju memorije. Ako XMS klasa nema inline funkcija u zaglavlju, na Unix-u samo prikacis drugu biblioteku i stvar sljaka. U protivnom, moras se sluziti #ifdef _BORLANDC_ fazonima. Mislim da ovo ne treba da bude mnogo komplikovana stvar.
cccc.505 mmitrovic,
Ů█▀█Ţ Razlika je samo u kom momentu odredjujes format zapisa. Kod Pascal-a, Ů█▀█Ţ kao sto si naveo, to je u trenutku otvaranja fajla, kod C-a je u Ů█▀█Ţ trenutku upisivanja zapisa (record-a). C nacin je fleksibilniji, da ne Ů█▀█Ţ objasnjavam, ocigledno je zasto. Ne bih se baš složio, pošto su slogovi promenljive dužine posredno podržani u pascalu preko netipiziranih fajlova (pr. sa var x:FILE). Onda se koristi blockread i blockwrite isto kao na C-u var <file>:FILE; ... reset(<file>,1); blockwrite(<file>,<slog>,<dužina sloga>Š, <var provera>Ć)
cccc.506 janko,
> tokom kompajliranja itd. Nisam primetio da se može > napraviti DOS aplikacija koja bi posle radila u 32-bitnom > modu, uz taj Phar Lap. To sam naveo po Phar Lap-ovoj reklami u Bajtu. Možda foliraju? Kod njih piše: "Lite" vam obezbeđuje DOS aplikacije sa NT osobinama (multithreading i ta-ra-ra) i do 2 MB pod DOS-om, a ima ga u Visual C++ 32-bit edition-u.
cccc.507 paki,
­> programe, pascal to c konvertor (koji radi !!), malloc(50000000) bez ­> ikakvih problema... Je li ovo gore 50 Mb?
cccc.508 dgrbic,
:: od 4Gb za program i podatke. Fora sa 32-bitnim :: ekstenderom (pravi flat-model izvrsne programe sa :: prâvim 32-bitnim pointerima, tj. prevazilazi 64K :: ogranicenje za segment) je sto se on dobija samo u :: skupljim Developer's i Engineering izdanjima. A sto u skupljim? Nadji negde ZTC verziju 3.0 (malko je zastarela, doduse) i imas 32-bitni ekstender za samo 40$ (u Moskvi). Verzija pravi kod samo za Win 3.0 (nema biblioteke za 3.1), i pravi kod za 16-bitni OS/2 (1.x). Pod DOS-om deluje sasvim ok. Ekstender ne moze da izvrsi spawn i exec funkcije, to mu dodje kao glavna mana. :: za verziju 3.0, izaslu polovinom 92-ge. Je l' zna :: neko koja je trenutna verzija ? Trenutna verzija je Symantec C++ 6.1 - vizuelni C++ za Win/NT/DOS.
cccc.509 postmast,
From: ss45791d@buefhp.etf.uni-bg.yu (Simic Srdjan) Subject: Re: cccc Date: Sat, 9 Apr 1994 19:30:48 GMT Pavle Milosevic (paki@sezam.UUCP) wrote: : > programe, pascal to c konvertor (koji radi !!), malloc(50000000) bez : > ikakvih problema... : Je li ovo gore 50 Mb? Ma da. Ne postoji ogranicenje (sem mesto na disku ). -- Srdjan Simic srdjan@osmeh.fon ss45791d@buefhp.etf simic_45791d@buef78.etf
cccc.510 postmast,
From: smilic@breza (Sasa Milic) Subject: Re: cccc Date: Sat, 9 Apr 1994 11:04:27 GMT Marko Milivojevic (markom@sezam.UUCP) je napisa-la/o: : * [C++ programmers are MUCH better lovers] : Ovo je vec isforsirano :)) [C++ programmers are lovers++] Sasa
cccc.511 ialeksic,
Da li neko moze da me uputi gde da nadjem "mustricu" za pisanje DOS Device Drivera za Microsoft C (u posedu sam 7.0). Ne odbijam ni: ma ialeksic :) pozdrav Ivan
cccc.512 dragisha,
-> >> Ako ti stvarno treba puno memorije, treba ti pravi 32 bitni -> >> kompajler sa nekim DOS ekstenderom. Onda više ne brineš o -> >> modelima i ostalim sitnicama. -> -> DA, i ja sam došao do tog zaključka. BC je fin i moćan, ali nije to TO! -> Dakle, koji 32 bitni kompjler bi mi preporučio ( sobzirom na neophodnu -> UNIX prenosivost ) ? -> Zna li MSC praviti 32-bitni kod? GNU C++. O prenosivosti na Unix ne treba ni govoriti, o ekstenderu da kažem da podržava do 128 Mb virtuelne memorije i da zahtijeva minimum od 512Kb RAM. Royalties su 5% ili $5 po primjerku prodatog SW. -- [Nothing cures a case of nerves like a case of beer.]
cccc.513 markom,
█*█ [C++ programmers are lovers++] Ovo zvuči mnogo lepše i prirodnije, uvršteno u zbirku mojih tagića O:)
cccc.514 djelovic,
> Da li neko moze da me uputi gde da nadjem "mustricu" za pisanje DOS Device > Drivera za Microsoft C (u posedu sam 7.0). ZZ je svojevremeno pisao o tome, pogledaj RIND i /RSOFT
cccc.515 dejanr,
>> Da li neko moze da me uputi gde da nadjem "mustricu" za pisanje DOS >> Device Drivera za Microsoft C (u posedu sam 7.0). U "Računarima 78", tekst Zorana čivotića... upravo o tome :)
cccc.516 maksa,
Kako da izvedem sledeće (BC31): čeleo bih da napravim makro koji bi kao define, ubacio u sors određeni blok naredbi, konkretno 2 uzastopna asm bloka. Problem je što se u okviru ta dva bloka (na počecima, tačnije) javljaju labele koje bi za svaki pojedinačni ubačeni dvo-blok morale da budu različite, jer bi mi inače prijavljivao multiple declaration. Kako se ovo rešava ? Drugo, slično pitanje: Da li mogu da se stavljaju labele unutar asm blokova ? Nije valjda jedini način da se jedan asm blok razdvoji na onoliko blokova koliko ima labela, pa da se labela postavlja ispred asm ? Drugo, pod b) : Da li postoji neka fora da se definiše makro u okviru kog bi se labele definisao kao local, što bi eliminisalo multiple declaration problem ? Svaki hint dobrodoš'o. ;)
cccc.517 djelovic,
> čeleo bih da napravim makro koji bi kao define, ubacio > u sors određeni blok naredbi, konkretno 2 uzastopna asm > bloka. Problem je što se u okviru ta dva bloka (na počecima, > tačnije) javljaju labele koje bi za svaki pojedinačni ubačeni > dvo-blok morale da budu različite, jer bi mi inače prijavljivao > multiple declaration. Kako se ovo rešava ? Nikako ili veoma kljakavo. Zaboravi. > Da li mogu da se stavljaju labele unutar asm blokova ? Nije > valjda jedini način da se jedan asm blok razdvoji na onoliko > blokova koliko ima labela, pa da se labela postavlja ispred > asm ? Ne da iko zna. Radi se o čudnom ponašanju BC++-a kome neki ne zna uzrok. Ajde da neko ko je prešao na četvorku proveri da li je i tamo to još uvek slučaj.
cccc.518 anenad,
Zdravo, Da li me neko moze reci gde ili kod koga da nabavim, C API funkcije za DESQview (ne X verziju). Isto talo me interesuje ko ima GNU C koji se moze dobiti. Codor.│
cccc.519 dgrbic,
::> Da li mogu da se stavljaju labele unutar asm blokova ? ::> Nije valjda jedini nacin da se jedan asm blok razdvoji ::> na onoliko blokova koliko ima labela, pa da se labela ::> postavlja ispred asm ? :: :: Ne da iko zna. Radi se o cudnom ponasanju BC++-a kome :: neki ne zna uzrok. Ajde da neko ko je presao na cetvorku :: proveri da li je i tamo to jos uvek slucaj. U BC++ 4 labele mogu da budu unutar asm blokova. Medjutim, labela mora da bude sama u jednoj liniji, iako se to u uputstvu nigde ne spominje: asm { mov ax,0 a: // ovo mora da bude ovako! dec ax loopnz a } Dalje, u vise asm blokova unutar iste funkcije ne smeju da se javljaju labele sa istim imenom (posto su to, zapravo, C goto labele, kao i ranije). Resenje je moguce uz koriscenje #define direktive, kao u primeru koji sledi: #define asmblock(lab) asm \ { \ mov dx,0x40 ; \ mov es,dx ; \ lab: ; \ mov ax,es:[0x6c] ; \ and ax,7 ; \ cmp ax,0 ; \ jne lab ; \ } void main (void) { asmblock(a) asmblock(b) } Obrati paznju na ; u asm bloku: to je obavezno ako ubacis asm u #define (zato sto \ na kraju reda jednostavno produzuje liniju pa se dobije npr. mov dx,040H mov es,dx. Ovo nece da prodje.)
cccc.520 ognjan,
>> Ako te interesije nesto vise javi se. žuj, ... ako me interesuje ! :))) Naravno da me interesuje. Uskoro ću dolaziti u BG, pa bih to pokupio na disketama. Prenos se baš i ne isplati (pretpostavljam da je paket poveći). Otavi mi telefon u mail ... Pozdrav, Ogy.
cccc.521 ognjan,
>> GNU C++. O prenosivosti na Unix ne treba ni govoriti, o >> ekstenderu da kažem da podržava do 128 Mb virtuelne memorije i E to mi se već sviđa ! :))) Koliki je paket, i gdje bih ga mogao dobiti (na disketama kada dođem u BG ?). Ogy.
cccc.522 janko,
> 512Kb RAM. Royalties su 5% ili $5 po primjerku prodatog > SW. I to je kao GNU? A traže po $5 od svakog prodatog programa napisanog njime. Neka gore u paklu.
cccc.523 dpredovic,
> :> Prokleti segmenti! Bjezao sam od njih na Motorolu, pa na > UNIX i na kraju :>se ipak moram zajebavati sa njima :)) > :> Postoji li jednostavan nacin da se alocira i EXPANDED > memorija ? A da probaš sa Blinkerom 3.0? Izgleda prilično bezbolno.
cccc.524 ialeksic,
>>U "Racunarima 78", tekst Zorana Zivotica... upravo o tome :) U r078cdd.zip [Sablon DOS device driver-a (HEX)] je samo HEX.ASM. Ima li gde god nesto tipa: HEX.C?
cccc.525 ognjan,
>> A da probaš sa Blinkerom 3.0? Izgleda prilično bezbolno. ??? :O A šta mu to dođe ?
cccc.526 v.nesic,
Ako je neko skidao GNU C sa VAX-a i ima datoteku bnu22bn.zip zamolio bih ga da mi pošalje GPROF.C pošto mi se na disketi pojavio loš sektor i malo je uneredio :(
cccc.527 niklaus,
Subject: Re: GNU C & DV/X (:> Da li me neko moze reci gde ili kod koga da nabavim, (:> C API funkcije za DESQview (ne X verziju). Postoji biblioteka za X upravo za GNU C. na Internetu naravno. Da li bi se FONovci mogli pri sledećem osvežavanju verzije GCCa setiti i tog QDDVX???.ZIP fajla? (:> Isto talo me interesuje ko ima GNU C koji se moze dobiti. R:>ma re (: Sean :)
cccc.528 ficus,
:) P.S. Otkud C, Paki? ;) Rastemo, napredujemo, ucimo. ;)))
cccc.529 ficus,
:) Ja sam ga video kod Filipa, i imam utisak da nije lepo podesen :) sistem, jer mi se cini nemoguce da ono treba da bude _onako_ :) spoooooro? (Izem ti recenicu). Oces da se kladis da ne moze brze :((((( Istina tako je samo u prvoj kompilaciji posle prevodi samo ono sto je menjo.
cccc.530 ficus,
:) Jel' postoji API podrska za 32-bitne aplikacije? Tj. jel' mora da se :) koristi ObjectWindows da bi se radilo sa Win32s? Hvala bogu ne mora. :) Svida mi se ideja da se iz Windows-a rade DOS aplikacije, ali sve u :) svemu, ocekivao sam vise. Cudi me samo sto ne mogu da se prave 32-bitne :) DPMI aplikacije koje ce raditi i pod DOS-om. Mislim da radi ali ... nisam tolko cacko za dos koristim bc3.1 i tc++1.01 ovaj drugi iskljucivo zto sto na 286-ici sa 1mb memorije nece da radi nista jace
cccc.531 ficus,
:) Jos nesto... Sa BC4 ide i Microsoft Win32s Upgrade Module for Windows 3.1 :) kojim omogucavate izvrsavanje Win32s programa i pod Win 3.1. Ovako nesto :) postoji na Sezamu, ali ako vas mrzi da skidate to je tu. I tako sto bi se mucili i skidali 600kb sa sezama kad mozete da iskopirate 22 diskete i to lepo instalirate (stvarno je jednostavnije)
cccc.532 kenza,
(;> [C++ programmers are lovers++] A jel to znaci da im se digne tek u drugom prolazu? ;>
cccc.533 postmast,
From: ss45791d@buefhp.etf (Srdjan Simic) Subject: cccc Date: Tue, 12 Apr 1994 09:42:42 GMT GNU C++ se moze naci na fonu (stara verzija ) i na ubbg (novija). Novija verzija ima oko 8.5MB zipovano. Ako te interesuje javi mi se na jednu od dole adresa ja cu ti skinuti, ili presnimiti sa svojih disketa. -- Srdjan Simic srdjan@osmeh.fon ss45791d@buefhp.etf simic_45791d@buef78.etf
cccc.535 dlazic,
Prerađujem jedan C program pisan u Microsoft-u, pa sam naišao na jednu funkciju koju nemam u biblioteci koja ide uz taj paket. Pošto pisem u Borlandovom C-u ne znam da li je ta funkcija možda iz Microsoftovog C-a? Evo dela programa i u njemu funkcije: void plot( buffer, buf_start, pts_to_plot ) This function plots the passed data in 'buffer' on the screen. In scaling the y-axis it assumes that the bipolar input setting has been selected (see _setlogorg). The origin of the y-axis is the --------------- middle ofthe screen. The x-axis ranges from 0 to 'pts_to_plot'. The origin of the x-axis is the left corner of the screen 'buffer': array of data to plot 'buf_start': starting index of 'buffer' for data to plot 'pts_to_plot': total number of data in 'buffer' to plot Funkcija je _setlogorg: // _setlogorg( 0, (getmaxy()-NUM_Y_GRIDS)/2 -1 ); Zna li neko šta ta funkcija radi (pretpostavljam da određuje koordinatni početak) i da li ima sličnu u Borlandu. Hvala unapred Pozdrav ***DVL***
cccc.537 maksa,
>> // _setlogorg( 0, (getmaxy()-NUM_Y_GRIDS)/2 -1 ); >> >> Zna li neko {ta ta funkcija radi (pretpostavljam da odre|uje >> koordinatni po~etak) i da li ima sli~nu u Borlandu. Javiće se verovatno i neko upućeniji, al' nek' se nađe za prvu pomoć: <HELPPC> kaže: struct xycoord far _setlogorg( short x, short y ) - prototype in graph.h - moves the logical origin (0,0) to the physical point (x,y) - returns previous logical origin in physical coordinates to: struct xycoord { short xcoord; short ycoord; }; Funkcije za definisanje logičkog ekrana, na veeeliku žalost ne postoje kod Borlanda, tako da ti verovatno predstoji temeljnije prerađivanje i dorađivanje dela programa koji se bavi crtanjem. Mislim da bi bio red da se sete da ubace ovako nešto. Jako bih se obradovao da se javi neko i da kaže da nisam u pravu, pošto i meni ovo zaista fali.
cccc.538 postmast,
From: ps26989d@buefhp.etf.uni-bg.yu (Pajic Srdjan) Subject: Re: cccc Date: Wed, 13 Apr 1994 17:13:53 GMT >>Da li me neko moze reci gde ili kod koga da nabavim, >>C API funkcije za DESQview (ne X verziju). Isto talo me Kol'ko se ja secam, ne postoje API funkcije onako kako je to u Windowsima, vec se komunikacija sa DV odvija preko interapta. Spisak svih poziva sam (cini mi se) video il' na Sezamu, il' na FFS. >>interesuje ko ima GNU C koji se moze dobiti. Ima ga na Fonu, obrati se Pavlu Prekovicu (paya).
cccc.539 vitez.koja,
#=> Jako bih se obradovao da se javi neko i da kaže da nisam #=> u pravu, pošto i meni ovo zaista fali. Naravno da nisi u pravu :) Postoje funkcije setviewport i getviewport koje rade baš to što ti treba. Naravno, ove funkcije iamju mogućnost ili dve više od Microsoftovih.
cccc.540 dragisha,
-> čeleo bih da napravim makro koji bi kao define, ubacio -> u sors određeni blok naredbi, konkretno 2 uzastopna asm -> bloka. Problem je što se u okviru ta dva bloka (na počecima, -> tačnije) javljaju labele koje bi za svaki pojedinačni ubačeni -> dvo-blok morale da budu različite, jer bi mi inače prijavljivao -> multiple declaration. Kako se ovo rešava ? Zar ne bi trebalo da kao argument tom makrou možeš da daš i labelu koju želiš, i onda pri dva 'poziva' makroa da upotrijebiš dvije različite labele. -> Da li postoji neka fora da se definiše makro u okviru kog bi -> se labele definisao kao local, što bi eliminisalo multiple -> declaration problem ? Pa, ne bi trebalo da postoji:). -- [I saw a lot of trees today; and they were made of wood.]
cccc.541 dragisha,
-> > 512Kb RAM. Royalties su 5% ili $5 po primjerku prodatog -> > SW. -> -> I to je kao GNU? A traže po $5 od svakog prodatog programa napisanog -> njime. -> -> Neka gore u paklu. To nije GNU. To je za GO32, a možeš da pogledaš cijene za royalties i za same pakete kod sličnih komercijalnih proizvoda. Drastićna razlika:)). -- [Ladies and Gentlemen... Elvis has left the building.]
cccc.542 dragisha,
-> >> GNU C++. O prenosivosti na Unix ne treba ni govoriti, o -> >> ekstenderu da kažem da podržava do 128 Mb virtuelne memorije i -> -> E to mi se već sviđa ! :))) -> -> Koliki je paket, i gdje bih ga mogao dobiti (na disketama kada dođem u -> BG ?). Pa na FONu:). -- [Find out how many friends you have; rent a beach villa.]
cccc.543 maksa,
>> Naravno da nisi u pravu :) Postoje funkcije setviewport i >> getviewport koje rade baš to što ti treba. Naravno, ove >> funkcije iamju mogućnost ili dve više od Microsoftovih. setviewport i getviewport definišu clipping region i pomeraju koordinatni početak u njegov gornji levi ćošak, ok, 'fala im, al' posle valjda opet sve crtaš u pixelima ? Ono što bih voleo je baratanje logičkim koordinatama, čega ima u MS jezicima. Znači, da mu lepo kažem da ekran nije 640x480, nego 4x3, ili 12.5x7.2 il' šta mi već treba, pa da on dalje misli o razmeri. Sa druge strane, MS nema setwritemode. Dogovor ? Zavera ? ;) (sorry, wrong room) PS Eh, a baš se naložih kod prve rečenice :)
cccc.544 vitez.koja,
#=> Znači, da mu lepo kažem da ekran nije 640x480, nego 4x3, #=> ili 12.5x7.2 il' šta mi već treba, pa da on dalje misli #=> o razmeri. A-a-a :) O tome se dakle radi. To stvarno ne postoji u Borland Cu, ali može lako da se napravi sa par #defineova ili inline funkcija.
cccc.545 djelovic,
> al' posle valjda opet sve crtaš u pixelima ? Ono što bih voleo > je baratanje logičkim koordinatama, čega ima u MS jezicima. Ima to i Borland, potraži malo po helpu.
cccc.546 dpredovic,
>>> A da probaš sa Blinkerom 3.0? Izgleda prilično bezbolno. > > ??? :O A šta mu to dođe ? > Superbrzi linker sa ugrađenim 286-extenderom - podrška za XMS, VCPI i DPMI servere, znači radi i sa himemom i sa qemmom, i sa qdpmijem. Evo ga spisak extender funkcija koje omogućava, pa vidi. DOS Extender DosAllocHuge Allocate extended memory block DosAllocRealSeg Allocate real mode memory block DosAllocSeg Allocate extended memory block DosCreateCSAlias Create executable selector for a data selector DosCreateDSAlias Create data selector for an executable selector DosFreeSeg Free a selector DosGetBIOSSeg Get selector for BIOS data area DosGetExceptionHandler Set protected mode addr of an exception handler DosGetHostMode Get current DOS extender host mode DosGetHugeShift Get shift to apply to get huge increment value DosGetMachineMode Get current machine mode DosGetProtVec Get prot mode ptr to prot mode interrupt handler DosGetRealVec Get real mode ptr to real mode interrupt handler DosGetSegBase Get base address of a selector DosGetSegDesc Get descriptor structure of a selector DosGetSegLimit Get size limit of a selector DosIsBlinkX Determine if using Blinker DOS extender DosMapRealSeg Convert real mode paragraph->prot mode selector DosMemAvail Get total available extended memory DosRealAvail Get total available real mode memory DosRealFarCall Make a far call to a real-mode address DosRealIntr Generate real mode interrupt DosReallocHuge Resize an extended memory block DosReallocSeg Resize extended memory block DosSetExceptionHandler Set prot mode address of an exception handler DosSetProtVec Install protected mode interrupt handler DosSetRealVec Install real mode interrupt handler DosSetSegAttrib Set segment attributes for a selector DosVMAvail Get available virtual memory DosVerifyAccess Get flags for a selector
cccc.547 .bale.,
> -> Da li postoji neka fora da se definiše makro u okviru kog bi > -> se labele definisao kao local, što bi eliminisalo multiple > -> declaration problem ? > > Pa, ne bi trebalo da postoji:). Postoji fora, i zove se ML - Macro Language, na primer. Što će reći, malo jači makro-procesor od cpp-a.
cccc.548 wizard,
> Znači, da mu lepo kažem da ekran nije 640x480, nego 4x3, ili > 12.5x7.2 il' šta mi već treba, pa da on dalje misli o razmeri. Takve stvari je uvek bolje da uradiš sam...
cccc.549 nbatocanin,
> -> Da li postoji neka fora da se definiše makro u okviru > -> kog bi se labele definisao kao local, što bi > -> eliminisalo multiple declaration problem ? > > Pa, ne bi trebalo da postoji:). Nisam baš u toku, ali ovo je imao još asembler za PDP 11. Nije valjda da se Borland toga nije setio?
cccc.550 maksa,
>> Nisam baš u toku, ali ovo je imao još asembler za PDP 11. Nije >> valjda da se Borland toga nije setio? Nije, kod inline assemblera.
cccc.551 postmast,
From: ps26989d@buefhp.etf.uni-bg.yu (Pajic Srdjan) Subject: A gde je C++??? Date: Mon, 18 Apr 1994 10:38:40 GMT SEZAMovci, imam za vas jedno pitanje: gde se dede cpp konferencija Beointernetu??? Dobro, znam da je Sezam komercijalni sistem, al' kad vec prenosite razne pascal i c konferencija, mogli bi da bar objasnite razloge ove diskriminacije. Pogotovu zato sto sam video cpp konferenciju na samom Sezamu, i cini mi se da bas nije posecena koliko bi trebalo...
cccc.552 dcolak,
Problem je da se program zakoči kad god se ukuca više od 80 karaktera! Ne znam zašto, ali uvek je tako... Dakle, ako ukucam manje od 80 karaktera onda je sve super, i sve radi, ali ako ukucam 81 ili više karaktera, program se zakoči na pokušaju izlaska iz funkcije uzmi! Ovo sam primetio i u drugim programima, kad god bih koristio char x[Y] gde je Y > 80 ! U čemu je problem? Koristim MSC6.0. Da, moram da pomenem da je CL /qc užasno loše urađen, toliko puta prg. ne radi, samo zbog te opcije (a greške u source nema).. uzmi se poziva sa uzmi(&line[0], c); gde je c = getch(); char line[165]; #define LIN_LEN 164 int uzmi(char *linija, char slovo) { int x, i; char dummy[LIN_LEN]; int c; i = x = 1; dummy[0] = slovo; putch(slovo); for (;;) { c = getch(); if ( c == 8 ) { x --; i --; if ( i == 0 ) { putch(c); strcpy(linija, ""); return(0); } if ( x < 0 && i > 0 ) { x ++; i ++; } else putch(c); } if ( c == 10 || c == 13 ) { dummy[i] = '\0'; putch('\n'); putch('\r'); strcpy(linija, dummy); return(1); } if (c >= ' ' && c < 127 && i < LIN_LEN-1 && c != 8 && c != 10 && c != 13) { dummy[i] = c; i ++; x ++; if (x == 80) { putch('\n'); putch('\r'); x = 0; putch(c); } else putch(c); } } } Sledge DAMMIR!
cccc.553 postmast,
From: ss45791d@buefhp.etf (Srdjan Simic) Subject: cccc Date: Thu, 21 Apr 1994 13:06:17 GMT Da li je moguce ubrzati rad fgets funkcije? Npr: while (!feof(Fin)) fgets(...); je skoro duplo sporije od while not eof(Fin) do readln(Fin, ...); P.S. koristim setvbuf od 10k. -- Srdjan Simic srdjan@osmeh.fon ss45791d@buefhp.etf simic_45791d@buef78.etf
cccc.554 miljko,
Ima li neko neku zgodnu rutinicu za proveru sadržaja heap-a za Borland C. Mislim nešto što će da se prošeta kroz heap i pogleda ko je šta alocirao.