cccc.1pyramid,
Da li neko zna kako da bez pisanja NLM-ova posaljem poruku sa jedne stanice na
sve ostale? To bi bilo nesto kao cirkularna poruka samo sto bi moj program
obradjivao te poruke (umesto da se pojavi na ekranu uz cuveno Ctrl+Enter)...
cccc.2djelovic,
> Da li neko zna kako da bez pisanja NLM-ova posaljem poruku sa jedne stanice
> na sve ostale? To bi bilo nesto kao cirkularna poruka samo sto bi moj
> program obradjivao te poruke (umesto da se pojavi na ekranu uz cuveno
> Ctrl+Enter)...
Opste ti ne trebaju NLM-ovi i slicna cuda, dovoljni su obicni NetWare
servisi. Svojevremeno je u "Racunarima" bio jedan relativno lep tekst na tu
temu (ako me secanje ne vara, radi se o "Racunarima" br. 81), pa bi bilo
najbolje da pogledas tamo.
cccc.3postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: cccc
Date: Mon, 09 Jan 1995 10:31:29
-=> Reply to: "Vizionari Beograda" <=-
"B> From: "Vizionari Beograda" <lavirint@sezam.UUCP>
"B> Newsgroups: yu.prog.c
"B> Organization: SEZAM Beograd, 011 648-422
"B> Ja kazem da ne moze, ako nemas ANSI.SYS/COM :)
Pa ne mozes ni sa cprintf (BC) ako nemas kolor monitor, pa
sta?
-=> MM <=-
... Izgleda sasavo. Zato sam i dobio nogu u glavu.
* Origin: SETNet - Exodus BBS #137-477# from 22:00 to 09:00 (38:103/130)
cccc.4postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setnet.setnet.co.yu (Arpadffy Zoltan)
Subject: cobol structure
Date: Tue, 10 Jan 1995 07:00:21
hi :-)
Da li moze neko da mi doturi strukturu COBOL filea, ili da
navede neku literaturu gde bih to mogao pogledati.
U sustini interesuje me samo header filea, da bih mogao
pristupiti na niskom nivou.
Unapred veoma zahvalan.
cu Zoli
... Don't hit me, Mr. Moderator... I'll go back on topic... I swear!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
cccc.5postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: cobol structure
Date: Sun, 15 Jan 1995 03:11:23 GMT
Arpadffy Zoltan (Arpadffy.Zoltan@f107.n111.z38.setnet.setnet.co.yu) pise:
>> Da li moze neko da mi doturi strukturu COBOL filea, ili da
>> navede neku literaturu gde bih to mogao pogledati.
Koliko je meni poznato, COBOL datoteka bi trebalo da bude cist tekst
sa fiksnom duzinom redova. Opisom sloga datoteke (PICTURE iskazi) se
poklapa format reda sa formatom sloga. U MBP COBOL i Micro Focus COBOL
sam citao i pisao fajlove koji su bili tekst.
Medjutim, razni COBOL kompajleri pribegavaju formiranju svojih formata
fajlova za podatke kako bi povecali efikasnost pristupa, iskoriscenje
prostora ili neki drugi parametar, a posebno se stvari razlikuju kada se
radi o indeksiranim fajlovima. Opet koliko sam video, univerzalni standard
(osim cistog tekst formata) ne postoji. Tako, plasim se da ces morati da
nadjes dokumentaciju za COBOL koji je napravio fajl (ukoliko je razlicit
od cistog teksta) da bi mu mogao pristupiti iz C-a ili nekog drugog jezika.
cccc.6postmast,
From: Predrag_Supurovic@f101.n101.z38.Setgate.setnet.co.yu (Predrag_Supurovic)
Subject: Statistics
Date: Tue, 17 Jan 1995 22:40:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.C-LANG maintained on 10.01.95. for 7 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 320
Number of messages covered in report: 3
Processed period from: 10-1-1995 to 1-1-2074
------------------------------------------------------------------------------
Blacklist-Top 1 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Ivan Glisin.............. 38:103/120 1 17 2 11.76%
------------------------------------------------------------------------------
Top 3 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Ivan Glisin 1 33.3% 1045 11.76%
2. Predrag Supurovic 1 33.3% 2254 0.00%
3. Arpadffy Zoltan 1 33.3% 294 0.00%
------------------------------------------------------------------------------
Top 1 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 3 100.0%
------------------------------------------------------------------------------
Top 2 of the subjects.
Subject Nr.
------- ---
1. cobol structure............................................. 2
2. Statistics.................................................. 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 1 33.3% **************************************************
Monday 1 33.3% **************************************************
Tuesday 1 33.3% **************************************************
Wednesday 0 0.0%
Thursday 0 0.0%
Friday 0 0.0%
Saturday 0 0.0%
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 1 33.3% **************************************************
2:00- 3:59 1 33.3% **************************************************
4:00- 5:59 0 0.0%
6:00- 7:59 1 33.3% **************************************************
8:00- 9:59 0 0.0%
10:00-11:59 0 0.0%
12:00-13:59 0 0.0%
14:00-15:59 0 0.0%
16:00-17:59 0 0.0%
18:00-19:59 0 0.0%
20:00-21:59 0 0.0%
22:00-23:59 0 0.0%
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.7postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: Statistics
Date: Wed, 18 Jan 1995 23:40:37 GMT
Predrag_Supurovic (Predrag_Supurovic@f101.n101.z38.Setgate.setnet.co.yu) pise:
>> Top 3 of the writers.
>> Total Average Quote
>> Name Msgs: Pct. Byte/Msg Ratio:
>> ---- ----- ----- -------- ------
>> 1. Ivan Glisin 1 33.3% 1045 11.76%
>> 2. Predrag Supurovic 1 33.3% 2254 0.00%
>> 3. Arpadffy Zoltan 1 33.3% 294 0.00%
Kako li izracuna da sam ja na prvom mestu kada smo sva trojica isti?
Uzgred, interesantan softver, plasim se samo negativnih posledica: da li
ce se pojaviti oni koji ce da lupaju sve i svasta da bi se pojavili na
listi? Takve stvari su se desavale na Sezamu sa CHAT listom, ljudi su
ulazili i ostajali u Chatu dok ih sistem ne izbaci, na primer.
Ajde pusti ovo za neki malo duzi period, bas me interesuje sta ce da
se desi tada. Ovako uzorak bas i nije neki.
cccc.8vpopovic,
Zanima me jedna sadržaj jedne strukture, o kojoj je bilo reči u
Računarima. Naime radi se o prekidu 21 f-ji E3 i podfunkciji 68, bar
tako Ralf Braun kaže. Elem u zahtevnom baferu (request) postoji niz
dugačak 152 bajta, opisan kao niz klijentovog zapisa (client record
area). MNOGO me zanima format tog niza. Loš sam haker i programer, tako
da ne mogu da protumačim sve detalje. Može li mi ko pomoći ? Da ne
zaboravim ta f-ja služi da se u red za štampu poturi cela datoteka
recimo, što ispadne veoma zgodno, ne mora se preusmeravati štampa, itd.
cccc.9vision,
HI.
Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff); postavljam 8 tacaka
na ekranu. Pitanje sledi, zasto se tacke upisuju belom bojom? Verujem
da postoji druga memorijska lokacija za postavljanje boja (kao u text modu
x+1) ali ona mi nije poznata!!!
cccc.10postmast,
From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
Subject: Visual C++ & Visual Basic
Date: Sat, 21 Jan 1995 03:29:09 GMT
U Racunarima 97/4 u textu: "Visual C++: Korak ka boljem i laksem
povezivanju"
stoji:
"... U okviru razvojnog paketa nalazi se i OLE 2.0, kompatibilan sa
svim aplikacijama iz paketa Microsoft Office, kao i Visual Basic 3.0 ..."
^^^^^^^^^^^^^^^^^^^^^^^
E, sad mene zanima da li ovo znaci da je VB 3.0 sastavni deo VC++ 1.5
ili sta ?
Uzgred, da li postoji obican C, mislim Visual C ?
cccc.11postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Statistics
Date: Fri, 20 Jan 1995 17:18:00
To: glisin@fon (Ivan Glisin)
>Kako li izracuna da sam ja na prvom mestu kada smo sva trojica
>isti?
Ah, pa ti si mu se najvise svideo :)))
>Uzgred, interesantan softver, plasim se samo negativnih
>posledica: da li ce se pojaviti oni koji ce da lupaju sve i svasta da bi se
>pojavili na listi? Takve stvari su se desavale na Sezamu sa CHAT listom,
Videcemo. Najvaznija je ona prva lista: Ko najvise citira. Od nje moze
samo da bude bolje :)) Za ostale se slazem da moze da dodje do negativnih
posledica.
>Ajde pusti ovo za neki malo duzi period, bas me interesuje sta
>ce da se desi tada. Ovako uzorak bas i nije neki.
Uh...malo je problematicno. Naime, program za statistiku nisam ja pisao,
vec koristim neki gotov. Taj je prilicno traljav i ako ima mnogo poruka
poblesavi. Na period od sedam dana ni u jednoj konferenciji se ne pojavljuje
taj 'veliki' broj poruka. Probacu nekako da smislim da povecam period
statistike u onim konferencijama koje imaju dovoljno mali protok poste.
Rezultati su mnogo zanimljiviji.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.12niklaus,
(:> Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff);
(:> postavljam 8 tacaka na ekranu. Pitanje sledi, zasto se tacke
(:> upisuju belom bojom?
Koji si grafički mod inicijalizovao? Da pogodim - neki 2color? (:
Normalno je da je svakom pikselu dodeljen minimum video memorije.
Konkretno, za 256color grafiku 1byte/pixel, truecolor 3byte/pixel
(eventualno, u profesionalnoj grafici i 4. bajt za alfa-kanal; mera
transparentnosti piksela u umiksovanoj slici). U tvom slučaju se bajtom
adresira 8 piksela, odn. 1bit/pixel.
(: Sean :)
cccc.13vision,
sa DETECT (640x480 x 16 colora) sa initgraph-om.
cccc.14zeljkoj,
> Uzgred, da li postoji obican C, mislim Visual C ?
Ne. Kompajler se zove Visual C/C++ što znači da obuhvata i C i C++ kompajler.
cccc.15pyramid,
>> sa DETECT (640x480 x 16 colora) sa initgraph-om.
Postoje 2 nacina prikazivanja boja, tj. organizacije video memorije: planarni i
komprimovani. Prvi nacin podrazumeva da se slika sastoji iz vise
"bit-planeova", tj. da postoje 4 slike sa 1 bitom/pixelu koje zajedno daju
sliku u 16 boja (kao u tvom slucaju). Boja je bila bela zato sto si upisao
podatke samo u prvi bit-plane, sto daje kombinaciju 1000 = 8, a sto dalje znaci
da ce se koristiti boja br. 8 iz palete. Drugi nacin je komprimovanio, tj.
podaci za boju se nalaze u 1,2,3 ili 4 bajta za svaki piksel, kontinualno u
video memoriji. Ovaj nacin je obicno kod prikaza 256, 32xxx, 64xxx i 16m boja
cccc.16vision,
U vezi onih bitova :), ukratko receno, interesuje me scroll-ovanje ekrana, sa
poke, peek-ovima je taj problem, ja ocu nesto kao u alter-u - mislim da se
radisa out - ovima (3d4). - asm.
cccc.17mjova,
> U vezi onih bitova :), ukratko receno, interesuje me
> scroll-ovanje ekrana, sa poke, peek-ovima je taj problem,
> ja ocu nesto kao u alter-u - mislim da se radisa out -
> ovima (3d4). - asm.
prelaskom kartice u grafički (320x200), u adresnom prostoru 0xA000
nalazi se 64k (320*200, nešto manje) bajtova koji predstavljaju
tačke na ekranu. upisivanjem sadržaja u neku od lokacija između
A000:0000 i A000:FFFF pališ odgovarajuću tačku. boje se menjaju
vrednostima od 0 do 255 (po nekoliko bitova je odgovarajuća boja,
ne znam tačno).
dakle, prvo moraš poterati 3200 x 200 grafički režim (pogledaj
neki help, npr listu interapta sa sezama), pa tek onda možeš
"udarati" po memoriji. posle se samo vrati u text režim (int 10,
ne znam koja funkcija, mod 3).
o ovome imaš nekoliko zanimljivih primera na sezamu, ali opet ne
znam gde su ;). neki čak imaju i animacije itd. jedan koji sam
svojevremeno video je pisan u paskalu i radio je super, čak je
crtao o sprajtove.
cccc.18bkaradzic,
> U vezi onih bitova :), ukratko receno, interesuje me scroll-ovanje ekrana,
sa
> poke, peek-ovima je taj problem, ja ocu nesto kao u alter-u - mislim da se
> radisa out - ovima (3d4). - asm.
Skrolovanje ekrana:)
mov dx,3DAh
SBeg:in al,dx
test al,8
jne beg
SEnd:in al,dx
test al,8
je SEnd
mov ax,Ypos
mov bx,80
mul bx
mov bx,Xpos
mov cx,bx
shr bx,2
add ax,bx
mov dx,3D4h
mov al,0Ch
mov ah,bh
out dx,ax
inc al
mov ah,bl
out dx,ax
mov dx,3C0h
mov al,33h
out dx,al
and cl,3
mov al,cl
out dx,al
ovo je samo skrolovanje ekrana. Posto u normalnom modu 13h imas samo jednu
stranicu (kod Tridenta 2, ali onda ne radi na Tseng) trebas prvo da startujes
XMode (onda imas 4 stranice:). O ovome ce pisati verovatno u jednom od
narednih ALTER-a.
BTW, ima grupa na sezamu koja se bavi introima, demoima itd.
čatßoy
cccc.19niklaus,
Subject: Re: upotreba memorije u grafičkim modovima
(:> da ce se koristiti boja br. 8 iz palete. Drugi nacin je komprimovanio,
(:> tj. podaci za boju se nalaze u 1,2,3 ili 4 bajta za svaki piksel,
(:> kontinualno u video memoriji. Ovaj nacin je obicno kod prikaza 256,
(:> 32xxx, 64xxx i 16m boja
A ne više piksela po bajtu...
(: Sean :)
cccc.20pyramid,
>> (:> da ce se koristiti boja br. 8 iz palete. Drugi nacin je ko
>> (:> tj. podaci za boju se nalaze u 1,2,3 ili 4 bajta za svaki
>> (:> kontinualno u video memoriji. Ovaj nacin je obicno kod pri
>> (:> 32xxx, 64xxx i 16m boja
>>
>> A ne vise piksela po bajtu...
??? Nije mi jasno sta si hteo reci... Lepo pise 1,2,3 ili 4 bajta za svaki
pixel...
cccc.21pyramid,
Kako da setujem VGA tako da svi karakteri zauzimaju 8, a ne 9 bita po sirini?
cccc.22bkaradzic,
Evo odgovora;)
mov ax,3
int 10h
mov dx,3DAh
in al,dx
mov cx,0Fh
mov dx,3C0h
l: mov al,cl
out dx,al
out dx,al
loop l
mov al,30h
out dx,al
mov al,24h
out dx,al
mov al,33h
out dx,al
mov al,0
out dx,al
mov dx,3C2h
mov al,0A3h
out dx,al
mov dx,3C4h
mov ax,100h
out dx,ax
mov ax,101h
out dx,ax
mov ax,403h
out dx,ax
mov ax,300h
out dx,ax
čatßoy
cccc.23pyramid,
>> Evo odgovora;)
'Fala...
cccc.24mvulovic,
> Kako da setujem VGA tako da svi karakteri zauzimaju 8, a ne 9
> bita po sirini?
r:\utility\vrow100.zip. U sorsu programa (.c) postoji funkcija za
ukidanje devetog bita po širini, za forsiranje 90 kolona i još puno
lepih stvari. Kraj reklame ;)
poz
ematic :)
cccc.25postmast,
From: Aleksandar.Glumac@f119.n111.z38.setgate.setnet.co.yu (Aleksandar Glumac)
Subject: TC
Date: Wed, 25 Jan 1995 08:44:10
Hi:)
Neznam dali me se secas, bio sam u redakciji chip-a u avgustu
i tada sam te pitao za installuserdriver funkciju u TC++.
Rekla si da si i ti neko vreme sa tim "muku mucila" i da ces mi pomoci
i ja sam slao nekoliko poruka i bas tada sam pomislio da sam provalio
kako radi, ali avaj....
Zezaju me video stranice , cak u stvari niti ih ima :(
Koristim mod 320x200x256 pa navise do 640x480x256( 2 video strane)
i mislio sam da sam ga normalno instalirao sa:
dr=installuserdriver("SVGA.BGI",0);
^ !!!!!!
md=0; //ovo je za 320x200
initgraph(&dr,&md,"");// nema potrebe za direktorijumom
Za onaj "oznaceni" deo cini mi se da zeza.
Tu treba da stoji :
funkcija koja se poziva tokom automatske detekcije i selekcije
grafickog drajvera.
Koja je to funkcija i gde se nalazi ?
Mozes li mi pomoci , sta tu da stavim ?
Nadam se da se ubrzo cujemo .
Pozdrav , Ace B)
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.26postmast,
From: Aleksandar.Glumac@f119.n111.z38.setgate.setnet.co.yu (Aleksandar Glumac)
Subject: cccc
Date: Wed, 25 Jan 1995 08:49:11
"Q> Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff);
Znas li kako ide pokeb f-ja. E pa onda vrednost 0xff ti predstavlja neku boju
iznad 15 jer najverovatnije koristis 16 boja, tako da ti je sve belo.
Da bi video kako to radi pisi int vrednost umesto hex.:
pokeb(0xA000,0x0000,9);//ovo bi bila boja 9
Nadam se da sam ti pomogao :)
Ace
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.27postmast,
From: iznogud@Osmeh.FON.BG.AC.YU (Aleksandar Petrovic)
Subject: Re: promenjive i MIcrosoftC
Date: Mon, 30 Jan 1995 12:51:20 GMT
Dragoljub Pokrajac (poki@Osmeh.FON.BG.AC.YU) wrote:
: ako medjutim brojac i specificiram kao static int i; onda se sve odvija
: regularno.
: Prema onome sto ja imam od literature, auto promenjive zadrzavaju svoju
: vrednost sve dok se ne napusti blok u kome su definisane.
: Interesuje me da li je ovo sto sam ja zapazio bug kompajlera,(ili linkera?)
: ili standardna osobina c-a.
Nije to standardna osobina C-a, vec standardna osobina 16-bitnih
Windowsa. Na zalost, automatske promenljive nisu bas sigurna stvar
kada dodje do premestanja blokova memorije. Pouka: sve promenljive
u bloku definisi kao staticke.
P.S. Interesantno je da se promenljive - clanice klase u C++-u
ponasaju kako treba, cak i kad su instance klase u nekom bloku
deklarisane kao automatske promenljive.
--
++
cccc.28niklaus,
Subject: Re: VGA grafički modovi
(:> >> A ne vise piksela po bajtu...
(:>
(:> ??? Nije mi jasno sta si hteo reci... Lepo pise 1,2,3 ili 4 bajta za
(:> svaki pixel...
Zar se u nižim grafičkim modovima (niži=2bojni, 16bojni...) ne "pakuje"
video memorija, korišćenjem jednog bajta za čuvanje više piksela?
Konkretno, u 2bojninm modovima, bajt je dovoljan za 8 piksela; u
16bojnim modovima bajt definiše 2 piksela...
(: Sean :)
cccc.29postmast,
From: Vasiljevic.Igor@f111.n111.z38.setgate.setnet.co.yu (Vasiljevic Igor)
Subject: HERC.BGI
Date: Sat, 28 Jan 1995 11:18:02
Ajde ako je neko dobre volje da pomogne. Naime treba jednom mom
poznaniku HERC.BGI za Turbo C 2.0. Ili neko resenje ili taj .BGI,
molim sto pre.
Vigor
* Origin: {SETNET} TĺKţDĺ Inc. BBS 64-572 Zrenjanin (38:111/111)
cccc.30postmast,
From: Zeljko.Stevanovic@f130.n103.z38.setgate.setnet.co.yu (Zeljko Stevanovic)
Subject: cccc
Date: Sat, 28 Jan 1995 11:18:56
* Citat: "Mustafa Qemajl" --> All
* Tema : cccc
"Q> From: "Mustafa Qemajl" <vision@sezam.UUCP>
"Q> Newsgroups: yu.prog.c
"Q> Organization: SEZAM Beograd, 011 648-422
"Q> HI.
"Q>
"Q> Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff); postavljam
"Q> 8 tacaka na ekranu. Pitanje sledi, zasto se tacke upisuju belom bojom?
"Q> Verujem da postoji druga memorijska lokacija za postavljanje boja (kao
"Q> u text modu x+1) ali ona mi nije poznata!!!
U grafici visoke rezolucije jedan Pixel je jedan bajt (vazi za 256 boja ).
U textualnoj rezoluciji jedan znak na ekranu je dva bajta u memoriji (video)
zato sto je prvi bajt koji je znak (ASCII) a drugi atribut boje..
Kod vidoke rezolucije nemas znakove tj. samo jednu vrstu znaka (pizel)
sto znaci da u video memoriju treba upisati samo boju pixela (to je taj jedan
jedini bajt..)
_
Pozdrav, Zeljko
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
cccc.31pyramid,
>> Zar se u nizim grafickim modovima (nizi=2bojni,
>> 16bojni...) ne "pakuje" video memorija, koriscenjem jednog
>> bajta za cuvanje vise piksela?
>> Konkretno, u 2bojninm modovima, bajt je dovoljan za 8
>> piksela; u 16bojnim modovima bajt definise 2 piksela...
Za 2-bojne modove si u pravu, ali u 16-bojnim modovima bajt definise 8 pixela.
Da bi se dobilo 16 boja postoji 4 bit-planea koji formiraju bit-mapu (tj. image
slike u bojama). U svakom od 4 bit-plane 1 bit = 1 pixel (iliti 1 byte = 8
pixela), pa tako graficki procesor "spajanjem" bitova iz sva cetri bit-planea
formira pixel na ekranu u jednoj od 16 boja iz palete.
U visim modovima podaci o boji su "komresovani" u 1/2/3/4 bajta, pa tako svaki
bajt formira 1 pixel na ekranu (ovo je za mod sa 256 boja)...
cccc.32pyramid,
Da odgovorim coveku koji je postavio pitanje:
"Q> Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff); postavljam
"Q> 8 tacaka na ekranu. Pitanje sledi, zasto se tacke upisuju belom bojom?
"Q> Verujem da postoji druga memorijska lokacija za postavljanje boja (kao
"Q> u text modu x+1) ali ona mi nije poznata!!!
evo za rezoluciju 640*350*16 boja (EGA/VGA)
asm {
mov dx,03c4h
mov al,2
out dx,al
inc dx
mov al,<boja 0-15>
out dx,al
}
posle ovoga pokeb(0xa000,0,0xff) ce postaviti 8 pixela u navedenoj boji. Ovaj
primer verovatno ce raditi i u 640*480*16, ali nisam siguran. U svakom slucaju
ako je nije potrebna rezolucija veca od 640*400*16, postaviti rezuluciju na
640*350*16 (EGA), a zatim:
asm {
mov dx,03d4h
mov ax,9
out dx,ax
}
maximizuje vertikalni raster (tj. postavlja rezoluciju na 640*400)...
cccc.33postmast,
From: Aleksandar.Nikov@f131.n108.z38.setgate.setnet.co.yu (Aleksandar Nikov)
Subject: cccc
Date: Tue, 31 Jan 1995 05:14:18
-=> Quoting "Branimir Karadzic" to All <=-
"K> BTW, ima grupa na sezamu koja se bavi introima, demoima itd.
Kako mogu stupiti u kontakt sa njima?
Ako slede SetNet neka se jave, da razmenimo iskustva
izmegju Makedonije i Srbije. :)
ĆĆ Anikov žž
... Taglines are irrelevant. You will be assimilated into the VEGA BBS
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
cccc.34postmast,
From: Aleksandar.Nikov@f131.n108.z38.setgate.setnet.co.yu (Aleksandar Nikov)
Subject: cccc
Date: Wed, 01 Feb 1995 01:45:07
Opet ja. :)
Napisi nesto vise o portovima VGA kartice.
Interesuju me CRT registri (port 3d4h).
ĆĆ Anikov žž
... Taglines are irrelevant. You will be assimilated into the VEGA BBS
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
cccc.35pyramid,
>> > Kako da setujem VGA tako da svi karakteri zauzimaju 8, a ne
>> > bita po sirini?
>>
>> r:\utility\vrow100.zip. U sorsu programa (.c) postoji
>> funkcija za ukidanje devetog bita po sirini, za fors
>> iranje 90 kolona i jos puno
>> lepih stvari. Kraj reklame ;)
Jos nije kraj reklame...
Ljudi ovo je dprvi shareware koji sam registrovao... Svi moguci text modovi...
Probajte obavezno, neke delove cete sigurno iskoristiti (mislim u vasim
programima).
cccc.36postmast,
From: Aleksandar.Nikov@f131.n108.z38.setgate.setnet.co.yu (Aleksandar Nikov)
Subject: cccc
Date: Wed, 01 Feb 1995 05:42:32
-=> "Mustafa Qemajl" je rekao svima <=-
"Q> Inicialisem grafiku, zatim sa npr. pokeb(0xa000,0,0xff); postavljam
"Q> 8 tacaka na ekranu. Pitanje sledi, zasto se tacke upisuju belom bojom?
"Q> Verujem da postoji druga memorijska lokacija za postavljanje boja (kao
"Q> u text modu x+1) ali ona mi nije poznata!!!
Ima nesto takvo ali je dosta zeznuto. Ja koristim samo modova po
256 boja jer tamo je jedan pixel jedan bajt.
Ako koristis mod sa 16 boja, onda za jednu tacku ti trebaju 4 bita, ali
bar da su oni koji su pravli VGA kartice, upakovali dve tacke u jednom
bajtu, onda bi sve bilo super. Nasuprot tome, oni su podelili memoriju,
na 16 stranica po 32K. I u svakoj stranici je definicija za jednu boju.
Recimo ti radis u prvoj stranici. (u beloj boji). Znaci u jednom bajtu
imas 8 bita koji definiraju belu boju za 8 tacaka.
Zato ti uvek sve ispada belo. Da bi dobio drugu boju treba da upises u
drugu stranicu. Recimo za crvenu boju u trecoj.
To se radi preko registra 2 porta 3c4 hex. (Ovaj port je na VGA kartici.
outp(0x3c4,2);
outp(0x3c5,x); gde je x broj stranice, posle ce sve sto upisujes sa
pokeom biti crveno.
Ovo sa stranicama je uradjeno zbog toga sto se memorija sa VGA kartice
mapira sa 64K RAM memorije sto nije dovojlno za 640X400X16=256K.
Nadam se da si me shvatio :).
Nisam bas najbolji u objasnivanju.
Pozdrav iz Makedonije.
ĆĆ Anikov žž
... Not tonight, dear. I have a modem.
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
cccc.37postmast,
From: bojov@fon (Bojan Jovanovic)
Subject: Re: Visual C++ & Visual Basic
Date: Fri, 3 Feb 1995 16:02:10 GMT
Floremin Mihailovsky (flora@mrsys1.MR-Net.co.yu) wrote:
: U Racunarima 97/4 u textu: "Visual C++: Korak ka boljem i laksem
: povezivanju"
: stoji:
: "... U okviru razvojnog paketa nalazi se i OLE 2.0, kompatibilan sa
: svim aplikacijama iz paketa Microsoft Office, kao i Visual Basic 3.0 ..."
: ^^^^^^^^^^^^^^^^^^^^^^^
: E, sad mene zanima da li ovo znaci da je VB 3.0 sastavni deo VC++ 1.5
: ili sta ?
: Uzgred, da li postoji obican C, mislim Visual C ?
VB 3.0 nije sastavni deo VC++ 1.5. OLE 2.0 deo Windows-s. A SDK koji se
dobija uz VB i VC++ je po OLE 2.0 standardu.
--
Bojan Jovanovic , student Fakultet Organizacionih Nauka
bojov@fon.fon.bg.ac.yu Univerzitet u Beogradu
--
[ Radi bolje ako ga ukljucis! ]
cccc.38postmast,
From: Ilija.Djorgoski@f108.n108.z38.setgate.setnet.co.yu (Ilija Djorgoski)
Subject: TC
Date: Tue, 31 Jan 1995 23:44:00
Zdravo ,
Dali neko zna kako da u Turbo C-u , u text mod ,zadam koordinate gde da
stampa vrednost na ekranu ???
Primer : " Locate 12,12:PRINT "PRIMER" " za BASIC .
Pozdrav ICE
... "Scotty, beam me up another Blue Wave message."
* Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
cccc.39postmast,
From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
Subject: Re: Visual C++ & Visual Basic
Date: Sat, 4 Feb 1995 02:22:58 GMT
Bojan Jovanovic (bojov@fon) wrote:
BO> VB 3.0 nije sastavni deo VC++ 1.5. OLE 2.0 deo Windows-s. A SDK
BO> koji se
BO> ^^^^^^
BO> dobija uz VB i VC++ je po OLE 2.0 standardu. ??????
SDK ?
1) System development kit (valjda se ovako pise) ?
If (1)= true then ask:
Da li to znaci da se u VC++ radi kao i u
VB samo se kod pise u C-u (C++) ?
Ako sam se provalio nemojte da se smejete .
cccc.40zeljkoj,
> Dali neko zna kako da u Turbo C-u , u text mod ,zadam
> koordinate gde da stampa vrednost na ekranu ???
> Primer : " Locate 12,12:PRINT "PRIMER" " za BASIC .
u Turbo C-u sa gotoxy col, row;
a u MS C-u sa _settextposition row, col;
cccc.41vision,
Ova vrsta skrolovanja OK, ali nista bas ne razumem. Skroluje se prva i druga
strana, kako da vratim ono sto prodje pa da stavim ispod (npr. kada se skroluje
na gore, ono sto ide, da se vrati dole), jer za ovakvu vrstu (bez vracanja),
potrebno je xxx Mb. memorije graficke kartice. Objasni malo onaj XMode,
primetio sam bas u ALTER-u da upotrebljavaju mode 0xe (640x200), a imaju bolju
rezoluciju od 640x200, cudno, isn't it :).
P.S. Onaj Ypos ne sluzi nicemu ???
Nego pyramid, ok za bele tacke, ali gde se nalaze ona tri sledeca bita, prvi
je od a000:0000, gde su oni drugi (u pitanju je mod 0x12 640x480, 16 col.) ???
cccc.42bkaradzic,
> Ova vrsta skrolovanja OK, ali nista bas ne razumem. Skroluje se prva i druga
> strana, kako da vratim ono sto prodje pa da stavim ispod (npr. kada se
> skroluje na gore, ono sto ide, da se vrati dole), jer za ovakvu vrstu
> (bez vracanja),
> potrebno je xxx Mb. memorije graficke kartice.
Nisam te nista shvatio. Posalji to sto si radio pa cu da pogledam.
> Objasni malo onaj XMode,
Startovanje XMode:
mov ax,13h
int 10h
mov dx,3C4h
mov ax,604h
out dx,ax
mov dx,3D4h
mov ax,14h
out dx,ax
mov ax,0E317h
out dx,ax
ovo je osnova za inicijalizovanje XMode.
Posle ovakvog inicijalizovanja se dobijaju 4 BIT PLANES,4 stranice video
memorije, dobija se mogucnost pomeranja 4 bajta jednom movsb naredbom,
pisanje od jedanput 32 bajta (stosd), pristup svim stranicama istovremeno,
itd.
Raspored video stranica je sledeci:
320x200 \
320x200 | 320x800
320x200 |
320x200 /
Ovaj raspored mozes menjati na sledeci nacin:
mov dx,3D4h
mov al,13h
mov ah,50h < prosirivanje ekrana za 80 tacaka (posto ima 4 BIT PLANE-a
< to je 320 tacaka)
out dx,ax
Znaci posle ovoga ekran izgleda ovako (po meni je najbolji):
320x200 320x200 \ 640x400
320x200 320x200 /
Mozes cak da povecas rezoluciju:
mov dx,3D4h
mov al,9
out dx,al
inc dx
in al,dx
dec al
out dx,al
pa sad ekran izgleda ovako:
320x400 320x400
E sad pazi!
Ako ovo ne ukapiras dzabe mi pisanje:)
U XMode video memorija vise ne izgleda kao ranije, sto znaci ako hoces
da ucitas sliku prvo pozoves prvi BIT PLANE pa ucitas svaki 4 bajt, onda
pozoves drugi BIT PLANE i ucitas svaki 4 bajt, ali ne pocinjes od pocetka
nego pocetak+1 i tako uradis i za ostale.
Evo i slika video memorije:
offset: 0 1 2 3 ...
01.02.04.08:01.02.04.08:01.02.04.08:01.02.04.08:...
80 81 82 83 ...
01.02.04.08:01.02.04.08:01.02.04.08:01.02.04.08:...
...
BIT PLANE pozivas sa:
mov dx,3D4h
mov al,2
mov ah,<BITPLANE>
out dx,ax
naravno mozes praviti i kombinacije npr. 0F02h (setovani svi BIT PLANE).
ajd prvo nauci ovo pa cu dalje da pisem;).
> primetio sam bas u ALTER-u da upotrebljavaju mode
> 0xe (640x200), a imaju bolju rezoluciju od 640x200, cudno, isn't it :).
Ovde nije fazon u XMode-u.
Probaj ovako:
mov ax,0Eh
int 10h
mov dx,3D4h
mov al,9
out dx,al
inc dx
in al,dx
and al,40h
out dx,al
ovaj mod je odlican za skrolove po vertikali jer ako setujes 12h onda nemas
dve cele stranice, a ako startujes 10h onda sugavo izgleda.
> ok za bele tacke, ali gde se nalaze ona tri sledeca bita, prvi je od
> a000:0000, gde su oni drugi (u pitanju je mod 0x12 640x480, 16 col.) ???
Na istoj toj adresi samo u drugom BIT PLANE-u:).
čatßoy
cccc.43bkaradzic,
> Posle ovakvog inicijalizovanja se dobijaju 4 BIT PLANES,4 stranice video
> memorije, dobija se mogucnost pomeranja 4 bajta jednom movsb naredbom,
> pisanje od jedanput 32 bajta (stosd), pristup svim stranicama istovremeno,
^^^^^^^^^^^^^^^^
Sorry, potkrala mi se jedna greska, nije 32 nego 16.
čatßoy
cccc.44zormi,
Stigao mi je MS Visual C++ 2.0, original na CD-ROM-u :)
Medjutim, teško da će se mnogo koristiti na ovim prostorima :(.
Kao MINIMUM za rad traži WINDOWS NT mašinu sa 16 MB RAM-a
(preporučuje se 20 MB). U paketu je i kartončić za kupovinu
Win NT 3.5 po ceni od $99. Na disku zauzima 10-100 MB zavisno
šta se ostavi na CD-u, a ostavlja se bar Help.
Nisam bio lenj i prevrnuo sam dokumentaciju. Medju Q&A stoji otprilike:
Q: Mogu li se na VC++ 2.0 razvijati 16-bitne aplikacije?
A: Ne! U jednom sporednom katalogu ovog CD-ROM-a (od 180 MB ;) snimljen
je kompletan update-ovan VC++ 1.5 za zaludjenike koji bi još da rade
za Win 3.1x i DOS ;)
cccc.45spantic,
> Q: Mogu li se na VC++ 2.0 razvijati 16-bitne aplikacije?
> A: Ne! U jednom sporednom katalogu ovog CD-ROM-a (od 180 MB ;) snimljen
> je kompletan update-ovan VC++ 1.5 za zaludjenike koji bi još da rade
> za Win 3.1x i DOS ;)
Znači, oni su lepo kompletan VC++ 1.5 ponudili za instalaciju sa
istog diska?
Koje su udarne novosti (ne sa strane platformi)?
cccc.46zormi,
*> Q: Mogu li se na VC++ 2.0 razvijati 16-bitne aplikacije?
*> A: Ne! U jednom sporednom katalogu ovog CD-ROM-a (od 180 MB ;) snimljen
*> je kompletan update-ovan VC++ 1.5 za zaludjenike koji bi još da rade
*> za Win 3.1x i DOS ;)
*
* Znači, oni su lepo kompletan VC++ 1.5 ponudili za instalaciju sa
* istog diska?
Da, zauzima 190 MB u jednom potkatatalogu i instalira se posebno po želji.
Radi DOS, DOS-Extender16, Win EXE, Quick Win EXE, Win DLL... programe.
VC20 zauzima oko 200 MB i radi samo Win32s, Win NT i DOS-Extender32
(naravno nisam probao jer nemam na čemu, ali se pominje PharLap 32-bitni
extender za DOS) programe i instalira se iz Win NT okruženja. Pri tom ako
ti treba oba moraš imati dve nezavisne platforme za razvoj.
* Koje su udarne novosti (ne sa strane platformi)?
Najveća novost su novi MFC 3.0 i 32-bitna OLE podrška uz OLE Control
Development Kit.
cccc.47omega,
Da li neko ko ima 15 instalacionih od 3.5" za BC++ v3.1 moze da
napise sadrzaj prve diskete?
cccc.48jkpbvk,
Kad u program stavim mali broj asm instrukcija radi bez problema znaci
nesto tipa :
asm {
mov ah,4ch
int 21h
}
problem nastaje recimo u nazivima rutina, recimo :
asm {
exit: mov ah,4ch
int 21h
xor ax,ax
int 16h
jmp exit
}
Malo sam cackao i ovo gore bi radilo kad bi se stavilo exit:; ...
Ali ne radi ako bi umesto jmp exit stavio call exit ??
Recimo sledeca stvar nikako ne moze da prodje kroz kompajler :
asm {
mov dx,offset msg
mov ah,09h
int 21h
msg db 'Test $'
}
javlja gresku kod msg db 'Test $', mislim da nece ni sa msg:; db 'Test $'
cccc.49jkpbvk,
Pitah neki dan za linkovanje BGI fontova u EXE i to je u redu ali kako
koristiti fontove koji nisu BGI (ne mora linkovanje u EXE ako je problem ali
kako ih koristiti uopste ?)
cccc.50maksa,
>> Malo sam cackao i ovo gore bi radilo kad bi se stavilo exit:;
>> ... Ali ne radi ako bi umesto jmp exit stavio call exit ??
Ovde probaj da izvadiš labelu ispred asm direktive.
>> javlja gresku kod msg db 'Test $', mislim da nece ni sa msg:;
>> db 'Test $'
Ako su ove rutine u manjim modulima, stavi jedno:
#pragma inline
na početak da bi se stvar kompajlirala TASM-om umesto internim
(BASM) asemblerom koji je malo 'pritup'.
(sve ovo može da upali al' ne mora ;)
cccc.51maksa,
>> koristiti fontove koji nisu BGI (ne mora linkovanje u EXE ako
>> je problem ali kako ih koristiti uopste ?)
Koji nisu BGI ? Ako misliš 'koji nisu CHR', onda je odgovor -
teško, bez radikalnih zahvata i samostalnih rutina.
cccc.52zeljkoj,
> koristiti fontove koji nisu BGI (ne mora linkovanje u EXE ako
> je problem ali
Pa na koje fontove misliš? .FON? .TTF? Microsoftovi jezici mogu da rade
sa Windows .FON fontovima, dok ti za Borlandove treba neka biblioteka.
cccc.53driks,
>> Da li neko ko ima 15 instalacionih od 3.5" za BC++ v3.1 moze
>> da napise sadrzaj prve diskete?
Evo:
Volume in drive B has no label
Directory of B:\
README 56343 10.06.92 3.10
TD CA2 228559 10.06.92 3.10
TDW CA2 75828 10.06.92 3.10
WHELP2 CAB 330131 10.06.92 3.10
README COM 4217 10.06.92 3.10
FILELIST DOC 123746 10.06.92 3.10
DISK1 DSK 5 10.06.92 3.10
INSTALL EXE 71178 10.06.92 3.10
UNZIP EXE 23044 10.06.92 3.10
ACLOCK ZIP 23386 10.06.92 3.10
CLASSSRC ZIP 33692 10.06.92 3.10
CLIBSRC ZIP 60158 10.06.92 3.10
CLIBSRC1 ZIP 83090 10.06.92 3.10
GDIDEMO ZIP 20049 10.06.92 3.10
INCLUDE ZIP 61610 10.06.92 3.10
MATHSRC ZIP 114751 10.06.92 3.10
OLESRVR ZIP 27597 10.06.92 3.10
OWL ZIP 306 10.06.92 3.10
RTLINSRC ZIP 29863 10.06.92 3.10
WINLBSRC ZIP 82217 10.06.92 3.10
20 file(s) 1449770 bytes
1536 bytes free
cccc.54vision,
Odgovor na jkpbvk, tema: slika u exe-u:...
Slika u neki komprimovani format (gif, jpg...) je malo nezgodna za
stavljanje u exe file, ja to izbegavam tako sto sa mojim screen graberom uzimam
ranije preview-ovane slike sa ekrana i ubacujem u format slicnome bit-mapu, to
radim zato sto je lakse citati ovakav format i prebaciti ga na ekranu - jedan
bajt je jedan pixel (a ne sada dekomprimovati sliku...).
Ono sa WAV-ovima sam uradio ovako:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
unsigned int bsp=500;
unsigned int dsp=0x1,sh=1;
char *prg="\r\nProgram by VISION\r\n";
void main(int argc,char *argv[])
{
FILE *in;
int i, n=0;
unsigned long int len=0L;
unsigned char c,str[80];
if(argv[1][0]=='/' && argv[1][1]=='?') {
printf("Usage: WAV [bit] [speed]\n");
exit(1);
}
if((in=fopen(argv[0],"rb"))==NULL) {
printf("Can't open myself.\n");
exit(0);
}
if(atoi(argv[1])<9)
sh=atoi(argv[1]);
if(atoi(argv[2])>0)
bsp=atoi(argv[2]);
fseek(in, -4L, SEEK_END);
fread(&len, 4, 1, in);
fseek(in, len, SEEK_SET);
for(;;) {
c=fgetc(in);
if(feof(in) || check_key()!=0)
break;
play_byte(c);
_CX=dsp;
zzx:
asm loop zzx;
}
nosound();
}
play_byte(unsigned char c) {
int i;
_AH=c;
_DL=1;
for(i=0;i<sh;i++) {
asm {
shl ah,1
}
}
zz0:
asm {
shl ah,1
jb zz
mov al,0x2c
jmp zz1
}
zz:
asm {
mov al,0x2e
or ah,0
}
zz1:
asm {
out 0x61,al
mov cx,bsp
}
zz2:
asm {
loop zz2
dec dl
jne zz0
}
return;
}
int check_key ()
{
asm {
mov ah,0x11;
int 0x16;
jnz key_found;
mov ax,0;
};
key_found:
return _AX;
}
Znaci sa programcicem koji sam ranije dostavio, ubacujete .wav u kraj exe
datoteke, pa zatim redom se ucitava svaki njen bajt i svira :).
Ako Vam bas treba i za slike, viknite :).
cccc.55vision,
>> evo za rezoluciju 640*350*16 boja (EGA/VGA)
>>
>> asm {
>> mov dx,03c4h
>> mov al,2
>> out dx,al
>> inc dx
>> mov al,<boja 0-15>
>> out dx,al
>> }
Ovo ti u 640x480x16 ne sljaka, ali poruci 8.36 je pravi odgovor, hvala.
cccc.56vision,
>> Znas li kako ide pokeb f-ja. E pa onda vrednost 0xff ti predstavlja neku
boju
>> iznad 15 jer najverovatnije koristis 16 boja, tako da ti je sve belo.
>> Da bi video kako to radi pisi int vrednost umesto hex.:
>> pokeb(0xA000,0x0000,9);//ovo bi bila boja 9
>> Nadam se da sam ti pomogao :)
Nisi pomogao :), ustvari nisi ni shvatio, prebaci masinu u 640x480x16, pa ces
shvatiti
cccc.57vision,
Ej ljudi, i ranije sam pitao za format .chr fajlova-fontova, ajde pomagajte
, moze i bilo koji drugi format koji je vektorski.
cccc.58vision,
>> U grafici visoke rezolucije jedan Pixel je jedan bajt (vazi za 256 boja ).
>> U textualnoj rezoluciji jedan znak na ekranu je dva bajta u memoriji (video)
>> zato sto je prvi bajt koji je znak (ASCII) a drugi atribut boje..
>> Kod vidoke rezolucije nemas znakove tj. samo jednu vrstu znaka (pizel)
>> sto znaci da u video memoriju treba upisati samo boju pixela (to je taj
>> jedan jedini bajt..)
Sve te stvari znam, a ko jos ih ne zna, nego problem je bio negde drugde, a
modovi sa 256 color-a bolji su samo oni sa 640x480 pa na vise pixela, a 320x200
ne dolazi u obzir, to je i suvise lako :)
cccc.59vision,
>> outp(0x3c4,2);
>> outp(0x3c5,x); gde je x broj stranice, posle ce sve sto upisujes sa
>> pokeom biti crveno.
Hvala, bas si pomogao :).
cccc.60vision,
>> Na istoj toj adresi samo u drugom BIT PLANE-u:).
Thanks u vezi bit planeova :).
>> Ovde nije fazon u XMode-u.
>> Probaj ovako:
>>
>> mov ax,0Eh
>> int 10h
>> mov dx,3D4h
>> mov al,9
>> out dx,al
>> inc dx
>> in al,dx
>> and al,40h
>> out dx,al
>>
>> ovaj mod je odlican za skrolove po vertikali jer ako setujes 12h onda nemas
Eee, taj mod mi treba :).
>> Posle ovakvog inicijalizovanja se dobijaju 4 BIT PLANES,4 stranice video
>> memorije, dobija se mogucnost pomeranja 4 bajta jednom movsb naredbom,
>> pisanje od jedanput 32 bajta (stosd), pristup svim stranicama istovremeno,
>> itd.
Ej, objasni ovo malo, bas to mi treba, prebacivanje 32 (odnosno 16) bajtova
odjednom, a ono sto si se namucio oko one slike video memorije, bas nisam
razumeo :(. Bas ne razumem, kako da znam koja je boja setovana u npr. jedan
pixel, dali moram da prelistam sve bit plane-ove, ali ipak ne razumem ĘĘĘ
Nego, dali postoji 'funkcija' sa out-om da se prikazuje tacka u ekranu (graf
mod).
Onaj primer skrolovanja u alter-u je mislim najprimitivniji (sa direktnim
gadjanjem video memorije, treba nesto kompleksnije, sa out-ovima :) ).
Nego, postavi npr grafiku u 640x480x256 modu (kod mene mod 5f), od a000:0000
do a000:ffff su znachi prvi 64k pixela, gde su sledeci - memorijska lokacija ĘĘ
U 320x200x256 modu, formula za prikazivanje pixel-a bi bila:
pokeb(0xa000,y_pos*320+x_pos,color);
ajde da nadjemo za 640x480x256 :), bio bih mnogo sretan :).
cccc.61jkpbvk,
||| Koji nisu BGI ? Ako mislis 'koji nisu CHR', onda je odgovor -
||| tesko, bez radikalnih zahvata i samostalnih rutina.
Pa razni sitni fontovi koje koristim recimo u Clipper-u (FON) pa do lepih,
sjajnih i velikih bit-mapiranih (imam ih nekoliko sa ekstenzijom FNT)
cccc.62marshall,
HI !
Pitanje za one koji rade u Watcom C-u, a uz to imaju Cirrus 5434 (ili neku
slicnu - tj. sa slicnim problemima) karticu. A evo u cemu je problem :
Jednostavno, nece da inicijalizuje SVGA modove, tj. konkretno ne mogu da ga
dignem u 640x480x256 (sa _setvideomode(_VRES256COLOR) komandom)...
Da napomenem da ni UNIVESA nije resila problem. Dakle, ako neko ima resenje
neka kaze. Unapred hvala,
Bojan
cccc.63d.stamen,
Da li neko zna da li postoji mogucnost da iz borlandovog debagera (v3.1)
otstampam niz iz prozora Inspect (znaci samo vrednosti...) i da li je
to uopste moguce? Meni to nije poslo za rukom, ali rekoh da za svaki
slucaj pitam?
cccc.64bkaradzic,
> pisanje od jedanput 32 bajta (stosd), pristup svim stranicama istovremeno,
^^^^^^^^
ovo je greska treba 16.
> Ej, objasni ovo malo, bas to mi treba, prebacivanje 32 (odnosno 16) bajtova
> odjednom, a ono sto si se namucio oko one slike video memorije, bas nisam
> razumeo :(. Bas ne razumem, kako da znam koja je boja setovana u npr. jedan
> pixel, dali moram da prelistam sve bit plane-ove, ali ipak ne razumem ĘĘĘ
Nije prebacivanje nego pisanje 16 bajtova iste boje istovremeno (ovo ti
treba ako pravis rutinu za filovanje vektora:). Kad hoces da pises 16
bajtova od jednom, setujes prvo sve BIT PLANE (0F02h) i onda pises u
video memoriju.
Kad hoces da pises bajt u video memoriju onda radis ovako:
xor dx,dx
mov ax,YPos
mov bx,80
mul bx
mov di,ax
mov ax,XPos
mov cl,al
and cl,3
shr ax,2
add di,ax
mov ax,1102h
rol ah,cl
mov dx,3D4h
out dx,ax
mov al,<boja>
stosb
Ako ucitavas sliku neces stalno pozivati ovu rutinu nego ces setovati
prvi BIT PLANE, ucitati svaki 4 bajt itd.
Malo eksperimentisi sa ovim pa ces ukapirati kako se radi.
> Nego, dali postoji 'funkcija' sa out-om da se prikazuje tacka u ekranu (graf
> mod).
Ne.
> Onaj primer skrolovanja u alter-u je mislim najprimitivniji (sa direktnim
> gadjanjem video memorije, treba nesto kompleksnije, sa out-ovima :) ).
Nije primitivan ako hoces da ti slika iza teksta stoji (na PC ne postoji
mogucnost da razdvojis BIT PLANE prilikom hardverskog skrola:( ).
> Nego, postavi npr grafiku u 640x480x256 modu (kod mene mod 5f), od a000:0000
> do a000:ffff su znachi prvi 64k pixela, gde su sledeci - memorijska lokacija
ĘĘ
> U 320x200x256 modu, formula za prikazivanje pixel-a bi bila:
Opet na istoj memorijskoj lokaciji:) (0A000:0), ali uradis ovako:
mov dx,3CDh
mov al,<deo u koji upisujes (0,1,2...)>
out dx,al
stace ti 640x480x256?
> ajde da nadjemo za 640x480x256 :), bio bih mnogo sretan :).
Budi mnogo srecan:)
čatßoy
cccc.65mjova,
> Malo sam cackao i ovo gore bi radilo kad bi se stavilo
> exit:; ... Ali ne radi ako bi umesto jmp exit stavio call
> exit ??
svaka C funkcija ima standardni niz instrukcija na ulazu/izlazu.
ako bi koristio izlazni niz, ali tako da preskočiš ulazni, program
bi pravolinijski zakucao mašinu. prevodilac sam određuje šta se
može, a šta ne, pa je zbog toga i zabranio mogućnost upotrebe
call-ova. (zapravno nije baš da ne može ;)
sad, postavlja se i pitanje zašto su potrebni call-ovi u nekom C
programu? labele su vidljive samo u okviru funkcije, te je
nemoguće koristi ih u drugim fn. razlog tome što se ne vide van
asm bloka ne znam, ali pretpostavljam da je to izvedeno namerno,
da bi programeru tavilo do znanja da se nalazi u C-u ;).
ako imaš neke asm funkcije, zašto ih lepo ne uradiš u asembleru,
kao čovek, pa da te ne muče ovi problemi? o povezivanju ASM-a i
C-a bilo je više različitih tekstova i primera. stvar je zaista
*vrlo* jednostavna i zgodna za primenu.
cccc.66mjova,
> Pa na koje fontove misliš? .FON? .TTF? Microsoftovi jezici
> mogu da rade sa Windows .FON fontovima, dok ti za
> Borlandove treba neka biblioteka.
čak postoji mogućnost ugrađivanja .fon-a u dos exe koji će biti
korišćen pri radu u win prozoru! ;). ovo ne zavisi o prevodioca.
cccc.67zeljkoj,
> čak postoji mogućnost ugrađivanja .fon-a u dos exe koji će biti
> korišćen pri radu u win prozoru! ;). ovo ne zavisi o
> prevodioca.
Kako?
cccc.68mjova,
>> čak postoji mogućnost ugrađivanja .fon-a u dos exe koji
> Kako?
nemam neko opipljivo rešenje, ali tražeći odgovor na jedno
pitanje, slučajno sam naleteo na ovo što sam rekao. ne želeći da
gubim vreme preskočio sma s namerom da se vratim tome druggi
put... sada postoje tehničke teškoće, te čim saznam biće
objavljeno.
cccc.69vision,
>> Opet na istoj memorijskoj lokaciji:) (0A000:0), ali uradis ovako:
>>
>> mov dx,3CDh
>> mov al,<deo u koji upisujes (0,1,2...)>
>> out dx,al
Ne radi :(. Ono u vezi setovanja svih bit plane-ova pogledacu kasnije.
cccc.70pyramid,
>> Pitanje za one koji rade u Watcom C-u, a uz to imaju
>> Cirrus 5434 (ili neku slicnu - tj. sa slicnim problemima)
>> karticu. A evo u cemu je problem : Jednostavno, nece da
>> inicijalizuje SVGA modove, tj. konkretno ne mogu da ga
>> dignem u 640x480x256 (sa _setvideomode(_VRES256COLOR)
>> komandom)...
>> Da napomenem da ni UNIVESA nije resila problem. Dakle,
>> ako neko ima resenje neka kaze. Unapred hvala,
Verovatno funkcija _setvideomode koristi INT 10H/AH=0, a da ti je na tvojoj
kartici 640x480x256 mod != _VRES256COLOR
Pokusaj sa nekom drugom vrednoscu umesto _VRES256COLOR (od 0x10-0x7f)
Ako ti kartica podrzava VESA modove, pomenuti mod setujes sa:
mov ax,04F02H
mov bx,0101H
int 010H
cccc.71pyramid,
Evo jednog pitanja koje se ne tice video kartica, modova itd.
Kako da procitam serijski broj HD-a?
Kako da pokupim/snimim datum file-a?
Pored serijskog broja HD-a i BIOS-a, da li postoji jos neki broj koji zavisi od
konfiguracije, ploce, chip set-a ili sl.?
cccc.72niklaus,
(:> čak postoji mogućnost ugrađivanja .fon-a u dos exe koji će biti
(:> korišćen pri radu u win prozoru! ;). ovo ne zavisi o prevodioca.
(Donekle) nevezano za gornju temu...
Kako se može realizovati (uz pomoć Borland C++ paketa, zajedno sa
Win ekstenzijama) da isti izvršni program radi i pod DOSom i pod Windows-
-ima, u odgovarajućem okruženju.
Da malo posvetlim - pod DOSom se radi sa klasičnim DOS programom
(text mod, DOS grafički mod), a pod Win program koristi Win grafičke rut-
ine.
Pomeuto sam već video u paketu Recognita (verzija 2.0), i mnogo
mi se svidelo. (:
(: Sean :)
cccc.73vcalic,
>> Kako se može realizovati (uz pomoć Borland C++ paketa, zajedno sa
>> Win ekstenzijama) da isti izvršni program radi i pod DOSom i pod Windows-
>> -ima, u odgovarajućem okruženju.
Jednostavno. Napišeš potpuno nezavisno DOS i Windows program, onda DOS
program pri kompajliranju finalnog Windows EXE fajla navedeš u DEF datoteci
u stavci STUB ime DOS programa, i eto ti oba u finalnom EXE-u.
Vlada
cccc.74marshall,
Ne, nije problem do kartice ! Cirrus 5434 je VESA kompatibilan, a i S3 864 koja
je trenutno unutra, a ni sa njom ne radi. Obe one koriste mod 101h za
inicijalizaciju 640x480x256 (sto je stand. VESA mod), ali sa Watcomom ne ide.
Dakle, pitanje stoji - kako ovo ispraviti ?
cccc.75jkpbvk,
Jel' moze neko da resi sledeci problem ?
Naime, uvek sam imao problem da nadjem niz kodova u fajlu ali da ne idu
jedan za drugim , recimo :
B8 20 00 50 E8
E sad , meni je potrebno da mi izdvoji sve adrese na kojima naidje
na B8 - - 50 E8 , znaci kad naidje na B8 preskoci sledeca 2 i ispita da li
je sledeci 50 , ako jeste ispita da li je sledeci E8 i ako jeste izbaci
adresu.
Sledeci program donekle radi to jer ipak ne izbaci sve adrese sto sam
proverio rucno na nekom malom fajlu.
Mislim i da znam gde je problem ali ne znam kako da ga resim :)
Kad naidje na B8 file pointer se pomeri za 3 mesta da bi ispitao da li se
na tom mestu nalazi 50 , mislim da je problem u tome sto ako nije na tom
mestu 50, file pointer je pomeren za 3 mesta i recimo ako odmah nakon B8 ide
jos jedan B8 on bi bio preskocen, znaci treba vratiti file pointer za dva
mesta da bi krenuo dalje search nakon prvog B8 (uh, nadam se da nisam bio
konfuzan :)
Primer:
|-------------------
B8 B8 00 20 50 E8 |
| | ovaj bi ostao preskocen
jump -> ovde
Probao sam da ga vratim sa fseek i tad nadje vise adresa ali opet ne sve.
Evo ga prvi primer bez fseek i nakon njega ide drugi sa fseek.
Uz poruku je i fajl na kome i isprobavam ovo jer ima dosta trazenih kodova.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#ifndef min
#define min(a,b)
#endif
#define bufsize 8
unsigned char f1buf[bufsize+1];
FILE *f1, *f2, *in;
long f1len, k, n;
unsigned m,i,q;
void showbufs(long n, unsigned m, unsigned char *b1)
{
for (i = 0; i < m; i++) {
if (b1[i]==0xb8) {
i=i+3;
if (b1[i]==0x50) {
i=i+1;
if (b1[i]==0xe8) {
fprintf(in,"%08lX ", n);
for (i = 0; i < m; i++)
fprintf(in," %02X", b1[i]);
fprintf(in,"\n");
}
}
}
}
printf("Working ... %ld \r",n+m);
}
long fsize(FILE *fp)
{
long pos, size;
pos = ftell(fp);
fseek(fp, 0L, SEEK_END);
size = ftell(fp);
fseek(fp, pos, SEEK_SET);
return size;
}
void bincomp(FILE *f1)
{
f1len = fsize(f1);
printf("\nFile size : %ld\n", f1len);
n = 0;
while (n < f1len)
{
m = (unsigned)min(f1len - n, (long)bufsize);
fread(f1buf, 1, m, f1);
showbufs(n, m, f1buf);
n += m;
}
}
int main(int argc, char **argv)
{
_setcursortype(_NOCURSOR);
in = fopen("spisak.cod", "w+");
f1 = fopen(argv[1], "rb");
if(f1==NULL) {
printf("Fali ime programa za search ... \n");
exit(1); }
bincomp(f1);
printf("\n\nDone !!!\nSpisak adresa sa kodovima je u fajlu spisak.cod
\n");
return 0;
}
---------------------------- Drugi primer -----------------------------------
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#ifndef min
#define min(a,b)
#endif
#define bufsize 8
unsigned char f1buf[bufsize+1];
FILE *f1, *f2, *in;
long f1len, k, n;
unsigned m,i,q;
unsigned yes;
void showbufs(long n, unsigned m, unsigned char *b1)
{
for (i = 0; i < m; i++) {
if (b1[i]==0xb8) {
yes=1;
i=i+3;
if (b1[i]==0x50) {
yes=2;
i=i+1;
if (b1[i]==0xe8) {
fprintf(in,"%08lX ", n);
for (i = 0; i < m; i++)
fprintf(in," %02X", b1[i]);
fprintf(in,"\n");
}
}
}
if(yes==1)
fseek(f1,n-2,0);
if(yes==2)
fseek(f1,n-3,0);
}
printf("Working ... %ld \r",n+m);
}
long fsize(FILE *fp)
{
long pos, size;
pos = ftell(fp);
fseek(fp, 0L, SEEK_END);
size = ftell(fp);
fseek(fp, pos, SEEK_SET);
return size;
}
void bincomp(FILE *f1)
{
f1len = fsize(f1);
printf("\nFile size : %ld\n", f1len);
n = 0;
while (n < f1len)
{
m = (unsigned)min(f1len - n, (long)bufsize);
fread(f1buf, 1, m, f1);
showbufs(n, m, f1buf);
n += m;
}
}
int main(int argc, char **argv)
{
_setcursortype(_NOCURSOR);
in = fopen("spisak.cod", "w+");
f1 = fopen(argv[1], "rb");
if(f1==NULL) {
printf("Fali ime programa za search ... \n");
exit(1); }
bincomp(f1);
printf("\n\nDone !!!\nSpisak adresa sa kodovima je u fajlu spisak.cod
\n");
return 0;
}
test.execccc.76niklaus,
(:> void showbufs(long n, unsigned m, unsigned char *b1)
(:> š
(:>
(:> for (i = 0; i < m; i++) š
(:>
(:> if (b1ŠiĆ==0xb8) š
(:> i=i+3;
(:> if (b1ŠiĆ==0x50) š
(:> i=i+1;
(:> if (b1ŠiĆ==0xe8) š
(:> ...
(:> for (i = 0; i < m; i++)
(:>
(:> ... ć ć ć
Koliko vidim, problem je što se indeks i premota skroz do'm, čim se
prepozna prvi niz koji odgovara šemi 'b8 ?? ?? 50 e8'. Time se ne obez-
beđuje povratak na indeks i+1 radi sledeće provere. Sličan problem nastupa
i u 'fseek' varijanti (ne pomaže ti 'yes' fleg kada je na kraju procedure).
Rešenje problema bi bilo u uvođeju pomoćne promenljive, koja bi se ko-
ristila za pomeranje kroz bafer 'b1' (umesto onih i=i+? bilo bi pom=pom+?).
Naravno, na početku prve petlje išlo bi pom=i.
(: Sean :)
cccc.77tetragon,
PoŠtovane kolege: problem u Microsoftovom C++ ver 7.0
Pri prevodjenju sa Nmake /M phbook.mak ( i ostalih za windows )
dobijam greŠku : compiler is out of near heap space, a bez /M
compiler is out of far heap space.
isto se deŠava pri modelima AM, AC i AL, sa i bez optimizacija.
( crash-ne u afxwin.h ( sa /M ), tj. u windows.h )
MaŠina je 386SX/4MB norton cache 1024, QEMM 7.04. ems=3400, xms=1200
HELP! ;-)
cccc.78vlatko,
Pisem program koji intenzivno koristi dva COM porta PC 386 masine pod dosom 5.
Brzina mi nije kriticna. Koristim BIOS pozive 14h od 0 do 4. Inicijalizacija
porta na koji nije nista prokljuceno prolazi sa vracenim bajtim statusa 0,
port na kome je modem (((, interni Discovery, javlja greske pri
inicijalizaciji. Nisam uspeo naterati modem da mi odgovori ni na jedno slanje
niza karakterra. Najveci je problem sto se masina zablokira - poruka SISTEM
HALTED kada za duzinu reci koristim 8, a ne 7 kako sam propustom koristio u
ranijim verzijama. Program ni na jednom mestu nema alociranje memorije, niti
koristi nizove.
Postoji li mogucnost da su interapti 14h 0..3 bagoviti, i postoji li nesto sto
bih trebao znati o njima a nije opisano u Norton Guide-u ?
cccc.79jkpbvk,
+| Koliko vidim, problem je sto se indeks i premota skroz do'm, cim se
+| prepozna prvi niz koji odgovara semi 'b8 ?? ?? 50 e8'. Time se ne obez-
+| beduje povratak na indeks i+1 radi sledece provere. Slican problem nastupa
+| i u 'fseek' varijanti (ne pomaze ti 'yes' fleg kada je na kraju procedure).
+| Resenje problema bi bilo u uvodeju pomocne promenljive, koja bi se ko-
+| ristila za pomeranje kroz bafer 'b1' (umesto onih i=i+? bilo bi pom=pom+?).
+| Naravno, na pocetku prve petlje islo bi pom=i.
Probao sam to i ranije ali ne pomaze , jesi li ti probao to ili si ovako
na prvi pogled video da je u tome stvar ?
Ako jesi i radi , napisi taj mali delic programa.
cccc.81jkpbvk,
Evo neceg zanimljivog, ima i source.
fly.arjcccc.82jkpbvk,
Oduvek ste mastali o tome da napravite nesto poput DOOM-a ?
Za poruku zakacen source :)
doomlike.arjcccc.83maksa,
Shareware SVGA biblioteka za Borland/Microsoft C/C++. Mnogo bolja
od svgabgi i sličnih. Između ostalog, sadrži f-je za 2D/3D translacije,
rotacije, skaliranje, osnovne mouse f-je, čitanje/pisanje GIF-ova,
tabelarno ubrzane trigonometrijske f-je ...
Pokriva sve od 320x200x256 do 1024x768x256. Zahteva 386 ili bolje.
PS Zbog kilavih veza fajl je kačen iz više puta, pa ako ga neko skine
i ne uspe da ga raspakuje, nek' dojavi.
svgacc20.zipcccc.84mmitrovic,
Ů█▀█Ţ exit: mov ah,4ch
...
Ů█▀█Ţ jmp exit
Probaj da staviš čExit (majmunski znak, sorry za YUSCII) umesto
Exit.
cccc.85babbage,
Daklem, ahem. Ja se na bavim mnogo C-om ali evo imam ovde jednog zaluđenika
kome nije baš sve jasno...dakle, pitanja:
1. Kako stvoriti matricu 640x200 tipa int.
2. Šta je to binarno stablo?
to je samo za sada...inače za koji dan će da mi donese čitav spisak,
tako da...well, get ready!
babbage
cccc.86jkpbvk,
+| Shareware SVGA biblioteka za Borland/Microsoft C/C++. Mnogo bolja
+| od svgabgi i slicnih. Izmedu ostalog, sadrzi f-je za 2D/3D translacije,
+| rotacije, skaliranje, osnovne mouse f-je, citanje/pisanje GIF-ova,
+| tabelarno ubrzane trigonometrijske f-je ...
+| Pokriva sve od 320x200x256 do 1024x768x256. Zahteva 386 ili bolje.
Well Done !!
Ima na Fenix BBS-u novija SVGACC21.ZIP kao i jos dosta zanimljivih stvari
samo je problem sto retko ko ima pristup tamo to da skine :(
Ako neko ima evo mu hint sta da skine :)
- TGE133.ZIP
- SVGACC21.ZIP
- TNYPL211.ZIP
- RAYCST.ZIP
- SIMPWN70.ZIP
Pa nek baca ovamo kad krenu veze na 14400 :)
cccc.87jkpbvk,
+| Shareware SVGA biblioteka za Borland/Microsoft C/C++. Mnogo bolja
+| od svgabgi i slicnih. Izmedu ostalog, sadrzi f-je za 2D/3D translacije,
+| rotacije, skaliranje, osnovne mouse f-je, citanje/pisanje GIF-ova,
+| tabelarno ubrzane trigonometrijske f-je ...
+| Pokriva sve od 320x200x256 do 1024x768x256. Zahteva 386 ili bolje.
Izgleda da je ovo mnogo bolje ...
Nije mi jasno zbog cega Sezam ne nabavlja nesto novo za C , koliko vidim
ima dosta dobrih shareware stvari pa ne vidim zbog cega se ne bi zamenile
neke prastare datoteke iz DIR-a sa novim i korisnijim stvarima.
TGE133.ZIP 196563 07-18-94 The Graphics Engine 1.33 - TGE is a very
fast VGA/SVGA graphics library for C/C++
programmers. TGE has such features as a
powerful library of graphical and mouse
interface functions, device-independence,
support for loadable drivers and fonts,
virtual screens, viewports and advanced
clipping, output modes, PCX support,
virtual coordinates, bitmap scaling,
definable mouse pointers, and more.
cccc.88maksa,
>> TGE133.ZIP 196563 07-18-94 The Graphics Engine 1.33 -
Sve je to lepo, al' u registrovanoj verziji. ;) Ovo što se
dobije je praktično samo demo. Skinuo sam ga sa MR Sys-ovog
Simtel CD-a, pogledao, i obrisao.
cccc.89jkpbvk,
Jel' nekog interesuje ovo ?
Paket rutina za pravljenje igara mada je sve to jako sporo i vecina je
pisana za MSC sto mi veoma smeta i nervira ali sta je tu je ..
Iz ovoga sam vec poslao doomlike.arj i fly.arj jer je to najbolje sto ima
u tome, ostalo se uglavnom svodi na rad sa slikama (scroll slike itd.)
Ja nista od ovoga nisam uspeo da kompajliram, za neke stvari znam da nece
zbog MSC-a ali drugi su mi sumnjivi, izgleda da nisu dali uz ovo neki lib
ili nesto slicno sto je potrebno pri kompajliranju.
Evo file_id.diz i nfo iz paketa ..
-GAMES GURU'S DEVELOPMENT KIT/SOURCE CODES-
_______________ ____________ ____________
\_ ___ \_ ___ \ ___ \_
_/ l/ / l/ / l/ /
\______ / / / /____ / /|
======\________/\__________/[§m]\________/==
(*) D r i n k O r D i e [ 9 5 ] (*)
====[ 3 / 3 ]===============================
────── Brought to you by RTS Couriers ──────
˙ ┌──────────────────■ Release Notes/Group News ■──────────────────┐ ˙
│ │ │ │
│ │ Another nice release dedicated to christmas holidays! │ │
│ │ Here i represent you a awesome development kit/library to all │ │
│ │ new game programmers! Here you can find all cool information │ │
│ │ about programming tips and secrets, including pcx, music, 3d │ │
│ │ and other routines. This thing is very useful to many of us - │ │
│ │ thats why i release it! Original package name was a 'Secrets │ │
│ │ of a games programming gurus'. -JJ │ │
│ │ │ │
˙ └────────────────────────────────────────────────────────────────┘ ˙
cccc.90omega,
Ţ Paket rutina za pravljenje igara mada je sve to jako sporo i vecina je
Ţ pisana za MSC sto mi veoma smeta i nervira ali sta je tu je ..
Jel imas neki spisak fajlova ili tako nesto?
cccc.91jkpbvk,
+| Jel imas neki spisak fajlova ili nesto?
Nemam, sve je podeljeno u nekoliko direktorijuma i nigde nije nista ispisano
ili komentarisano sto me cudi veoma, cini mi se da se neko igrao sa ovom
arhivom preko i poslao je iskasapljenu jer moj utisak je da fali dosta stvari
Inace zauzima 3 pune diskete od kojih su pola slike (PCX)
Evo necega ...
ray.arjcccc.93jkpbvk,
Evo jos jedne arhivice ...
pal.arjcccc.94dcolak,
│ Ja nista od ovoga nisam uspeo da kompajliram, za neke
│ stvari znam da nece zbog MSC-a ali drugi su mi sumnjivi,
│ izgleda da nisu dali uz ovo neki lib
Long Live MSC :) Joke, no šalji obavezno, ima zanimljivih stvari :)
Sledge DAMMIR!
cccc.95bulaja,
│ Shareware SVGA biblioteka za Borland/Microsoft C/C++.
└───
Prebačeno u R:\C dir, hvala na prilogu :).
Evo ga i sadržaj File_Id.DIZ:
SVGACC.LIB-ver 2.0-is a high-res, 256-color
graphics library for MS & Borland C/C++. It
recognizes 20 different SVGA cards, allows
programming in 320x200, 640x480, 800x600 and
1024x768 256-color modes. Capabilities:
hardware id; simple primitives; 2D/3D points,
joystick/mouse support, GIF encode/decode;
paging; XMS; palettes; bitmaps and sprites.
cccc.96postmast,
From: lady.linet@setnet.co.yu (Brankica Kranjac)
Subject: Bugovi Borlanda
Date: Fri, 03 Mar 1995 15:40:26
AG> BK> float a;
AG> BK> long int b;
AG> BK> long int MaxLongInt;
AG> BK> a=b;
AG> Ahem, ovaj nije to bug..
AG> Nedostaje ti kast operator t.j.
AG> a=(long)b;
Ne, isto se desavalo i sa kastovanjem :((( Izgleda da je fazon
u broju 'sigurnih' cifara, tako mi rekose :( mada ne vidim razlog
za gubljenje doticnih ...
Pozdrav od Lady Linet
___
■ PQ 2.14 ■ Biti radoznao znaci biti ziv.
* Origin: # New Age # 23-06h # Beograd # SETNet: (38:103/110)
cccc.97bpekic,
Nije losa stvarcica SCGACC20.lib za grafiku u C. Nesto sam na brzinu
probao, uradio i nameravam da je bas koristim. Veoma je brza, ono sto
sam do sada vidjao, (ne racunajuci neke koje nisu shareware), je sve
sporije od ove biblioteke.
Rutine su dobro uradjene i optimizovane, i cela stvar hKje UPOTREBLJIVA.
Za one koji su zainteresovani, da se ne bi patili sa prekucavanjem
primera, skinuuo sam iz .TXT fajla primere u .C fajlove pa je sada
lakse pratiti uputstvo i odmah kompajlirati. Kad sam vec za sebe
radio, kome treba neka se posluzi.
Inace, .TXT kao uputstvo je uradjen i u WRI verziji kao fajl malo je
ulepsan pa ako neko bude zeleo, neka se javne.
Slazem se sa jednim drugarom ovde koji je pitao zasto se SEZAM ne
potrudi malo vise oko takvih SHAREWARE stvarcica za C, nedostaje nam
svega, pa i tih programa.
Hvala posiljaocu biblioteke..
P. Boris
svgasrc.zipcccc.98jkpbvk,
+| Nije losa stvarcica SCGACC20.lib za grafiku u C. Nesto sam na brzinu
+| probao, uradio i nameravam da je bas koristim. Veoma je brza, ono sto
+| sam do sada vidjao, (ne racunajuci neke koje nisu shareware), je sve
+| sporije od ove biblioteke.
A koje su to koje nisu shareware ?
Jel' su bolje od ove ?
Ako jesu daj spisak kao i pointer gde si ih nabavio
+|Slazem se sa jednim drugarom ovde koji je pitao zasto se SEZAM ne
+|potrudi malo vise oko takvih SHAREWARE stvarcica za C, nedostaje nam
+|svega, pa i tih programa.
Naravno, za clipper svakog meseca stave nekoliko novih datoteka dok za C
dvaput godisnje
cccc.99wizard,
> Naravno, za clipper svakog meseca stave nekoliko novih datoteka dok za C
> dvaput godisnje
To je zato što je fajl moderator zadrti kliperaš. ;)
Možda je Sezam dovoljno porastao pa bi mogao da razmisli o angažovanju
nekoliko file-moderatora za različite oblasti?
cccc.100mitcho,
Ima li ko parče koda kojim bi se pokazalo kako se neki od karaktera
video adaptera može predefinisati, ili se na neki način dodati novi
karakter među već postojeće? Radi se o VGA adapteru.
cccc.101omega,
Ţ Ima li ko parce koda kojim bi se pokazalo kako se neki od karaktera
Ţ video adaptera moze predefinisati, ili se na neki nacin dodati novi
ax=1100h za tekst mod, odn. ax=1121h za graficki.
Prekid je naravno 10h.
cccc.102mitcho,
> Ţ Ima li ko parce koda kojim bi se pokazalo kako se neki od
> karaktera Ţ video adaptera moze predefinisati, ili se na neki
> nacin dodati novi
>
> ax=1100h za tekst mod, odn. ax=1121h za graficki.
> Prekid je naravno 10h.
To sam našao u literaturi, ali mi ne radi. Naime, i nakon toga koristi
ugrađeni set znakova. Bio bih zahvalan ako bi neko poslao primer koji radi.
cccc.103omega,
Ţ To sam nasao u literaturi, ali mi ne radi. Naime, i nakon toga koristi
Ţ ugradeni set znakova. Bio bih zahvalan ako bi neko poslao primer koji radi.
Ovo radi 100% :) Font je 256x16=4096 bajtova duzine.
asm {
push bp
mov ax, seg Font
mov es, ax
mov ax, offset Font
mov bp, ax
mov ax, 0x1100
mov bx, 0x1600
mov cx, 256
xor dx, dx
int 0x10
pop bp
}
cccc.104jkpbvk,
This the C source code for 3d rotating picture.
-----------------------------------------------
#include <graphics.h>
#include <math.h>
int sx,sy;
float cr1,sr1,cr2,sr2,cr3,sr3,x2,y2;
int midx,midy,d;
/*void calc_3d(int x, int y, int z)
{
float y2,z2;
z2=cr3*z-sr3*y;
y2=sr3*z+cr3*y;
z2=z2-350;
sx=(d*(x2/z2))+159;
sy=(d*(y2/z2))+99;
}*/
void calc_3d(int x, int y, int z)
{
float xa,za,ya,x2,y2,z2;
x2=(-1)*x;
y2=y;
z2=z;
xa=cr1*x2-sr1*z2;
za=sr1*x2+cr1*z2;
x2=cr2*xa+sr2*y2;
ya=cr2*y2-sr2*xa;
z2=cr3*za-sr3*ya;
y2=sr3*za+cr3*ya;
z2=z2-350;
sx=(d*x2/z2)+midx;
sy=(d*y2/z2)+midy;
}
int huge detect_svga()
{
int vid=0;
return vid;
}
void main()
{
int x,y,z,gd=DETECT,gm,lcv;
int x1[3362],y1[3362],acc;
char col;
float turn;
printf("How complex do you want it (3-highest to 20-lowest):");
scanf("%d",&acc);
printf("%d",acc);
getch();
installuserdriver("svga256",detect_svga);
initgraph(&gd,&gm,"");
setcolor(15);
for (turn=0;turn<=M_PI*4;turn=turn+0.05)
{
cr1=cos(turn);
sr1=sin(turn);
cr2=cos(turn);
sr2=sin(turn);
cr3=cos(turn);
sr3=sin(turn);
midx=cos(turn)*20+159;
midy=sin(turn)*20+99;
d=sin(turn)*700;
lcv=0;
col=1;
for (x=-40;x<=40;x+=acc)
{
x2=x*(-1);
for (y=-40;y<=40;y+=80)
{
for (z=-40;z<=40;z+=acc)
{
calc_3d(x,y,z);
putpixel(x1[lcv],y1[lcv],0);
x1[lcv]=sx; y1[lcv]=sy;
putpixel(x1[lcv],y1[lcv],col);
lcv++;
}
}
}
col=2;
cr1=cos(turn+M_PI);
sr1=sin(turn+M_PI);
cr2=cos(turn+M_PI);
sr2=sin(turn+M_PI);
cr3=cos(turn+M_PI);
sr3=sin(turn+M_PI);
midx=cos(turn+M_PI_2)*20+159;
midy=sin(turn+M_PI_2)*20+99;
d=sin(turn+M_PI_2)*700;
for (x=-40;x<=40;x+=80)
{
x2=x*(-1);
for (y=-40;y<=40;y+=acc)
{
for (z=-40;z<=40;z+=acc)
{
calc_3d(x,y,z);
putpixel(x1[lcv],y1[lcv],0);
x1[lcv]=sx; y1[lcv]=sy;
putpixel(x1[lcv],y1[lcv],col);
lcv++;
}
}
}
printf("%d",lcv);
}
}
cccc.105postmast,
From: Aleksandar.Glumac@f119.n111.z38.setgate.setnet.co.yu (Aleksandar Glumac)
Subject: cccc
Date: Thu, 09 Mar 1995 15:43:00
"O> Jel' nekog interesuje ovo ?
"O> Paket rutina za pravljenje igara mada je sve to jako sporo i
"O> vecina je
"O> pisana za MSC sto mi veoma smeta i nervira ali sta je tu je
Pa mene bi(h) zanimalo. Kol'ko sam ja skont'o on ti isporuci vec pisane
rutine.
Odakle si skinuo ?
Ako te ne mrzi , baci mi par redova odgovora natrag , ok :)
Pozdrav Ace B)
"O> pisana za MSC sto mi veoma smeta i nervira ali sta je tu je
U kom jeziku radis ? Ja sam TC++ -ovac :))
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.106bpekic,
Ako se neko zabavlja sa SVGACC20.lib, i ako ima problema sa funkcijama
za misa, neka OBAVEZNO nabavi MICROSOFT driver za misa, inace nista od
rada.
Naime ako se misem kojeg "goni" neki drugi drajver, predje preko slike,
mis ostavlja trag za sobom i kvari sliku potpuno!
Genius driver ne radi, na primer.
Eto ta sitnica me je izludjivala jedan ceo dan, dok nisam postupio
prema Murf-iju, "kada nista drugo ne pomaze, mozda treba procitati
uputstvo"
Pozdrav svima!
cccc.107jkpbvk,
Kad nece file moderator ima ko hoce :))
The Graphics Engine29ßc (Public Beta) Tge Is
A Vga/Svga Graphics Library For C/C
Programmers, With Complete Source Code. Tge
Has Such Features As A Powerful Library Of
Graphical And Mouse Interface Functions,
Device-Independence, Support For Loadable
Drivers And Fonts, Virtual Screens, Viewports
And Advanced Clipping, Output Modes, Virtual
Coordinates, Bitmap Scaling, Definable Mouse
Pointers, And More.
tge129c.rarcccc.108mitcho,
> Ovo radi 100% :) Font je 256x16=4096 bajtova duzine.
Da, i ovo sam znao, ali nije htelo da radi. Samo, nisam radio u
asembleru, nego sam koristio REGS uniju i int86() funkciju. Izgleda da
sam loše prosleđivao segment i ofset tabele karaktera. E, u
međuvremenu sam uspeo da postignem ono što sam hteo, sledećim kodom:
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
#include <conio.h>
struct REGPACK reg;
unsigned segm,offs;
char Font[40000]={255,129,129,129,129,129,129,129,129,129,129,129,129,
129,129,255,255,68,68,68,68,68,68,68,68,68,68,68,68,68,68,255};
void main() {
segm=FP_SEG(Font);
offs=FP_OFF(Font);
reg.r_ax=0x1100;
reg.r_bx=0x1000;
reg.r_cx=2;
reg.r_dx=128;
reg.r_es=segm;
reg.r_bp=offs;
intr(0x10,®);
}
Sada se na mestu 128 nalazi prazan box, a na 129 drugi karakter (da ga
ne opisujem :)
Omega, hvala na trudu. Ova tvrdnja da radi 100% me naterala da ne
odustanem. BTW, u liniji mov bx,0x1600 treba da stoji 0x1000.
Međutim, opet se dešava čudna stvar. Kad ovo kompajliram sa TC2.0, ne
dobija se ono što bi trebalo. Naime, karakteri 128 i 129 se štampaju kao
blanko! Ako kompajliram sa BC++3.1, sve je u redu. Ima li ko ideju zašto
se ovo dešava?
I, za kraj, jedno iskustvo. Kad sam niz Font deklarisao u funkciji
main(), nije htelo da radi. Kad sam ga deklarisao kao globalnu prom.
proradilo je.
cccc.109omega,
Ţ char Font[40000]
^^^^^
Dobro, nemoj da preterujes ;) Dovoljno ti je broj_znakova*16.
Ţ odustanem. BTW, u liniji mov bx,0x1600 treba da stoji 0x1000.
Da, lapsus tastaturis :)
Ţ Kad ovo kompajliram sa TC2.0, ne dobija se ono sto bi trebalo.
Baš čudno.
Ţ Kad sam niz Font deklarisao u funkciji main(), nije htelo da radi.
Baš sam probao i radi. Nešto si 'ispustio'.
cccc.110dejanr,
Predstavljen Microsoft Visual C++ 2.1. NOVOSTI/microb 4.4053.
cccc.111mitcho,
> Ţ char Font[40000]
> ^^^^^
> Dobro, nemoj da preterujes ;) Dovoljno ti je broj_znakova*16.
:)))))) Znam, ali to je posledica dugotrajnog eksperimentisanja sa
implementiranim punjenjem tog niza, pa sam posle zaboravio da smanjim
veličinu niza. Iz istog razloga ima i više #include... nego što treba.
> Ţ Kad ovo kompajliram sa TC2.0, ne dobija se ono sto bi
> trebalo.
>
> Baš čudno.
Imaš li kakvu ideju?
> Ţ Kad sam niz Font deklarisao u funkciji main(), nije htelo da
> radi.
>
> Baš sam probao i radi. Nešto si 'ispustio'.
Hm, dobro, nije bio samo font, nego sve promenljive. I posle sam ih
markirao i prebacio "napolje" i *ništa drugo nisam menjao*, kad proradi.
A šta se dešavalo kad su bile u main: (na kraju datog programa bilo je i
jedno putchar(128);
Kod TC2.0 ispiše karakter (blanko) i do besvesti ispisuje Abnormal program
termination. A za to vreme ekran vrlo čudno "bljeska". Moglo se
prekinuti sa ctrl+break.
Kod BC++3.1 ispisuje pravi karakter, ali takođe do besvesti. I, takođe,
ekran vrlo čudno izgleda (ne mogu to lako da opišem). Prekida se sa
ctrl+break.
Možda je stvar u nekoj opciji kompajlera, koja se razlikuje kod nas
dvojice. Ali, veruj mi, samo ta promena mesta deklaracije je, kod mene,
rešila problem koji je postojao.
cccc.112omega,
Ţ Kod TC2.0 ispise karakter (blanko) i do besvesti ispisuje Abnormal program
Ţ termination. A za to vreme ekran vrlo cudno "bljeska". Moglo se
Ţ prekinuti sa ctrl+break.
Pa pogledaj u TD-u sta se desava. Ako nisi koristio inline asm,
onda je to sve vrlo cudno.
cccc.113omega,
Povodom slanja TGE (The Graphics Engine v1.29), evo ozbiljnih razloga
zasto ga NE upotrebljavati:
(betatest.doc)
The following known bugs exist at present:
- Only part of the screen can be accessed in Cirrus or Paradise SVGA
modes.
- In Tseng ET4000 SVGA modes, graphics input such as getImage() and
getPixel() is not done correctly.
Medjutim, posto je prilozen source, nije uzaludno skidanje :)
Nego, da nije neko mozda poredio brzine rada SVGACC i TGE?
Ako je TGE brži, onda vredi naći i ispraviti gore navedene
bagove.
cccc.114bpekic,
Ako pogledas SVGACC20 i TGE bibloteku, prema funkcijama, nislim da je
SVGA kompletnija u smislu, vise toga ima. Ja sam koristio neke stvari iz
SVGA (zoom i slicno) i odlicno radi. Sto se brsine tice, diskutabilno je
KOJE brzine meriti.
Pozdrav!
cccc.115postmast,
From: andrea@fon (Andrea Prunic)
Subject: lista...
Date: Wed, 15 Mar 1995 01:17:24 GMT
E ovako.
Ja sam jos uvek pocetnik za C(priznajem) pa mi je malo nejasno zasto
imam nekih problema kad pokusavam da napravim obicnu listu struktura.
Naime, napravim nesto tipa:
typedef struct cvor
{ char *rec;
int cnt;
struct cvor *next;
} slog;
slog *prvi,*zad;
void main(void)
{
char niz[10];
niz="pera";
prvi=(slog*)malloc(sizeof(slog));
prvi->next=NULL;
prvi->rec=(char*)malloc(sizeof(strlen(niz)+1));
strcpy(prvi->rec,niz); /*ovde je prvi->rec="pera"*/
niz="zika";
zad=prvi;
zad->next=(slog*)malloc(sizeof(slog));/*ovde se prvi->rec promeni u
"pera\v"!!!*/
zad=zad->next;
zad->next=NULL;
zad->rec=(char*)malloc(sizeof(strlen(niz)+1));
strcpy(zad->rec,niz); /*ovde je zad->rec="zika"*/
}
Za one koji znaju paskal, ovo je ocito fazon pravljenja liste u
paskalu(uproscena lista sa 2 elementa). E ali u TurboC++1.0 javlja se
ono misteriozno menjanje prethodnog sloga iz "pera" u "pera\r" ili
"pera\v" a zadnji uneti slog ostaje ok.
A na Linux-u sve radi ok.
Ocito, ako bih pokusao da poredim elemente dva cvora u kojima je rec
ista, to ne bi radilo jer bi jedan uvek bio "xxxx\r" a drugi "xxxx".
Medjutim, i u jednom i u drugom slucaju sa listom normalne velicine
se desava da u DOS-u qemm javi exception 13, bez qemm-a zaglavi,
a u Linux-u iskace Segmentation fault.
Sad, ako neko ima resenje KAKO se stvarno pravi dobra i sigurna lista
u C-u a koja radi i u DOS-u i pod UNIX-om(ili bar jedno), nek mi salje
odgovor i to detaljno, jerbo pocinjem da se nerviram vec. Samo bez
rekurzija, jer ih nikako ne volim.
A,da. Zasto pod Linux-om ne radi
{ char *niz;
scanf("%s",niz);} a pod DOS-om radi?
Ako je odgovor velik, neka mi posalje u private mail na
andrea@fon.fon.bg.ac.yu
Hvala!
... mA NIJE BRE NISTA, SAMO MI ZAGLAVLJUJE cAPS lOCK...
___ Blue Wave/QWK v2.12
cccc.116omega,
Jel BC mora da, prilikom kompajliranja, pravi one ogromne *.sym fajlove?
cccc.117omega,
Ţ Sto se brsine tice, diskutabilno je KOJE brzine meriti.
Brzine setpixel, putpixel, getimage, putimage, outtextxy.
Ostale su ionako egzoticne :)
cccc.118jkpbvk,
+| Ako pogledas SVGACC20 i TGE bibloteku, prema funkcijama, nislim da je
+| SVGA kompletnija u smislu, vise toga ima. Ja sam koristio neke stvari iz
+| SVGA (zoom i slicno) i odlicno radi. Sto se brsine tice, diskutabilno je
+| KOJE brzine meriti.
Po meni je bolja SVGACC20, verovatno ima nekih poboljsanja u SVGACC21.
Jedini problem je u tome sto je nemoguce recimo staviti gif u exe fajl
i sa fseek doterati na njegov pocetak u exe fajlu i odatle iscitati
podatke za gif, isto tako i sa fontovima.
Nego, posalji onaj help u wri formatu.
cccc.119eotek,
> Po meni je bolja SVGACC20, verovatno ima nekih poboljsanja u
....
> fontovima.
^^^^^^^^^^^
ima ih vise ? gde ?
kojim font editorom se mogu obradjivati i ima li ga ko ?
ima li neko juski ?
cccc.120maksa,
>> Jel BC mora da, prilikom kompajliranja, pravi one ogromne
>> *.sym fajlove?
Ako ti smeta:
Options, Compiler, Code generation - isključi Pre-compiled headers.
(izgubićeš na brzini prevođenja)
cccc.121maksa,
>> kojim font editorom se mogu obradjivati i ima li ga ko ?
Mogu da se obradjuju font editorom koji se dobije uz
biblioteku ... kad je registruješ. :(
cccc.122mitcho,
> Pa pogledaj u TD-u sta se desava. Ako nisi koristio inline asm,
> onda je to sve vrlo cudno.
Nisam. Koristio sam onaj program koji sam poslao, samo što su
deklaracije svih promenljivih bile u main() funkciji.
cccc.123djuradj,
Pogledajte sledeci program:
#include <stdio.h>
typedef struct komp
{
float re;
float im;
} KOMP;
/*----------------------------------------------------------------*/
KOMP racun(a,b,o)
KOMP a,b;
char o;
{
KOMP c;
switch (o)
{
case '*':
c.re=a.re*b.re-a.im*b.im;
c.im=a.im*b.re+b.im*a.re;
break;
case '/':
/*izraz za izracunavanje deljenja comp brojeva*/
break;
case '+':
c.re=a.re+b.re;
c.im=a.im+b.im;
break;
case '-':
c.re=a.re-b.re;
c.im=a.im-b.im;
break;
default:
printf("Pogresno unet operator!\n");
}
return(c);
}
/*-----------------------------------------------------------*/
main()
{
char o;
KOMP a,b,c;
printf("\nUnesite prvi broj (re,im) :");
scanf("%f",&a.re);
scanf("%f",&a.im);
printf("\nUnesite operator (*,/,+,-):");
scanf("%c",&o);
printf("\nUnesite drugi broj (re,im):");
scanf("%f%f",&b.re,&b.im);
c=racun(a,b,o);
printf("\n\nRezultat je : %f%ci%f\n",c.re,(c.im)<0?'-':'+',c.im);
getchar();
return(0);
}
Problem se javlja kod ocitavanja karaktera 'o'.Naime lepo ucita
a.re,a.im,onda preskoci unos o,i onda opet normalno ucita b.re i
b.im.
Pogiboh trazeci gresku,nemam vise zivaca!
POMAGAJTE!!!
Pozdrav,
Mindza.
P.S.Ako je nesto prosto ubicu se!
P.P.S.Imam TC 2.0 i TC++ 1.1.
cccc.124postmast,
From: vukota@fon (Milos Vukotic)
Subject: cccc
Date: Sat, 18 Mar 1995 09:11:23 GMT
> char Font[40000];
A koliki si stavio da ti je stack (kada si to ubacio u main , TC 2.0) ?
"The default stack size iz 4096 bytes" , a gde je 40000 !
Vukota
cccc.125postmast,
From: NIKOLI05892D@BUEF31.ETF.BG.AC.YU (Nikolic Ivica)
Subject: Re: CPP
Date: Sat, 18 Mar 1995 12:23:01 GMT
In <D5LInK.tJ@zmaj.etf.bg.ac.yu> ddjokic@galeb.etf.bg.ac.yu writes:
> predprocesorskim direktivama i ako postoji kakva je tacno
> sintaksa. Konkretno da li je moguce pisati nesto poput
>
> #ifdef (PERA && MIKA) i slicno..
>
Tesko da je moguce, ali zato sledeca sekvenca sigurno radi:
#ifdef PERA
#ifdef MIKA
Radi sta je potrebno
#endif
#endif
Problem je samo sto mi ne pada na pamet kako bi se sredila konstrukcija:
#ifdef (PERA || MIKA)
...
Tacnije, pada mi na pamet jedino idiotska ideja:
#ifdef PERA
Radi nesto
#endif
#ifdef MIKA
Radi to isto
#endif
cccc.126postmast,
From: ddjokic@fon (Dragan Djokic)
Subject: Re: CPP
Date: Sat, 18 Mar 1995 16:21:23 GMT
Nikolic Ivica (NIKOLI05892D@BUEF31.ETF.BG.AC.YU) je rekao/la:
>> Tesko da je moguce, ali zato sledeca sekvenca sigurno radi:
>> #ifdef PERA
>> #ifdef MIKA
>> Radi sta je potrebno
>> #endif
>> #endif
Hvala, ali to znam i sam ...
>> Tacnije, pada mi na pamet jedino idiotska ideja:
>> #ifdef PERA
>> Radi nesto
>> #endif
>> #ifdef MIKA
>> Radi to isto
>> #endif
I meni isto :))))))), pa sam tako i pisao. Bas bi bilo lepo
da je i ono moguce, bar estetski.
--
Djole ( ddjokic@fon.fon.bg.ac.yu )
cccc.127postmast,
From: NIKOLI05892D@BUEF31.ETF.BG.AC.YU (Nikolic Ivica)
Subject: Re: lista...
Date: Wed, 15 Mar 1995 15:16:38 GMT
In <D5GJL1.EKB@fon> andrea@fon writes:
....
> imam nekih problema kad pokusavam da napravim obicnu listu struktura.
....
> void main(void)
> {
> char niz[10];
> niz="pera";
^---- !!!!!!!!!!!!
Nije mi jasno kako ti je uopste kompajler progutao ovakvu liniju,
u C-u ime niza nije lvalue, tj. ne moze da se nalazi levo od operatora
dodeljivanja. Ispravno je :
strcpy( niz, "pera" );
> { char *niz;
> scanf("%s",niz);} a pod DOS-om radi?
Ako je i radilo pod Lynux-om, to je bila cista slucajnost. Deklaracijom
char *niz;
Kreira se pointer tipa char, ciji je sadrzaj posle takve deklaracije
potpuno slucajan (ili je nula, ako je deklaracija staticka). Da bi sve radilo
kako treba, moras prvo da alociras potreban prostor:
niz = (char*) malloc( PotrebnaVelicina );
Pa tek onda
scanf( "%s", niz );
Ima jos jedna stvar koja bi mogla da napravi probleme: scanf pod jednim
stringom podrazumeva niz znakova od kojih nijedan ne moze da bude 'belina'.
Konkretno, ako se kao ulaz gorenavedenom pozivu scanf ukuca string koji
sadrzi razmake, npr.
Dve reci
Sadrzaj niz-a ce biti "Dve". Ako je potrebno ucitati celu ulaznu liniju kao
jedan string, treba koristiti funkciju gets:
gets( niz );
I treba obratiti paznju da gets na kraj stringa dodaje '\n', pa tek
onda nulom markira kraj stringa.
cccc.128postmast,
From: OGNEN.IVANOVSKI@f131.n108.z38.setgate.setnet.co.yu (OGNEN IVANOVSKI)
Subject: B+/ISAM Manager
Date: Mon, 13 Mar 1995 00:09:00
Dali je neko ikad probao "ISAM Manager, made by NILDRAM
Software". Ako da, impresije....
====================================================================
May The Force be with you! Milkman
====================================================================
___
■ SPEED 1.40 [NR] ■ Daddy, what does FORMATTING DRIVE C mean?"
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
cccc.129postmast,
From: OGNEN.IVANOVSKI@f131.n108.z38.setgate.setnet.co.yu (OGNEN IVANOVSKI)
Subject: cccc
Date: Mon, 13 Mar 1995 00:44:00
"O|>From: "Milivoje Ognjanovic" <jkpbvk@sezam.UUCP>
"O|>Newsgroups: yu.prog.c
"O|>Organization: SEZAM Beograd, 011 648-422
"O|>Jel' moze neko da resi sledeci problem ?
"O|>Naime, uvek sam imao problem da nadjem niz kodova u fajlu ali da ne idu
"O|>jedan za drugim , recimo :
"O|>B8 20 00 50 E8
"O|>E sad , meni je potrebno da mi izdvoji sve adrese na kojima naidje
"O|>na B8 - - 50 E8 , znaci kad naidje na B8 preskoci sledeca 2 i ispita da li
"O|>je sledeci 50 , ako jeste ispita da li je sledeci E8 i ako jeste izbaci
"O|>adresu.
Je'l mozze u C++:
-- File: b8.cpp ----------------------------------------------
#include <fstream.h>
#include <iostream.h>
const char cb8 = char(0xb8);
const char c50 = char(0x50);
const char ce8 = char(0xe8);
void main() {
ifstream f("milkman.cod", ios::binary); // otvori file
char ch;
char tmp[4];
char *tp = tmp;
long adr;
while (!f.eof()) {
tp = tmp;
adr = f.tellg();
f.get(ch);
if (ch == cb8) { // ako je nadjen B8h
for (int i=1; i<=4; i++) // uccitaj sledecca
f.get(*tp++); // 4 bajta u tmp
if ((tmp[2] == c50) && // dali su 3 i 4
(tmp[3] == ce8)) // bajt trazzeni
// ako da, ispissi adresu
cout << "Found on " << adr << endl;
for (i=3; i>=0; i--) // vrati nazad ona 4 bajta
f.putback(tmp[i]); // kako bi se proverilo
// dali medju njih ima
// B8h
}
}
cout << "Done!" << endl;
}
-----------------------------------------------------------------
Test file:
-- File: milkman.cod --------------------------------------------
Ş
-----------------------------------------------------------------
Nadam se da sam pomogao.
====================================================================
May The Force be with you! Milkman
====================================================================
___
■ SPEED 1.40 [NR] ■ Misfortune: the kind of fortune that never misses.
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
cccc.130postmast,
From: ddjokic@galeb.etf.bg.ac.yu (Dragan Djokic)
Subject: CPP
Date: Fri, 17 Mar 1995 17:45:19 GMT
Dva pitanjca :
Prvo: Da li postoji mogucnost koriscenja operatora I i ILI u
predprocesorskim direktivama i ako postoji kakva je tacno
sintaksa. Konkretno da li je moguce pisati nesto poput
#ifdef (PERA && MIKA) i slicno..
Drugo: Kako ESC sekvencama ograniciti deo ekrana za skrolovanje.
Probao sam svasta ali nisam uspeo, stalno se skroluje ceo ekran.
Sekvencu je lako pokupiti ali nikako ne uspevam da ubacim u nju
brojeve redova pa da se recimo skroluje deo ekrana, recimo od
5 do 15 linije.
Pozdrav, Djole
cccc.131postmast,
From: Andrija.Gencel@f107.n111.z38.setgate.setnet.co.yu (Andrija Gencel)
Subject: Razmrdavanje
Date: Thu, 09 Mar 1995 14:34:46
Sta znaci ova deklaracija?
txx *ox->() {dalije();}
... A feature is a bug with seniority.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
cccc.132postmast,
From: SETN@f101.n101.z38.setgate.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 16 Mar 1995 22:38:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.C-LANG maintained on 16.02.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 207
Number of messages covered in report: 44
Processed period from: 19-2-1995 to 15-3-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Marko Milivojevic........ 38:103/130 1 14 9 64.29%
2. Vojislav Mihailovic...... 38:103/133 1 16 9 56.25%
3. Brankica Kranjac......... 38:103/110 1 13 7 53.85%
4. "Nenad Nikolic".......... Invalid Origin 2 40 16 40.00%
5. Goran Turudich........... 38:103/110 2 61 21 34.43%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. "Milivoje Ognjanovic" 9 20.5% 1134 0.00%
2. Aleksandar Glumac 3 6.8% 402 31.25%
3. "Nenad Nikolic" 2 4.5% 803 40.00%
4. OGNEN IVANOVSKI 2 4.5% 1366 18.03%
5. "Milan Maksimovic" 2 4.5% 429 5.88%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 32 72.7%
2. Victor Stevanovic 2 4.5%
3. Ivan Glisin 2 4.5%
4. Branka Kranjac 2 4.5%
5. "Milivoje Ognjanovic" 2 4.5%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. cccc........................................................ 29
2. Bugovi Borlanda............................................. 8
3. DOS funkcija 09h............................................ 4
4. Statistics.................................................. 1
5. Biblioteke.................................................. 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 5 11.4% ****************************
Monday 7 15.9% ***************************************
Tuesday 8 18.2% *********************************************
Wednesday 9 20.5% ***************************************************
Thursday 6 13.6% **********************************
Friday 3 6.8% *****************
Saturday 6 13.6% **********************************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 6 13.6% *********************************************
2:00- 3:59 2 4.5% ***************
4:00- 5:59 3 6.8% **********************
6:00- 7:59 1 2.3% *******
8:00- 9:59 1 2.3% *******
10:00-11:59 1 2.3% *******
12:00-13:59 7 15.9% *****************************************************
14:00-15:59 5 11.4% *************************************
16:00-17:59 7 15.9% *****************************************************
18:00-19:59 4 9.1% ******************************
20:00-21:59 3 6.8% **********************
22:00-23:59 4 9.1% ******************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.133smarkov,
> char niz[10];
> niz="pera";
Ovo ANSI kompajler ne guta (desna strana mora da bude lvalue) tako da
dalje ne može da se analizira.
> { char *niz;
> scanf("%s",niz);} a pod DOS-om radi?
Ne radi ni pod DOS-om - jednostavno se ne manifestuje greška. Upisuješ
sadržaj u 'niz' (neinicijalizovan pointer -> *kernel=NEZGODAN_SADRZAJ :) ).
pozdrav, smarkov
cccc.134jkpbvk,
+| Nadam se da sam pomogao.
Naravno, vec sam pomislio da je nemoguce :))
Thanx
cccc.135smarkov,
> scanf("%c",&o);
> printf("\nUnesite drugi broj (re,im):");
Gornji 'scanf' pročita \n koji je ostao u stdin posle prethodnog
'scanf'. (Radi se o formatnoj specifikaciji %c). Najjednostavnije
rešenje :
char o[10];
umesto scanf("%c", &o) -> scanf("%s", o);
o[0] tada sadrži operator.
pozdrav, smarkov
cccc.136smarkov,
>> #ifdef (PERA && MIKA) i slicno..
Postoji preprocesorki operator "defined" i preprocesorska direktiva #if.
Dakle :
#if defined(PERA) && defined(MIKA)
ObaDefinisanaKod
#endif
#if defined(PERA) || defined(MIKA)
...
#endif
Sa ovim operatorom i logičkim operatorima mogu se graditi izrazi
proizvoljne slozenosti.
cccc.137pyramid,
Da li neko zna da li postoji neka verzija Btrieve-a veca od 5.10?
cccc.138pyramid,
Potreban je spisak/objasnjenje funkcija Netware i Lantastic DOS API-ja...
Ako neko ima neki file, ili mozda zna neki tacan izvor (casopis, knjiga), ili
mozda zna napamet (?!), nek dojavi....
cccc.139postmast,
From: sinisa@fon (Mr. Sinisa Neskovic)
Subject: Re: CPP
Date: Sat, 18 Mar 1995 17:20:52 GMT
Dragan Djokic (ddjokic@galeb.etf.bg.ac.yu) wrote:
: Prvo: Da li postoji mogucnost koriscenja operatora I i ILI u
: predprocesorskim direktivama i ako postoji kakva je tacno
: sintaksa. Konkretno da li je moguce pisati nesto poput
: #ifdef (PERA && MIKA) i slicno..
Moguce je koriscenjem #if direktive i 'defined' operatora :
#if defined(PERA) && defined(MIKA)
....
#endif
Sintaksa za koriscenje #if direktive je:
#if <test>
<text>
[#elif <test>
<text> ]
...
[#else
<text> ]
#endif
Za <test> se koristi 'defined' operator, a mogu se graditi i slozeni logicki
testovi koriscenjem operatora && (logicko i), || (logicko ili) i ! (logicko
ne) kao sto sam naveo u prethodnom primeru.
Direktiva #ifdef je ostala iz ranijih verzija C-a zbog kompatibilnosti.
U novim programima se preporucuje upotreba #if direktive i operatora
'defined'.
cccc.140postmast,
From: Goran.Turudich@f110.n103.z38.setgate.setnet.co.yu (Goran Turudich)
Subject: Bugovi Borlanda
Date: Mon, 06 Mar 1995 22:51:04
U vezi "Borlandovih bubica" i calculatora Vojislav Mihajlovic kaze:
GT> Kako calculator izvodi operaciju
GT> stepenovanja (x na y)? Izgleda da to nije iterativni
GT> postupak - jer da jeste, sve bi bilo OK.
VM>Mislim da svi kalkulatori to rade pomocu logaritmovanja. To
VM>bude dovoljno dobro za male brojeve, ali za nesto vece...
Bez veze, stvarno - pa, bas kod malih brojeva iterativni postupak je
brz i predstavlja najbolje resenje, a kod velikih brojeva bi tek imalo
smisla vrsiti logaritmovanje, pa svodjenje na mnozenje, a zatim
antilogaritmovanje.
VM>A kad je osnova negativna, svaki se snalazi kako zna i
VM>ume. Neki provere da li je stepen paran ili ne pa mu udare
VM>predznak, neki uvek daju pozitivaan broj, a neki kod
VM>stepenovanja negativnog brojaa jave gresku (kao, shatro,
VM>ne postoji logaritam negativnog broja).
Ufff, to mora da su neki tajvanski ili mandzurijski calculatori (nije
moj CASIO ni tako los). Ih, izgubih veru u racunske masine - od sada
racunam na prste :))))
* Origin: # New Age # 23-06h # Beograd # SETNet: (38:103/110)
cccc.141postmast,
From: andrea@fon (Andrea Prunic)
Subject: Re: lista...
Date: Sun, 19 Mar 1995 01:50:31 GMT
ĐŠč On 03-15-95 15:16 Nikoli05892d@buef31.etf.b wrote:
> void main(void)
> {
> char niz[10];
> niz="pera";
Ni> Nije mi jasno kako ti je uopste kompajler progutao ovakvu liniju,
Ni> u C-u ime niza nije lvalue, tj. ne moze da se nalazi levo od operatora
Ni> dodeljivanja. Ispravno je :
Ni> strcpy( niz, "pera" );
Ovo gore sam pisao u 4 ujutro, polugrogi, pa sam skoro spavao.
Inace znam da mora da ide sa strcpy. My fault... :)
> { char *niz;
> scanf("%s",niz);} a pod DOS-om radi?
Ni> Ako je i radilo pod Lynux-om, to je bila cista slucajnost.
Pod linux-om nije radilo, u tome je stos.
A objasnjenje koje sam danas dobio od profe na faksu je da u DOS-u to
radi jer on dozvoljava kojesta i ne proverava nista, pa moze da se ucita
neki string negde u memoriju, ali ne znaci da ce se ucitati u SLOBODNU
memoriju, dok se u varijanti char niz[10] odmah rezervise 10 slobodnih
pozicija koje se popunjavaju.
Ni> staticka). Da bi sve radilo kako treba, moras prvo da alociras potreban
Ni> prostor:
Ni> niz = (char*) malloc( PotrebnaVelicina );
Ni> Pa tek onda scanf( "%s", niz );
Ovo ako unapred znam koliki mi je niz, a ako ne znam, ovaj stos bi morao
da se radi preko realloc za svaki novi karakter preko nekog broja ili
pomocu nekog pomocnog stringa.
Medjutim, moje pitanje je jos bez odgovora: zasto mi malloc za sledeci
slog liste menja prethodni slog?
... Neko jos nije rekao:"Vama ne sme niko da iskljucuje struju!"
___ Blue Wave/QWK v2.12
cccc.142postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: Re: Razmrdavanje
Date: Sun, 19 Mar 1995 13:39:04 GMT
Andrija Gencel (Andrija.Gencel@f107.n111.z38.setgate.setnet.co.yu) wrote:
-> Sta znaci ova deklaracija?
-> txx *ox->() {dalije();}
Neko se napio ili ufiksao.
cccc.143bulaja,
│Potreban je spisak/objasnjenje funkcija Netware i Lantastic DOS
│API-ja... Ako neko ima neki file, ili mozda zna neki tacan izvor
│(casopis, knjiga), ili mozda zna napamet (?!), nek dojavi....
└───
R:\InfoProg\Inter43*.*
cccc.144mjova,
> Jel BC mora da, prilikom kompajliranja, pravi one ogromne
> *.sym fajlove?
tesan disk? a? ;)
cccc.145pyramid,
>> │Potreban je spisak/objasnjenje funkcija Netware i Lantastic D
>> │API-ja... Ako neko ima neki file, ili mozda zna neki tacan iz
>> │(casopis, knjiga), ili mozda zna napamet (?!), nek dojavi....
>> └───
>> R:\InfoProg\Inter43*.*
Reci mi bar broj interapta ako znas... Gledao sam u Inter42 i pojavljuje se
Netware API na int 7Bh, ali nisu bas objasnjeni pozivi vec samo nabacani, jedan
za drugim...
cccc.146omega,
Ţ tesan disk? a? ;)
Da. Smrk :( Ali posto se dobija na brzini, bolje da stoji *.sym.
cccc.147bulaja,
│Reci mi bar broj interapta ako znas... Gledao sam u Inter42 i
│pojavljuje se Netware API na int 7Bh, ali nisu bas objasnjeni
│pozivi vec samo nabacani, jedan za drugim...
└───
E uzeše mi (neću imenovati ko, prepoznaće se sam:) baš juče Novell-ov
SDK CD, tako da ćeš za neko detaljnije objašnjenje morati da sačekaš ili
da se zadovoljiš time što ima u Inter listi (tu su svi pozivi, mada malo
nabacano i nerazumljivo:). Inače NetWare API nije na Int 7Bh, već 21h
(tu je i Lantastic, koliko se sećam i njega si tražio?:).
cccc.148jkpbvk,
Kako se kompajlira ovo uz poruku ...
Rec je o biblioteci za pustanje fli,flc-ova.
fli.rarcccc.149mjova,
>│ Reci mi bar broj interapta ako znas... Gledao sam u
>│ Inter42 i
> E uzeše mi (neću imenovati ko, prepoznaće se sam:) baš
> juče Novell-ov SDK CD, tako da ćeš za neko detaljnije
> objašnjenje morati da sačekaš ili
dobro, pogledaću ;)
cccc.150vbacko,
Citala sam teks u rcunarima 93 o rezidnetnim programima pa me
interesuje sta znaci komanda _CHAIN_INTR u microsoft C-u. Treba
mi njen ekvivalentan oblik u TURBO C-u.
cccc.151pyramid,
>> E uzese mi (necu imenovati ko, prepoznace se sam:) bas juce
>> Novell-ov SDK CD, tako da ces za neko detaljnije objasnjenje
>> morati da sacekas ili
Cekam... Uzgred, je l' moze neka detaljnija informacija o Novell SDK CD-u (da
li je to onaj SDK sa watcom-ovim compilerom?) i neka adresa gde se moze naci?
>> (tu je i Lantastic, koliko se secam i njega si trazio?:).
Da, da...
cccc.152postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: cccc
Date: Sun, 19 Mar 1995 13:49:46
-=> Reply to: "Ivan Petrovic" <=-
"P> Jel BC mora da, prilikom kompajliranja, pravi one ogromne *.sym
"P> fajlove?
Ako uzmes La Hey ekstenziju BC-a onda ne mora ;->>>>>
-=> MM <=-
... i *DId* rEaD tHE DoCS; ThaT'S WHy I'm conFuSeD!
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
cccc.153postmast,
From: NIKOLI05892D@BUEF31.ETF.BG.AC.YU (Nikolic Ivica)
Subject: Re: cccc
Date: Tue, 21 Mar 1995 09:21:59 GMT
In <sezam$cccc:01.047.1556@sezam> maksa@sezam.UUCP writes:
> >> Jel BC mora da, prilikom kompajliranja, pravi one ogromne
> >> *.sym fajlove?
>
> Ako ti smeta:
> Options, Compiler, Code generation - iskljuci Pre-compiled headers.
>
> (izgubices na brzini prevodenja)
Moze i bez gubitka na brzini. Tj., moguce je dobiti i jare i pare:
relativno mali .SYM fajl, sa kojim kompajliranje cak moze da bude i brze.
Metod se zasniva na koriscenju 'hdrstop' pragma direktive BC-a.
Svako ko je bar malo radio na C(++)-u primetio je da kompajler 90%
vremena trosi na kompajliranje fajlova poput windows.h, owl.h, tv.h, i
slicnih monstruma od po dvadesetak hiljada linija. Kao jedino resenje tada
se namece koriscenje prekompajliranih hedera.
Medjutim, tada se kao problem namece medjuzavisnot izmedju pojedinih
hedera. Kad god programer promeni sekvencu hedera koji se ukljucuju unutar
jednog .c(pp) fajla, ili promeni sadrzaj nekog hedera, kompajler ne proverava
da li ta promena utice na ostale hedere, vec ponovo isprevodi sve hedere
koji se iz tog fajla pozivaju, ali pri tome iz .SYM fajla ne brise stare
informacije koje su se ticale tog fajla. Zbog toga .SYM fajl ima tendenciju
stalnog rasta.
Drugi problem se javlja kada se pravi kompleksniji program sastavljen
iz vise modula. Tada kompajler u jedan .SYM fajl trpa informacije za svaki
modul posebno, iako je mozda redosled pozivanja hedera u svakom modulu isti.
Treba uociti da kompajler u .SYM fajlove trpa ne samo sistemske hedere,
nego i hedere koje sam programer pravi, iako kompajliranje ovih drugih traje
nesrazmerno krace.
Dobitak, koji se dobija koriscenjem '#pragma hdrstop' direktive, postize
se uz mali kompromis: u .SYM fajlove se upisuju samo prekompajlirani
sistemski hederi, a korisnikovi hederi, koji se po definiciji cesto menjaju,
se ne upisuju, cime je izbegnut efekat prevodjenja gomile hedera kad god se
izvrsi neka mala izmena u sopstvenom hederu.
Konacno, posle neophodnog i podugackog uvoda, evo i same metode:
Na pocetak svakog .c(pp) fajla treba staviti sve moguce i nemoguce
sistemske hedere koji ce ikada biti (ili nece biti) potrebni. Zatim treba
staviti jedno '#pragma hdrstop'. Vazno je da se IDENTICNA sekvenca stavlja
na pocetak svakog .c(pp) fajla. Pametnije resenje je da se ova sekvenca (bez
hdrstop pragme) stavi u jedan .H fajl, koji ce se zatim ukljucivati na pocetak
svakog .c(pp), a da se hdrstop pragma stavi odmah iza ukljucivanja tog
hedera. Posle '#pragma hdrstop' ukljucuju se, po potrebi, sopstveni hederi.
Naravno, opcija 'Precompiled headers' mora da bude ukljucena.
Dobitak, koji sam postigao na ovaj nacin, je prosto fantastican.
Zamislite projekat sastavljen iz tridesetak modula, iz svakog modula se poziva
barem windows.h ili owl.h, sa svom bulumentom hedera koja iz toga sledi, i
sa bar nekoliko sopstvenih hedera koji se ukljucuju u skoro sve module.
Bez koriscenja opisane metode, kompajliranje ispocetka celog programa, koje
je bilo neophodno posle svake promene na jednom od 'globalnih hedera, trajalo
je, brat bratu, desetak minuta (BC++ 3.1), jer su se za svaki modul windows.h,
owl.h i prateci hederi ponovo prevodili.
Posto sam pozivanja hedera prearanzirao na goreopisan nacin, vreme
kompajliranja celog programa svelo se na svega par minuta, jer su se windows.h,
owl.h i drugi sistemski hederi kompajlirali samo za prvi modul, a za sve
druge module koristile su se informacije iz .SYM fajla. Hederi koje sam ja
pisao prevodili su se za svaki modul posebno, ali to ne odnosi vise od
par sekundi po modulu.
I, na kraju, najlepsa stvar: .SYM fajl je narastao na nekih 800Kb, i tu
se zaustavio. Jos lepse, jedan isti .SYM fajl ostajao je neizmenjen po nekoliko
dana, i pored intenzivnog rada na projektu. I jos lepse od toga, jedan isti
.SYM fajl se moze koristiti za razne programe, samo trenutno ne mogu da se
setim kojom pragmom se definise ime .SYM fajla.
cccc.154postmast,
From: EKOVCIN@UBBG.ETF.BG.AC.YU (Milan Kovcin)
Subject: Citanje sa serijskog porta
Date: Tue, 21 Mar 1995 23:52:32 GMT
Potrebno mi je da na najlaksi nacin procitam podatke koji mi dolaze
na serijski port. Nije bitan jezik (asembler, c, basic, . . .).
Da li neko moze da mi pomogne. Odgovor je hitno potreban, a bilo bi
lepo kad bih dobio i kod.
Odgovore ostavite ovde ili na ekovcin@ubbg.etf
Unapred zahvalan
---
e-mail: ekovcin@ubbg.etf.bg.ac.yu
xmk@orao.etf.bg.ac.yu
cccc.156zeljkoj,
> Potrebno mi je da na najlaksi nacin procitam podatke koji mi
> dolaze na serijski port. Nije bitan jezik (asembler, c, basic,
Jedino u BASIC-u to možeš lako i elegantno da uradiš bez dodatnih biblioteka.
Evo primer kako se otvara port:
OPEN "COM2:2400,N,8,1" FOR RANDOM AS #1 LEN = 256
Posle LEN je veličina i/o buffera. Za mod treba staviti RANDOM ukoliko
želiš i da čitaš i da pišeš na port. Na početku su parametri komunikacije.
Nadam se da si ukapirao šta je šta.
Da napomenem da BASIC podržava samo COM1 i COM2. :)
Na port pišeš, na primer, ovako: PRINT #1, a$ (String a$ se šalje na port
otvoren pod brojem 1 - paziti da se taj broj i onaj u okviru OPEN-a slažu.)
Sa LOC(1) (staviti odgovarajući broj) dobijaš broj bajtova koji čekaju u
baferu da budu pročitani. Podatke čitaš sa INPUT$(broj_bajtova, hendl).
Evo primera kako čitaš sve što je stiglo na port otvoren pod brojem 1:
ModemInput$ = INPUT$(LOC(1), #1)
Na kraju port zatvaraš sa CLOSE hendl, tj. u ovom primeru CLOSE #1.
Inače, ne moraš non stop da čekaš na podatke sa COM porta. Postoje
i naredbe COM ON i ON COM GOSUB pomoću kojih instaliraš hendler za obradu
podataka sa COM porta tako da tvoj program može nesmetano da radi nešto
drugo, a da se procedura za obradu izvršava samo kad nešto stigne na port,
a posle automatski nastavi tamo gde se stalo.
Sve je ovo dosta dobro objašnjeno u helpu, a ovo što sam ja sada naveo je
samo jedan mali deo mogućnosti BASIC-a u radu sa COM portovima. Ima tu
još mnogo lepih i korisnih stvari. :))
cccc.157ikordic,
RE: Watcom
Koristi li neko Watcom 10.0? Ako tog nekog ne mrzi, bio bih zahvalan za
kratak komentar, posebno ako je u pitanju prebeg iz Borland/Microsoft
tabora. Nešto kao: zašto ste se odlučili na takav korak i da li se isplatio?
cccc.158jkpbvk,
Jel' moguce u SVGACC biblioteci namestiti da mouse kursor bude uvek
bele boje (ili bilo koje druge), bitno da moze da se menja.
Kad se promeni paleta boja i radi sa misem menja se naravno i boja kursora,
koliko vidim u nijednoj funkciji vezanoj za misa nema input za boju.
Jel' vidi neko resenje ?
cccc.159eotek,
> koliko vidim u nijednoj funkciji vezanoj za misa nema input za
> boju. Jel' vidi neko resenje ?
i da ima, ne bi ti mnogo pomoglo, jer je paleta
promenjena, pa se na mestu napr. bele boje nalazi neka druga,
upravo ona koja farba strelicu. pretpostavljam da te stvar muci
prilikom bacanja slika na ekran. ako je tako, ja koristim jedno
via-mala-krsna resenje:
pod windows prikazem sliku (napr. sa wingif), i to tako da se
vide i title bar's (kod mene, standardne, plave boje, sa belim
slovima). onda ceo ekran snimim sa sctief, pa u naknadnoj obradi
odsecem visak. tako obradim sve slike i sve slike ce biti
_iste_ palete. to je dobro:
1) za ubrzavanje programa (nema potrebe za svaku sliku pozvati
gifgetpal, vec samo jednom);
2) prikaz slike preko slike je lepsi (ekran se ne resetuje/pocrni)
3) moze se bacati i vise razlicitih slika na ekran i -poseban
efekat-
4) ako ti zatreba imas i windows-like ekrane pod dosom, sa svim
kerefekama koje ti na osnovu toga mogu pasti na pamet.
P.S.
ima li neka dobra dusa neki yu font za svgacc, jos kad bi
bio juski ...
cccc.160vitez.koja,
#=> From: EKOVCIN@UBBG.ETF.BG.AC.YU (Milan Kovcin)
#=> Potrebno mi je da na najlaksi nacin procitam podatke
#=> koji mi dolaze na serijski port. Nije bitan jezik
#=> (asembler, c, basic, . . .). Da li neko moze da mi
#=> pomogne. Odgovor je hitno potreban, a bilo bi lepo kad
#=> bih dobio i kod.
Prijem podataka sa serijskog porta moguće je realizovati na više
načina. Pisanje sopstvenog interapt hendlera svakako nije
najlakši, ali jeste najuniverzalniji i najsigurniji način.
U sledećem fajlu imaš sve potrebne funkcije, u Cu. Kod nije
komentarisan, ali je dosta jasan i ovako.
Pre početka korišćenja funkcija moraš da instaliraš hendler sa
comm_install(int port);
i podesiš radne parametre sa, na primer:
comm_setup(2400, NPARITY, BIT8, STOP1); // 2400 8N1
Tada su ti na raspolaganju funkcije comm_putch, comm_getch, i još
neke.
Na kraju rada pozivaš
comm_remove();
i uklanjaš svoj interapt hendler.
section 1 of 1 of file comm.zip < uuencode 5.32 by R.E.M. >
begin 644 comm.zip
M4$L#!!0``@`(`"EAMAR(NP)!K@,``*L,```(````0T]-32Y#4%"-5EUOVS84
M?1^P_\!B6$#6WB;9+E!$4X#,<59A=AW(SLN&39`E.A)J2X9(N0WJ_/>1%$E]
M1W$>0I'W\IQ[>2YY?XJ3X)"'&/P>I,?CK]'-CS_P/P#.:1R".*$XR_(3!?!]
M>@C/.*!IAJ#GS1\>;MT_-\CJ,>>;>17OT@-\+QP`R!,2/R4X!$'D9X!0GV)+
MK84Q\7<'##D`__X:Q>SK'83"S(Z34YK1'10P?#ARG#L7H2L3H<(!`/(UID%4
M.`A4('^!3S"87(-X#TD2[O+]GMBV'#'+-*>GG'J[G#S;AE6ZJ1\^,/?O[7D@
M/!NTMI_<,9![_Z/01J-_D=6W@8(V.RUZ..LY-=7)_*4]M<NP_\5JY&9V#;+@
M+"C+_YA1[DBZRW+>@:.<?K:=S]X?C_<;Y^^%-8P=XKV?'^AU8T&RULEUYBRE
MB[6CD'%24<I+(:`XT1)DYW\X`,AGN'^O_HX^^>)E^$E+4.I'.U429%X#G01[
MOEZ9WL/:W;9"5$50F#B?>RPX<F&RNMW\U;*I9T.)MX8_&<:?#.-/WHP_;>!/
MA_&GP_C3-^//&OBS8?S9,/[L+?A:I!FF>9:`B5R1*E4JTL7BK'2)E`I>N6-@
M?+N_UROJ:K6?,.4CJ*@K"]*8'S=NV!9&I4I7<Q>-`;S;NA=WN[FL'[<3I.PU
M7S6X@CHG_]4HUL@K:[5:K34<ZKM+YLBHEJ9X*(0]BRD_%95)3AB'8U&V)S^+
MZ7,QWL64%"-"TQ/[ZJU>YN4?)2JW#^-S3-),%W/'U;R<BU/X:*@@I(_-&2%H
MFA\FAK'\35!K9:'<YFZY9,F5OE?&-\-@27O5_A.S5PXW-Q]1TTG$HB_PX@O6
MPD6PR-*%)^BB<F.]'BH4.S&PZ:O\G`5/2YU+^^;GFAHP66X&358;=XC)%.E3
M[7SR>U?UV]1\$C)\3,\80"[$BI[B/:RK^)UM(J7@7\S>.BS;HNY:,%ZI!<[I
MF(;XZ/$N)2<M4H43[,X<ZMXJI)DL*MWY=%4,XUUON=2$#;N/F^OT7KWCTE+\
MX_HUT:6R8<^!KK@,"U;UI)1^S<-ZPC2(VF=5+'L\$*MR@++Q(+:M6I#V"2J_
MHLR;C0[OS10W.=/1Q<@]*Q0ZKK=3+J@+KE%=:)4^3ZA,=Q=]'23;P*K:-)O$
MET976K3+JAF\L=>/6Q5"N5&C+14]7A!5W[.NF`B`0C_O"<V:1Q+IPR@(!)'-
MS48CW93S*HML^^'V<;-`(,0'_QE^,(R2E(BCS!]4D3,J_P-02P,$%``"``@`
MN&"V''(>0#M4`@``AP<```8```!#3TU-+DB%E%UOVC`4AN\K]3]8ZD6A0B@)
MT#%UF\17UVA`4))>;%,50>(4:Q!'MH/HS7[[;`<2VS0=$M*Q'[_O.3D^R0U*
MLP2F()IXB\7UU0V/40:K)<KB79%`\"7&&<+=[3=U+\%4[M0R=^$#]6<='5NA
MDPMJU73FN>_0FO.*[&CE^6'%K=[C4...P1V#]TS]3.=]4R^X48&[#.L*K8F1
M7Z=C(_M'VOZEULB\&`4_*FY;1F:-6N9S?Z3M7VIK'CX9=U8C?]J(IO-Y,WK2
MD#H?,[\1N7HRIT9S8ZIZ-5H8J*^H`AT-%)6![M5^3,/&&OTP``TU>L^AHR*M
MQ<O5R'?#G\K@6TJ_O$NJ7.[L@MH*';OA0'^E5&=.[PUJ:_2301V-#@VJ]#T(
MO97=F%=01Z=]M1^KT7,P4_CMWUOM71CYOCHIUG%8?B=0*C]D49SO"BK^UU>"
M5Y^T:++BW?H>@&ZWRX_#'84-)P3-$I0*6V4&E]'X^3%P?YV*&]J?]2O6L#.0
M<P,`96N&8E!D%+UF,`'Q=DT`B0^;(DU_UYXO'4"S1&XJ5B\/[UF@C)T=Z%>K
M<XZAB$\F5(GY?J--C/?[B`?BN(QS3.K%?DW__%_,T6X'$Z'"!<L+%FT*^B9U
M0@F/#)(,'#"2*DA(D3/0NL.[Y`!CADF[576^?=+(P]*>0E;D+9&-YA`F'9DX
M7Q/$WLIX@Q@M(\IPSE?M!]V!%Q1OI4/<[E1;M"4OXHXR4@K,!Y(*T8VSB,`]
M/L"6,.9;>YQ`7AWO2D'+O<JE1`DC9=G\"#Q[O$)1R_EX/6?_`%!+`0(4`!0`
M`@`(`"EAMAR(NP)!K@,``*L,```(``````````$`(`````````!#3TU-+D-0
M4%!+`0(4`!0``@`(`+A@MAQR'D`[5`(``(<'```&``````````$`(````-0#
>``!#3TU-+DA02P4&``````(``@!J````3`8`````
`
end
sum -r/size 5555/2423 section (from "begin" to "end")
sum -r/size 56617/1740 entire input file
cccc.161mjova,
> Cekam... Uzgred, je l' moze neka detaljnija informacija o
> Novell SDK CD-u (da li je to onaj SDK sa watcom-ovim
> compilerom?) i neka adresa gde se moze naci?
nema na njemu watcoma, ali ima dosta zanimljivih stvari. postoje
razne biblioteke (za razne prevodioce) i puno helpova. disk ima nekih
180Mb, što i nije neka impozantna količina ;).
što se tiče asm api, ima jedno poglavlje o tome, ali nije baš
jednostavno to eksportovati van. ne znam zašto, ali javljaju se razne
greške, pa je uvek sadržaj nekompletan.
cccc.162pyramid,
>> sto se tice asm api, ima jedno poglavlje o tome, ali nije bas
>> jednostavno to eksportovati van. ne znam zasto, ali javljaju
>> se razne greske, pa je uvek sadrzaj nekompletan.
Je l' mozes pokusati da otstampas preko nekog spoolera (ili neke slicne
preko-stapa-i-kanapa metode) i da iz istog freeze-nes stampanje, i snimis ga
kao file?
cccc.163vbacko,
Dali neko moze da mi pomogne oko objasnjenja:
Koja je zamena u TURBO C-u za _CHAIN_INTR u MICROSOFT-u
Unapred zahvalan VBACKO
cccc.164mjova,
> Je l' mozes pokusati da otstampas preko nekog spoolera
> (ili neke slicne preko-stapa-i-kanapa metode) i da iz
> istog freeze-nes stampanje, i snimis ga kao file?
probao sam sve, ali nema šanse. na žalost.
inače, disk ima nekih <180Mb - bedno, s obzirom na ostalih *praznih*
450Mb ;)
cccc.165pyramid,
>> probao sam sve, ali nema sanse. na zalost.
Nema veze... Iskombinovacu nekako... Znas li barem da mi kazes kako da posaljem
jednu porukicu po mrezi (verovatno se moze uraditi preko cirkularnih poruka)
tako da ih moj program prima i obradjuje, a klijenti koji nisu startovali moj
programcic da ih ne vide (ne samo nevide, vec i ctrl+enter me muci)...
Rec je o Netware-u 3.12...
>> inace, disk ima nekih <180Mb - bedno, s obzirom na ostalih
>> *praznih* 450Mb ;)
Ako je multi-session pa da nasnims jos jedno 3000 fontova, pa igara, par
hiljada slicica, itd. :)
cccc.166djelovic,
> Dali neko moze da mi pomogne oko objasnjenja:
> Koja je zamena u TURBO C-u za _CHAIN_INTR u MICROSOFT-u
_chain_intr je funkcija koja prekida izvršenje tvoje interapt funkcije i
"uskače" u neku od originalnih, iz BIOS-a. Nešto kao GOTO u drugu funkciju, da
se izrazim poetično :).
Novi Borland C++ ima baš _chain_intr, ali je stari Turbo C na žalost nema.
Elem, možeš da uradiš dve stvari da bi je simulirao:
1. Da iz tvoje funkcije uradiš jedan far jmp direktno u interapt rutinu,
što je zapravo baš ono što _chain_intr i radi.
2. Da pozoveš potreban interapt pa da odmah posle toga uradiš jedno return.
P.S. Uz Borland C++ 3.1 je dolazio sors većine bibliotečkih funkcija, pa
verovatno i ove. Možda da nađeš nekoga ko ima 3.1 pa da prekopiraš i samu
funkciju?
cccc.167pyramid,
>> 1. Da iz tvoje funkcije uradis jedan far jmp direktno u
>> interapt rutinu, sto je zapravo bas ono sto _chain_intr i
>> radi.
Ne valja ti ovo... Kada definises funkciju kao void interrupt kompajler odma'
napravi kod gde smesti sve registre... Morace prvo da poskida sve sa steka, pa
tek onda jmp.
>> 2. Da pozoves potreban interapt pa da odmah posle toga
>> uradis jedno return.
Ovo radi, ali ne u svim slucajevima. Npr. _chain_intr moze da se upotrebi za
int 21h jer bios interapt potrazi flag reg. na steku i promeni ga
(setuje/resetuje carry), a ova sema sa pozivanjem interapta pa return nece
promeniti flag reg...
Sve u svemu sistem bi mogao da bude sledeci:
napravi se rutina
void interrupt test() {
asm nop
}
- iz TD-a ili sl. prepisati sve sto se iza nop-a uradi
- upisati to na mesto gde treba da stoji _chain_intr
- upisati posle toga jmp oldvector
cccc.168vbacko,
>>>Ne valja ti ovo... Kada definises funkciju kao void interrupt kompajler
odma'
>>>napravi kod gde smesti sve registre... Morace prvo da poskida sve sa steka,
pa
>>>tek onda jmp.
...a kako da poskidam sve sa steka !!!!
vbacko
cccc.169skerl,
bwcc.dll iz Borland C++ 4.5 (11-10-94)
Pozdrav,
Skerl.
bwcc.zipcccc.170jkpbvk,
Ň════════════════════════════════════Ş
│ PMODE/W v1.02 DOS Extender │
│ Replaces DOS/4GW in Watcom C/C++ │
├────────────────────────────────────┤
│ Features: │
│ ) Extender size less than 8k. │
│ ) Extender is internal to the EXE. │
│ ) 100% compatible with Watcom C. │
│ ) Fast execution. │
│ ) Free for non-commercial use. │
ď════════════════════════════════════ż
pmode.rarcccc.171pyramid,
>> ...a kako da poskidam sve sa steka !!!!
Pa evo da se citiram:
>> Sve u svemu sistem bi mogao da bude sledeci:
>> napravi se rutina
>> void interrupt test() {
>> asm nop
>> }
>> - iz TD-a ili sl. prepisati sve sto se iza nop-a uradi
>> - upisati to na mesto gde treba da stoji _chain_intr
>> - upisati posle toga jmp oldvector
u sustini kod izgleda nesto kao:
asm pop ax
asm pop bx
asm pop cx
asm pop dx
asm pop si
....
ako je kompajliran za 8086, ili nesto kao:
asm leave
ako je kompajliran za 286/386...
Napravi ovu rutinicu za testiranje, udji u TurboDebuger, pritisni Alt+V,C i
dobices CPU window (linija u C-u, pa par linija u asembleru). Prepises na papir
sve linije posle 'nop' do linije 'iret', pa umesto iret stavis:
jmp oldvector
gde je oldvector promenljiva koja sadrzi stari int. vektor...
cccc.172jkpbvk,
+| Koristi li neko Watcom 10.0?
Instalirao sam ga veceras i prvi utisci su dobri uz zamerku da nema H od helpa
nijedan doc fajl (sem za dos4gw extender)K, ama bas nista od helpa.
Prvo sam instalirao samo za DOS programe da bi se iznenadio da od 34 disketa
na koje staje za DOS je iskoristio nekih 6-7, posto je to bilo veoma brzo
odlucih da instaliram i za Windows, tu je vec malo vise trazio (nekih 15-20)
U install-u je jedino ostao OS/2 , znaci ostatak disketa njemu pripada. ;)
Kompajlira donekle istim speedom kao i BC 3.1.
Win programi su OK samo sto se moraju rucno instalirati i pored opcije
Create icons (valjda se misli na kreiranje grupe prvi put po ucitavanju win
kao u BC-u)
Toliko za prve utiske (2-3 sata :)
Za sada je OK, svi programi koje sam kompajlirao su prosli bez problema.
cccc.173postmast,
From: andrea@fon (Andrea Prunic)
Subject: unix+portovi
Date: Thu, 30 Mar 1995 00:15:55 GMT
Haj svima.
Treba mi pomoc oko komunikacije preko LPT i COM portova pod unix-om i
dos-om.
Naime, trebale bi mi nekakve univerzalne rutine za rad preko LPT i COM
porta za dos i za Linux+SCO+BSD, pisane u obicnom C-u (nista C++, jos
sam mali za to :))
Ako ne moze i za jedno i za drugo, onda bar za unix, jer za dos neka
resenja vec imam.
Ko moze da pomogne, moze da mi posalje gotov source za Linux pre svega
na andrea@fon.fon.bg.ac.yu a moze i ovde da mi da neki savet.....
Hvala unapred.
BTW, ovo saljem i u yu.os.unix, da bi bio siguran da ce i unix-ovci da
procitaju. Ako je nekom zasmetalo, izvinjavam se.
... Neko jos nije rekao:"Vama ne sme niko da iskljucuje struju!"
___ Blue Wave/QWK v2.12
cccc.174spantic,
> Instalirao sam ga veceras i prvi utisci su dobri uz zamerku da nema H od
> helpa nijedan doc fajl (sem za dos4gw extender)K, ama bas nista od helpa.
Koristiš DEMO verziju ;) Watcom C++ 10.0 dolazi na CD-u ili na 61 disketi,
čiji zapis takođe imaš na CD-u.
cccc.175jkpbvk,
+| Koristis DEMO verziju ;) Watcom C++ 10.0 dolazi na CD-u ili na 61 disketi,
+|ciji zapis takode imas na CD-u.
Moguce, mada nigde ne pise da je demo, jesi siguran ?
Znam za ovo na 61 disketu, to je isto to samo za sve platforme.
Izasao je neki patch za Watcom C++ 10.0 koji bi trebalo da ima u sebi i
neku dokumentaciju koja se nije pojavila u verziji koju imam.
Za dan-dva cu da pribavim pa cu da javim o cemu se radi ;)
cccc.176postmast,
From: andrea@fon (Andrea Prunic)
Subject: unix+portovi
Date: Thu, 30 Mar 1995 00:15:55 GMT
Haj svima.
Treba mi pomoc oko komunikacije preko LPT i COM portova pod unix-om i
dos-om.
Naime, trebale bi mi nekakve univerzalne rutine za rad preko LPT i COM
porta za dos i za Linux+SCO+BSD, pisane u obicnom C-u (nista C++, jos
sam mali za to :))
Ako ne moze i za jedno i za drugo, onda bar za unix, jer za dos neka
resenja vec imam.
Ko moze da pomogne, moze da mi posalje gotov source za Linux pre svega
na andrea@fon.fon.bg.ac.yu a moze i ovde da mi da neki savet.....
Hvala unapred.
BTW, ovo saljem i u yu.os.unix, da bi bio siguran da ce i unix-ovci da
procitaju. Ako je nekom zasmetalo, izvinjavam se.
... Neko jos nije rekao:"Vama ne sme niko da iskljucuje struju!"
___ Blue Wave/QWK v2.12
cccc.177hobit,
>
> Instalirao sam ga veceras i prvi utisci su dobri uz zamerku da nema H od
> helpa nijedan doc fajl (sem za dos4gw extender)K, ama bas nista od helpa.
> Prvo sam instalirao samo za DOS programe da bi se iznenadio da od 34
> disketa na koje staje za DOS je iskoristio nekih 6-7, posto je to bilo
Ako ide samo na 34 diskete onda je to "Limited version". Prava verzija koja
ide sa CD-a ima preko 50 disketa. Inace na CD verziji postoje kompletni helpovi
za sva okruzenja koja Watcom podrzava. Mozda su malo sturi ali postoje.
Inace ako se sve instalira zauzima preko 170MB na disku.
cccc.178vbacko,
Sve si ti to lepo zamislio ali to kod mene ne radi. Ipak,
jako sam ti zahvalan na pokusaju da nesto ucinis. Jedino sto mogu
na kraju da uradim je da nabavim Microsoft C 6.0 i da iskompajliram
program u originalu. Ipak za kraj: ako imas rezidentnu osnovu
prilagodjenu TURBO C-u 2.0 (KOJA JE 100% IPRAVNA) bio bih ti
zahvalan da mi je prebacis...
Hvala na savetima PYRAMID, DJELOVIC
P.S. Kako je sve krenulo !
U racunarima 73 ima listing za rezidentnu rutinu u MSC 6.0. Malo
sam je obradio i ona sada radi i u TURBO C-u ali se program koji
ima realnu velicinu 33kb pod QEMM-om instalira kao da ima 44, a pod
HIMEM-om od 60kb do 179kb. Sta lise ovde desi, mozda ne bi bilo
lose objasniti !!!
cccc.179mzgrdja,
Da li neko ima informacije o IBM C++ kompajleru (IBM C Set++). Verzija za OS/2
zauzima 8 disketa, sto je u poredjenju sa Watcom-om izuzetno malo.
BTW, koji kompajler mi preporucujete za Warp (bez DOS i Windows podrske)
Pozdrav.
cccc.180djelovic,
> BTW, koji kompajler mi preporucujete za Warp (bez DOS i Windows podrske)
Borland C++ for OS/2. Sličan je "običnom" Borland C++-u, ima kompatibilan
OWL tako da nećeš imati problema da se snađeš ili potražiš pomoć ako negde
zapne, i nudi fantastičnu stvar zvanu "Just in Time Debugging" - mogućnost da
startuješ program bez dibagera i da, ako program pukne, OS sam pozove u dibager
i namesti te na grešnu liniju.
cccc.181mdimitrijevic,
Nesto sam se zainteresovao za WATCOM C. Pitanje je koju verziju mi
preporucujete a da nije previse glomazna i naravno da podrzava protected mode i
ASM ( inline ) ???
Pozdrav,
Marjan
P.S. Moze neka verzija velicine Borland C++ 3.1 ( nju trenutno koristim ).
cccc.182mzgrdja,
Da li mi mozes reci koja je aktuelna verzija BC++ for OS/2. Gde se moze naci ?
Da li je biblioteka OWL 1.0 ili OWL 2.0.
cccc.183aleck,
>> Da li mi mozes reci koja je aktuelna verzija BC++ for OS/2. Gde se moze
Aktuelna verzija je 2.0,ako uspeš da je negde nađeš javi mi obavezno.
Normalno važi i obratno...
cccc.184ikordic,
RE: Watcom C 10.0
=> Koristiš DEMO verziju ;) Watcom C++ 10.0 dolazi na CD-u ili na 61
=> disketi, čiji zapis takođe imaš na CD-u.
E to, CD verzija me i zanima. Koristi li neko ovo čudo? Kako je urađen i
koliko je obiman njegov Help sistem?
cccc.185spantic,
> Moguce, mada nigde ne pise da je demo, jesi siguran ?
Amato se ja samo malo šalim :)) I ta verzija je imala help,
ali je sasvim moguće da je mnogo manji od onog sa verzije 61,
jer su sami helpovi veoma obimni.
cccc.186jkpbvk,
+| Amato se ja samo malo salim :)) I ta verzija je imala help,
+| ali je sasvim moguce da je mnogo manji od onog sa verzije 61,
+| jer su sami helpovi veoma obimni.
Pa i imao si pravo jer na prvoj disketi nije bilo file_id.diz-a tako
da ga nisam pogledao medjutim sasvim slucajno sam pogledao zadnju
i tu ga je bilo i evo sta kaze :
╔═[ 34/34 ]═══════════════════[NTA]═╗
║ WATCOM C V. 10 LIMITED EDITION ║
║for DOS, Windows, Windows NT & OS/2║
╚═══════════════════════════════════╝
=/\/\= RőSC COURőERőNG '94 =/\/\=
Naravno odleteo je sa diska brze nego u Speed-u :))
Sledeca je naravno verzija koja ide na 61 disketu ;)
Inace PMODE/W koji sam slao neki dan ovde fenomenalno radi i programi
su mnogo brzi nego sa DOS4GW, ne treba da se ucitava naknadno nego se
linkuje u fajl i ne izbacuje nikakvu poruku.
Svako ko radi u Watcom-u obavezno treba da zameni dos4gw sa PMODE
cccc.187pyramid,
>> program u originalu. Ipak za kraj: ako imas rezidentnu osnovu
>> prilagodjenu TURBO C-u 2.0 (KOJA JE 100% IPRAVNA) bio bih ti
>> zahvalan da mi je prebacis...
Ovo je za BC++, ali posto je deo za vezivanje napravljen u asm-u (TASM), ne bi
trebalo da bude problema...
tsr_c.arjcccc.188postmast,
From: lukija@galeb.etf.bg.ac.yu (Nebojsa Lukic)
Subject: TDW
Date: Sat, 1 Apr 1995 19:55:16 GMT
Imam problema sa Turbo Debuggerom iz BC 2.0.Kaze da ne moze da uchita
WINDEBUG.DLL.Ima li neko ideju?
--
*----------------------------------*
| Nebojsa Lukic |
| e-mail:lukija@galeb.etf.bg.ac.yu |
*----------------------------------*
cccc.189postmast,
From: andrea@fon (Andrea Prunic)
Subject: unix+portovi
Date: Thu, 30 Mar 1995 00:15:55 GMT
Haj svima.
Treba mi pomoc oko komunikacije preko LPT i COM portova pod unix-om i
dos-om.
Naime, trebale bi mi nekakve univerzalne rutine za rad preko LPT i COM
porta za dos i za Linux+SCO+BSD, pisane u obicnom C-u (nista C++, jos
sam mali za to :))
Ako ne moze i za jedno i za drugo, onda bar za unix, jer za dos neka
resenja vec imam.
Ko moze da pomogne, moze da mi posalje gotov source za Linux pre svega
na andrea@fon.fon.bg.ac.yu a moze i ovde da mi da neki savet.....
Hvala unapred.
BTW, ovo saljem i u yu.os.unix, da bi bio siguran da ce i unix-ovci da
procitaju. Ako je nekom zasmetalo, izvinjavam se.
... Neko jos nije rekao:"Vama ne sme niko da iskljucuje struju!"
___ Blue Wave/QWK v2.12
cccc.190vbacko,
Bas si frend, uz male dorade proradilo je !!!!
Hvala ti .
cccc.191dpredovic,
Subject: Re: Int 14
> Postoji li mogucnost da su interapti 14h 0..3 bagoviti, i postoji li
> nesto sto bih trebao znati o njima a nije opisano u Norton Guide-u ?
Ništa, osim da će ti u životu biti mnogo lakše bez njih. ;) Ništa bez
džaranja po portovima. Postoji jedna lepa mala shareware biblioteka: PCL.
Trebalo bi da postoji i negde na sezamu, a ako nema - viči.
BTW. Neki modemi imaju lep običaj da se zaglupe ako im pričaš, a DTR je
spušten. Da nije možda to?
cccc.192dpredovic,
Subject: Re: Watcom C 10.0
> E to, CD verzija me i zanima. Koristi li neko ovo čudo? Kako je urađen i
> koliko je obiman njegov Help sistem?
Ja sam instalirao onu verziju od 34 diskete. Kod mene nije radio Win IDE, ali
pod dosom sve sasvim lepo fercera. Sasvim lep help sistem postoji i u toj
verziji - oko 3.5MB. Ne sećam se da sam nešto tražio, a da nisam pronašao.
cccc.193dpredovic,
> Da li neko ima informacije o IBM C++ kompajleru (IBM C Set++). Verzija za
> OS/2 zauzima 8 disketa, sto je u poredjenju sa Watcom-om izuzetno malo.
> BTW, koji kompajler mi preporucujete za Warp (bez DOS i Windows podrske)
Ako gledaš Watcom 10, jeste, mnogo ga je... Ali 9.5 dolazi, koliko se sećam
na 9 disketa, a ako te interesuje samo OS/2 verovatno će da te traži samo
4-5 disketa.
cccc.195hobit,
Da li razmisljate o programiranju na OS/2 Warp?
Vec neko vreme tragam za dobrim alatom za tu svrhu. Posle vise
pokusaja moje iskustvo je sledece.
Verovatno svima prvo na um dolazi Watcom C/C++ 10.0 Kao programersko
okruzenje vec se dokazao za DOS i Win aplikacije. Watcom je kupio od IBM-a
kompletan set biblioteka potrebnih za razvoj kako obicnih tako i programa
koji rade pod PM-om i WPS-om. Mala nevolja je u kolicini literature koja ide
uz Watcom-ov CD. Sve je pisano za iskusne programere i u velikom delu stoji
da se pretpostavlja da programer vec zna osnove programiranja za PM i OS/2.
Takodje dibager voli da pravi probleme. Verovatno neki od upgrade-ova resava
ovaj
problem ali treba ih nabaviti ;)
Drugi na listi je original IBM-ov C/Set++ 2.0. Iako je pisan za OS/2 2.1
verziju odlicno se uklapa u Warp. Uz njega dolazi Browser, dibager, kao i
potreban kompajler. Zanimljivo je da uz disketnu verziju ne dolazi nmake kao
ni neke osnovne biblioteke. Oni su sastavni deo toolkita 2.1 koji ide posebno.
Posebno se instalira i WorkFrame (nesto kao IDE okolina). Toolkit ide uz Watcom
a workframe se moze naci u watcom-u 9.5 Nmake mozete naci na FFS-u. Kad se
prevazidju ove teskoce, radicete uz program koji donosi ogromnu kolicinu
C++ klasa za PM i OS/2, a i drugi alati su sasvim O.K. Posebno mi se svidja
dibager
koji je nema puno sminke ali sa programerske tacke gledista ima sve drugo.
Ako niste lenji a naucili ste da radite uz MS Visual alatke skinite sa FFS
Guidelines. Program je PD i omogucava vizuelnu proizvodnju programa.
U saradnji sa nekim od gore pomenutih kompajlera (za wat. 9.5 verziju)
generise C++ kod i sve potrebne resurse.
Kad se napravi korisnicki interfejs, samo klikom na ikonu se dobija
komentarisani C++ kod koji mozete dalje da nadogradjujete svojim kodom.
Ako kupite extra biblioteke dobicete i mogucnost povezivanja sa raznim tipovima
mreza, bazama podataka...
Program je u najmanju ruku fantastican ako se zna da je besplatan.
Pretpostavljam da je prava stvar IBM-ov VisualAge, ali njega nisam jos video.
Ps. Ne zaboravite i jednu sitnicu. Pisanje programa za OS/2 je drukcije u
odnosu
na klasicne DOS/Win aplikacije. Ako se zeli iskoristiti opertivni sistem do
kraja
treba znati mnogo sto sta u nitima, semaforima, pre-emptive multitaskingu i
slicnim
zezalicama. Literature je malo (bar kod nas), ali vremenom...
cccc.196ppekovic,
>> Drugi na listi je original IBM-ov C/Set++ 2.0. Iako je pisan
>> za OS/2 2.1 verziju odlicno se uklapa u Warp. Uz njega dolazi
>> Browser, dibager, kao i
Pored Watcom-a i C/Set++ tu je GNU C++ port za OS/2 koji se može
naći na FFS-u.
Paya
cccc.197hobit,
Pored Watcom-a i C/Set++ tu je GNU C++ port za OS/2 koji se može
naći na FFS-u.
Mozes li mi reci kakav je u odnosu na prva dva. Nemam bas nesto vremena
da ga skidam sa FFS-a ;)
cccc.198duzle,
RE: Programiranje pod OS/2 Warp
Neko je ovde spomenuo neki patch za Borland Pascal 7.0 kojim se pod BP7
proizvode OS/2 aplikacije. Interesuje me da li je to upotrebljivo
(pretpostavljam da nije, ali....) ?
Ognen
cccc.199postmast,
From: andrea@fon (Andrea Prunic)
Subject: unix+portovi
Date: Thu, 6 Apr 1995 22:26:33 GMT
Haj svima.
Ja vec pisah jednu molbu za pripomoc, al' niko nije odgovorio.
Daklem, da ponovim : treba mi neki source u C-u koji bi mogao da se
koristi za pristupanje (komunikaciju i sl.) preko COM portova na PC-u
pod Linuxom i SCO-om.
Posto me interesuje da to naucim kako radi, ne bih da dobijem neki .obj
spakovan u reply ili sl. vec normalan source u C-u (nista C++, jos ga ne
znam).
Naravno, komentari, objasnjenja i ostali help su pozeljni.
I jope' hvala.
... This is a computer eating tagline. Don't...CRUNCH CRUNCH....BURP!!
___ Blue Wave/QWK v2.12
cccc.200ppekovic,
>> Ja vec pisah jednu molbu za pripomoc, al' niko nije odgovorio.
>> Daklem, da ponovim : treba mi neki source u C-u koji bi mogao
>> da se koristi za pristupanje (komunikaciju i sl.) preko COM
>> portova na PC-u pod Linuxom i SCO-om.
Skini neki od komunikacionih programa ecu, xcomm, pcomm i pogledaj
po source-u. Ukratko, COM port otvaraš kao najobičniji fajl preko
odgovarajućeg device-a sa open( "/dev/tty??" ); zatvaraš sa close()
čitaš i pišeš sa read i write itd. Parametre komunikacije postavljaš
uz pomoć ioctl funkcije.
Paya
cccc.203postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: Infrequently Asked Questions about C
Date: Fri, 14 Apr 1995 17:29:10 GMT
From: seebs@taniemarie.solon.com (Peter Seebach)
Newsgroups: comp.lang.c,comp.std.c,comp.lang.c.moderated
Subject: Annual IAQ Posting
Approved: seebs@taniemarie.solon.com
Keywords: IAQ, Infrequently, Asked, Questions.
Certain topics never (well, hardly ever) come up on this newsgroup.
They are stupid questions, to which the answers are immediately obvious,
but they would be more fun to talk about than these arcane details of
loop control.
This article, which is posted yearly, attempts to answer these questions
definitively, succinctly, and in such a way as to discourage further
discussion. The answers have been carefully checked for periodic accuracy,
and for blatant inaccuracy where relevant.
1. Null Statements
2. Arrays and Pointers
3. Memory Allocation
4. Expressions
5. ANSI C
6. C Preprocessor
7. Variable-Length Argument Lists
8. Boolean Expressions and Variables
9. Structs, Enums, and Unions
10. Declarations
11. Stdio
12. Library Subroutines
13. Lint
14. Style
15. Floating Point
16. System Dependencies
17. Miscellaneous (Fortran to C converters, YACC grammars, etc.)
Herewith, some infrequently-asked questions and their answers:
Section 1. Null Statements
1.1: What is this infamous null statement, anyway?
A: A null statement is an expression statement consisting solely
of the terminating semicolon. The optional expression is dropped.
It can be distinguished from any other statement by byte count
or study of side-effects.
1.2: How do I "get" a null statement in my programs?
A: In ANSI C, there are six types of statements; labeled statements,
compound statements, expression-statements, selection statements,
iteration statements, and jump statements. All of them, except
the jump and expression statments, are defined in terms of optional
preceeding text, and other statements. The jump statements are
never null statements. An expression statement is considered to
be "a null statement" if the optional expression part of it has
been left out. A null statement can appear on its own, or (most
frequently) as the statement body of an iteration statement. These
two null statements are equivalent, though neither of them is
equivalent to any non-null statement. [*]
You may accidentally get a null statement by deleting the body of
a non-null statement.
[*] Actually, they are functionally equivalent to a large set of
non-null statements, namely, those with no side-effects. However,
the FDA has yet to approve any such, as their lack of side effects
is conjectured, and not clinically proven. This applies only to
the ANSI standard, and not the ISO standard, as the FDA has no
jurisdiction outside the U.S.
1.3: Is there more than one null statement?
A: Sort of. You can use
;
or
0;
or
1;
- they will all act like a null statement. Only the first is
a "true" null statement (all bits zero). They are basically
equivalent. Note that (void *) 0; is a null statement of type
pointer to void, for instance.
1.4 But I thought { } was a null statement!
A: No. { statement-list[opt] } is a compound statement. An empty
block is not the same as a null statement, however, although it
can be used in many of the same places. It's really a null
block.
1.5 I use the statement
#define NULLSTMT(F) (F) ;
to allow me to cast a null statement to an appropriate type.
A: This trick, though popular in some circles, does not buy much.
The resulting code is illegal, and will not compile. This (in
the author's opinion) outweighs any arguable type consistency.
It may be more common in industrial code. If it becomes common
practice, C++ will probably legalize it.
1.6 I use the statement
#define NULLSTMT(F) (F) 0;
to allow me to cast a null statement to an appropriate type.
A: This trick will likely work, but think: what does it really buy
you? Mostly, it will indicate to even the most casual observer
that you are shakey on the concept of null statements, making it
harder for them to check your code.
1.7: But wouldn't it be better to use ';' (rather than '0;') in case
the value of 0 changes, perhaps on a machine with nonzero
no-op instructions?
A: No. The '0' of '0;' is not evaluated as an instruction, rather, it is
just ignored. The advantages of ';' over '0;' have only to do with
poor optimizers and savings of keystrokes.
1.8: Is a null statement a null pointer?
A: No. A null pointer is a pointer where all of the address bits
are zero (no matter what the segment bits are), and can be
obtained by typing '(char *) (int) 0'. A null statement is
not a pointer to anything. They are not interchangeable, although
you can combine them to get an effectively-null statement, such
as
NULL;
This does not buy you anything.
1.9: I'm still confused. I just can't understand all this null
statement stuff.
A: Follow these two simple rules:
1. When you don't want to do anything in source code, don't
write it.
2. If you need a null statement to round out an expression,
use an unadorned ';' to provide it.
3. Send large donations, checks, and money orders to the
author of the FAQ, or the moderator of the group, whichever
you prefer. Then, cross the top question off the FAQ,
answer the question at the bottom, and mail it to three
people. Within two weeks, you will receive 729 answers
to various questions! Do not break the chain; Emily
Postnews broke the chain, and now no one listens to her.
Section 2. Arrays and Pointers
2.1: I had the definition char a[6] in one source file, and in
another I declared extern char a[]. Why did it work?
A: The declaration extern char a[] simply matches the actual definition.
The type "array-of-type-T" is the same as "array-of-type-T."
Go ahead and use extern char a[]. (For greater portability, use
it in both files, not only in one of them.)
2.2: But I heard that char a[] was different from char a[6].
A: This is true. However, the declaration a[] is compatible with the
definition a[6].
2.3: So what is meant by the "equivalence of pointers and arrays" in
C?
A: Very little.
2.4: Then why are array and pointer declarations interchangeable as
function formal parameters?
A: Classism. We consider arrays "second class objects". They don't
vote, and they get treated as pointers. Additionally, they're
merely objects, not citizens. Marx wrote about this a lot.
2.6: Why doesn't sizeof properly report the size of an array which is
a parameter to a function?
A: Part of the ANSI conspiracy to restrict people to passing pointers;
this was undertaken after the first discovery that passing large
arrays recursively could cause crashes. Since then, with the passing
of MS-DOS, it has become a non-issue; since all serious machines
have virtual memory, you can pass as much data as you want on the
stack without detectable problems.
2.7: Someone explained to me that arrays were really just constant
pointers.
A: Cool. Someone I know says he saw Elvis in a local bar.
2.8: Practically speaking, what is the difference between arrays and
pointers?
A: About the difference between alcohol and marijuana; they have
different characteristics, and that's not a problem if you don't
mix them too carelessly.
2.9: I came across some "joke" code containing the "expression"
5["abcdef"] . How can this be legal C?
A: It was added to allow people to avoid the character constant
'f' which may not be available on some systems. (Actually, it's
a side-effect of the equivalence of arrays and pointers.)
Section 3. Memory Allocation
3.1: Why doesn't this fragment work?
char *answer
printf("Type something:\n");
gets(answer);
printf("You typed \"%s\"\n", answer);
A: The semicolon after 'answer' is missing.
3.2: I have a function that is supposed to return a string,
but when it returns to its caller, the returned string is
garbage.
A: You probably returned a pointer to a local array. That
doesn't work. Try using a temporary file, instead.
3.3: Why does some code carefully cast the values returned by malloc
to the pointer type being allocated?
A: In interrupt-riddled code, it may be necessary to cast values to
force the CPU to resolve pointer types.
3.4: You can't use dynamically-allocated memory after you free it,
can you?
A: Yes. However, what happens when you do is not clearly defined.
3.5: How does free() know how many bytes to free?
A: Interrupt 41h. On macs, amigas, and other "big-endian" processors,
that would be interrupt 14h; be wary of portability problems.
3.6: So can I query the malloc package to find out how big an
allocated block is?
A: Yup. Don't expect an answer though.
3.7: I'm allocating structures which contain pointers to other
dynamically-allocated objects. When I free a structure, do I
have to free each subsidiary pointer first?
A: No. You just have to keep track of them somewhere else also.
3.8: Was Proust's masterwork, _A Remembrance of Things Past_, the
basis for the C library's allocation scheme, based largely on
contextual analysis?
A: The standard does not specify an allocation scheme; the famous
author the allocation scheme is based on is implementation
specified. Proust is a common choice, however.
3.9: I have a program which mallocs but then frees a lot of memory,
but memory usage (as reported by ps) doesn't seem to go back
down.
A: You're probably not freeing the memory completely. Try replacing
free(foo);
with
free(foo);
free(foo);
free(foo);
in case the first free() frees the memory only partially.
(Unix wizards may recognize the parallel with syncing
three times before rebooting.)
Alternatively,
free(foo + 4); may free the remaining four bytes. (Before using
this, make sure realloc(foo, 0) returned 4).
Section 4. Expressions
4.1: Why doesn't this code:
a[i] = i++;
work?
A: You didn't declare either i or a.
4.2: Under my compiler, the code
int i = 7;
printf("%d\n", i++ * i++);
prints 49. Regardless of the order of evaluation, shouldn't it
print 56?
A: No. The only logical answer would be 81 - two postfix ++'s are
automatically converted to prefix.
4.3: I've experimented with the code
int i = 2;
i = i++;
on several compilers. Some gave i the value 2, some gave 3, but
one gave 4. I know the behavior is undefined, but how could it
give 4?
A: Because i is 2, the loop is executed twice.
4.4: People keep saying the behavior is undefined, but I just tried
it on an ANSI-conforming compiler, and got the results I
expected.
A: They were probably wrong. Flame them mercilessly. Be sure before
you do that your compiler is really* ANSI conforming, though. If
it turns out you were wrong, they get a legal claim on your firstborn.
4.5: Can I use explicit parentheses to force the order of evaluation
I want? Even if I don't, doesn't precedence dictate it?
A: No. To force order of evaluation, you must threaten it. Take the
comma operator hostage. Using it, you can force the other operators
to do what you want.
4.6: But what about the &&, ||, and comma operators?
I see code like "if((c = getchar()) == EOF || c == '\n')" ...
A: As noted, once you've captured the comma operator, the others
become docile.
4.7: If I'm not using the value of the expression, should I use i++
or ++i to increment a variable?
A: ++i. Only losers and idiots use i++. This is different if your
native language would idiomatically use "i increment", but in
English and related languages, you must use "++i". Note that
a modern program must use both, dependent on the current locale.
4.8: Why is i = ++i undefined?
A: Because it is unclear whether it is shorthand for
i = 42;
or
i = (char *) "forty two";
Given the ambiguity, the standards committee decided to leave it
undefined.
Section 5. ANSI C
5.1: What is the "ANSI C Standard?"
A: A whiny bunch of lusers who haven't written as many books as
Herbert Schildt.
5.2: How can I get a copy of the Standard?
A: ftp ftp.borland.com.
5.3: Does anyone have a tool for converting old-style C programs to
ANSI C, or vice versa, or for automatically generating
prototypes?
A: A router helps, but your best bet is still the band saw. Quick,
efficient, and powerful.
5.4: I'm trying to use the ANSI "stringizing" preprocessing operator
# to insert the value of a symbolic constant into a message, but
it keeps stringizing the macro's name rather than its value.
A: This is because "3" is not a legal integral constant in C - it's
a string constant.
5.5: I don't understand why I can't use const values in initializers
and array dimensions, as in
const int n = 5;
int a[n];
A: Because you're not using C++.
5.6: What's the difference between "char const *p" and
"char * const p"?
A: One " " character. There are some trivial differences having
to do with the distinction between a pointer to a constant, and
a constant pointer, but since you can cast either to a
(char *) it hardly matters.
5.7: Can I declare main as void, to shut off these annoying "main
returns no value" messages? (I'm calling exit(), so main
doesn't return.)
A: Certainly. You can also declare it as double. It may not
compile, or it may crash, but who cares?
5.8: Why does the ANSI Standard not guarantee more than six monocase
characters of external identifier significance?
A: Because none of the members of the committee had names over
six letters, or in which letters other than the first were
capitalized.
5.9: What is the difference between memcpy and memmove?
A: memmove moves memory, and memcpy copies it. memmove may not be
supported on machines without internal robot arms. Do not use
memmove while the machine is powered up - you can destroy your
memory.
5.10: Why won't the Frobozz Magic C Compiler, which claims to be ANSI
compliant, accept this code? I know that the code is ANSI,
because gcc accepts it.
A: The Frobozz Magic Company lies through its teeth. Consider:
does Flood Control Dam #3 actually control floods? Didn't
think so. The wands are excellent for making useless via
casts of Float, though.
5.11: Why can't I perform arithmetic on a void * pointer?
A: You're too big and clumsy. When you try to push the numbers
together, you lose your balance. Perhaps you should get some
angels from the rave over on pin 3.
5.12: What are #pragmas and what are they good for?
A: They are useful ways to eliminate compiler features which are not
helpful to your goals; contrast #utility, which introduces useful
compiler features, and #absolutist, which introduces those compiler
features believed to be right.
5.13: What does "#pragma once" mean? I found it in some header files.
A: It means that your program will only run once; it's used to create
"crippled demos".
5.14: People seem to make a point of distinguishing between
implementation-defined, unspecified, and undefined behavior.
What's the difference?
A: There isn't really one; people just enjoy flaming over nits.
(To be technical, one has a hyphen, one has a space, and one
is a single word.)
5.15: Is C an acronym?
A: Yes, it stands for "C". It's another of those funky recursive
acronyms.
Section 6. C Preprocessor
6.1: How can I use a preprocessor #if expression to tell if a machine
is big-endian or little-endian?
A: #ifdef __BIG_ENDIAN should work on all known machines; Borland
defines it.
6.2: I've got this tricky processing I want to do at compile time and
I can't figure out a way to get cpp to do it.
A: Poor baby.
6.3: How can I list all of the pre#defined identifiers?
A: #define __ALL_CPP_IDS - put this in a source file, and run it
through your C preprocessor.
6.4: How can I write a cpp macro which takes a variable number of
arguments?
A: #utility varargs define ...
6.5: Shouldn't the following code:
#define ROSE 1
#define CHRYSANTHEMUM 2
#define RHODODENDRON 3
#define WATER_LILY 4
printf("%d\n", CHRYSATHNEMUM);
print "2"?
A: You misspelled CHRYSANTHEMUM. Use abbreviations for long flower
names in C code.
Section 7. Variable-Length Argument Lists
7.1: How can I write a function that takes a variable number of
arguments?
A: #utility varargs int foo()
7.2: How can I write a function that takes a format string and a
variable number of arguments, like printf, and passes them to
printf to do most of the work?
A: Redefine printf; the call to "printf" inside yours will be
resolved to the library version, because the C language doesn't
allow recursion.
7.3: How can I discover how many arguments a function was actually
called with?
A: _args is an external integer constant. It evaluates to three
times the number of arguments the current function was called
with. You can then look at
_argdata[args] to get the address of the last arg,
_argdata[args - 1] to get the size of the last arg, and
_argdata[args - 2] to get the type of the last arg (as an int).
N.B. You *MUST* not refer to _args or _argdata between
the ()'s of a function call; their value will be
indeterminate. Use temporary storage.
7.4: Why doesn't
printf("hello, ", "world!", '\n');
work? I thought printf() took a variable number of arguments.
A: It will probably work some of the time; the number of arguments
used by printf() may vary.
Section 8. Boolean Expressions and Variables
8.1: What is the right type to use for boolean values in C? Why
isn't it a standard type? Should #defines or enums be used for
the true and false values?
A: int (*)(int, char **) makes a good boolean type. You can use
"main" for true, and "exit" for false. On some compilers, you
may need to cast exit() to an appropriate type.
8.2: Isn't #defining TRUE to be 1 dangerous, since any nonzero value
is considered "true" in C? What if a built-in boolean or
relational operator "returns" something other than 1?
A: Yes. In fact, my aunt was killed by a true value other than one.
However, even more dangerous is defining true to be 0x256.
(All kidding aside, folks, the stupidist programming error I ever
saw had to do with
#define IS_TRUE(x) ((x) & 0x256) - it was intended to help the
programmer work with Fortran, which had a non-1 true value.)
Section 9. Structs, Enums, and Unions
9.1: What is the difference between an enum and a series of
preprocessor #defines?
A: The enum doesn't require the preprocessor.
9.2: I heard that structures could be assigned to variables and
passed to and from functions, but K&R I says not.
A: K&R I was wrong; they hadn't actually learned C very well before
writing the book. Later, Ritchie got a job at Bell Labs, and worked
closely with the authors of C, allowing the 2nd edition of the book
to be much more accurate.
9.3: How does struct passing and returning work?
A: The structures are put into the low part of the VGA card's VRAM.
They are then removed before the next video update. This is why
struct passing was not supported for a long time; VGA cards were
prohibitively expensive.
9.4: Why can't you compare structs?
A: Compare them to what? A summer's day?
9.5: How can I read/write structs from/to data files?
A: Loop with putchar. Be careful; if your machine uses signed chars
by default, all of the sign bits in your structure elements will
be reversed.
9.6: How can I determine the byte offset of a field within a
structure?
A: It's generally 4 times the number of members of the structure.
It may be more or less on some machines.
9.7: How can I access structure fields by name at run time?
A: foo."name" should work. You may need to overload the . operator,
which, in turn, may overload your C compiler.
9.8: Why does sizeof report a larger size than I expect for a
structure type, as if there was padding at the end?
A: Because there's padding at the end. *DUH*.
9.9: My compiler is leaving holes in structures, which is wasting
space and preventing "binary" I/O to external data files. Can I
turn off the padding, or otherwise control the alignment of
structs?
A: The holes were left by bullets; your computer has probably been
in a serious firefight.
9.10: Can I initialize unions?
A: Depends. They may go on strike when provoked. Luckily, if your
program involves air traffic control, the ISO standard guarantees
that Ronald Reagan will fire any unions that go on strike, and
replace them with structs, which should be close enough.
9.13: How can I pass constant values to routines which accept struct
arguments?
A: Try foo((struct foo) 3).
Section 10. Declarations
10.1: How do you decide which integer type to use?
A: Flip a coin. Heads are short, tails are long, and the edge is int.
10.2: What should the 64-bit type on new, 64-bit machines be?
A: extern volatile short auto char.
10.3: If I write the code
int i, j;
can I assume that (&i + 1) == &j?
A: Only sometimes. It's not portable, because in EBCDIC, i and j are
not adjacent.
10.4: What's the best way to declare and define global variables?
A: In headers; this way, you can get link errors when you include the
same header twice.
10.5: What does extern mean in a function declaration?
A: It refers to a variable which is not actually in your program.
10.6: I finally figured out the syntax for declaring pointers to
functions, but now how do I initialize one?
A: With the assignment operator. You were perhaps expecting
a screwdriver?
10.7: I've seen different methods used for calling through pointers to
functions. What's the story?
A: There is no story. Nothing to see. Move along.
10.8: What's the auto keyword good for?
A: Declaring vehicles.
Section 11. Stdio
11.1: What's wrong with this code:
char c;
while((c = getchar()) != EOF)...
A: It's stupid. It contains an obvious bug.
11.2: How can I print a '%' character in a printf format string? I
tried "\%" but it didn't work.
A: Break the '%' sign out. i.e.,
fprintf("foo " "%" "%d\n", foo);
11.3: Why doesn't the code scanf("%d", i); work?
A: You probably didn't include <stdio.h>
11.4: Once I've used freopen, how can I get the original stdout (or
stdin) back?
A: Call main() - the environment will be restored.
11.5: Why won't the code
while(!feof(infp)) {
fgets(buf, MAXLINE, infp);
fputs(buf, outfp);
}
work?
A: Because the end of file character is not detected on files named
"infp". (Introverted-iNtuitive-Feeling-Perceptive, that is.) Also,
it may be that the file was opened in text mode, where an end of
file is read as a capital 'Z' on most machines, and feof() only
looks for 'control Z'.
11.6: Why does everyone say not to use gets()?
A: Because they're trying to spoil your fun. gets() can make an
otherwise droll and predictable program a lot more exciting.
11.7: Why does errno contain ENOTTY after a call to printf?
A: Because stdout is not a mammal.
11.8: My program's prompts and intermediate output don't always show
up on the screen, especially when I pipe the output through
another program.
A: Have you turned your monitor on?
11.9: How can I read one character at a time, without waiting for the
RETURN key?
A: Ask the user to press enter after hitting a single character.
11.10: People keep telling me that getch() is not standard, but my C
compiler has it. Are they wrong?
A: They've been programming more than ten years. You haven't. Draw
your own conclusions. That's right! They hadn't noticed it.
No doubt their compilers have it too, and its behavior is identical
everywhere else in the world, also. That would explain everything.
11.11: What does it matter that getch() isn't standard; it works, doesn't
it?
A: Well, that would depend on the definition you're using for "works".
11.12: I tried to port some code from a PC to a unix machine, and now it
crashes immediately on startup. It isn't using getch() - it's
reading directly from the keyboard. How can this be wrong?
A: This is why we keep telling you non-standard things don't work;
because they don't.
11.13: How can I redirect stdin or stdout to a file from within a
program?
A: ececlv("main()" "> file", argv);
11.14: How can I recover the file name given an open file descriptor?
A: fname(fd).
11.15: How do I open Flood Control Dam #3?
A: PUSH THE YELLOW BUTTON.
TURN THE BOLT WITH THE WRENCH.
[You must have the wrench, first.]
Section 12. Library Subroutines
12.1: How can I convert numbers to strings (the opposite of atoi)? Is
there an itoa function?
A: There's frequently an itoa function. Better yet, write your own;
it'll be good practice. On some implementations, (char *) x;
will convert x to a string.
12.2: How can I get the current date or time of day in a C program?
A: fprintf(stderr, "please enter the current time and date...");
fflush(stderr);
gets(stdin);
12.3: I need a random number generator.
A: Count errors in Herbert Schildt's C books. No one has detected
any consistent pattern.
12.4: How can I get random integers in a certain range?
A: random(n) returns random numbers between n and INT_MAX.
12.5: Each time I run my program, I get the same sequence of numbers
back from rand().
A: This is so your results will be reproducible.
12.6: I need a random true/false value, so I'm taking rand() % 2, but
it's just alternating 0, 1, 0, 1, 0...
A: That seems pretty random to me.
12.7: I need some code to do regular expression matching.
A: So do I. Let me know if you find some.
12.8: I read through the standard library, but there's no function
to multiply two floating point numbers! Help!
A: Many C compilers offer an extension "mult" to do just this.
If your compiler doesn't, just hang tight; ANSI is likely to
add it in the next revision.
For now, you can try
float mult(float m, n)
{
float i = 0, j = 0;
for (i = 0; i < n; ++i)
j += m;
return j;
}
which is fine as long as n is an integer.
12.9: How do I get past the snake?
A: Release the bird. You will have to drop the rod to get the
bird in the cage.
Section 13. Lint
13.1: I just typed in this program, and it's acting strangely. Can
you see anything wrong with it?
A: Yes. There's too much lint in it. You should get a shop vac.
13.2: How can I shut off the "warning: possible pointer alignment
problem" message lint gives me for each call to malloc?
A: Don't run lint.
13.3: Where can I get an ANSI-compatible lint?
A: There is an LCLint package, but it depends on a garbage collecting
cccc.205niklaus,
Subject: Re: Search problem
(:> +đ Koliko vidim, problem je sto se indeks i premota skroz do'm, cim
(:> +đ se prepozna prvi niz koji odgovara semi 'b8 ?? ?? 50 e8'. Time se ne
(:> +đ obezbeduje povratak na indeks i+1 radi sledece provere. Slican
(:> +đ nastupa i u 'fseek' varijanti (ne pomaze ti 'yes' fleg kada
(:> +d je na kraju procedure).
(:> +đ Resenje problema bi bilo u uvodenju pomocne promenljive, koja bi
(:> +đ se koristila za pomeranje kroz bafer 'b1' (umesto onih i=i+? bilo bi
(:> +đ pom=pom+?). Naravno, na pocetku prve petlje islo bi pom=i.
(:>
(:> Probao sam to i ranije ali ne pomaze , jesi li ti probao to ili si
(:> ovako na prvi pogled video da je u tome stvar ?
(:> Ako jesi i radi , napisi taj mali delic programa.
Izvinjavam ti se što ti sam napravio ofset od mesec dana...
Ispiti...
Elem, ako te ne mrzi ponovo mi pošalji (ključni deo) listing(a), jer
sam pre ispitnog roka 'pretabao' bazu, da ne bi imao šta da čitam, sem
knjiga. (;
Ovako, sa distance i na osnovu sećanja, mogu ti samo reći sledeće:
Problem bio u tome što se po prepoznavanju početka segmenta koji
odgovara opisu traženog stringa, i nakon obrade tog segmenta (u kojoj
ustanovljavaš da si nešto našao ili ne), ne vraćaš na i+1 mesto radi
provere da li i sledeći bajt predstavlja početak segmenta.
Pišem po sećanju...
(: Sean :)
cccc.206jkpbvk,
+| Elem, ako te ne mrzi ponovo mi posalji (kljucni deo) listing(a), jer
+| sam pre ispitnog roka 'pretabao' bazu, da ne bi imao sta da citam, sem
+| knjiga. (;
Procitaj poruku broj 8.75
Inace poslao je neko resenje u C++
cccc.208niklaus,
(:> +đ Elem, ako te ne mrzi ponovo mi posalji (kljucni deo) listing(a), jer
(:> +đ sam pre ispitnog roka 'pretabao' bazu, da ne bi imao sta da citam, sem
(:> +đ knjiga. (;
(:>
(:> Procitaj poruku broj 8.75
(:> Inace poslao je neko resenje u C++
Video sam. (:
Sada možeš da biraš - C ili C++.
Suština je što si morao da posle svake (ne)uspešne potrage za 'pattern'-om
da se vratiš na karakter posle prethodnog početka, što tvoj početni program
nije baš uvek radio...
Nadam se da su tvoje muke nestale... (:
(: SeanŐ :)
cccc.209bulaja,
**** new file ****
MSDOS - R:\C
----------------------
qnc41 zip 167537 Quincy C Interpreter v4.1: C interpreter (Al Stevens)
qnc41src zip 108561 Quincy C Interpreter v4.1: source za qnc41.zip
2 file(s) 270 kb
cccc.210jkpbvk,
Jel' ima neko source za obican scroll texta s leva na desno, u C-u naravno.
cccc.211madamovic,
Pa evo, imam ja..... Prilazem sors....
1) Trebalo bi da se moze koristiti dosta dugacki tekstovi....
2) Trebalo bi da bude veoma brz....
Razvijao sam ga davno, pa se vise ne secam da li radi na svakoj grafickoj
kartici, ali mislim da radi......
Originalno je razvijana na Hercules-u....
Alat : BORLAND
------------------------------------------------------<< Cut here
#include<string.h>
#include<stdio.h>
#include<text.h>
int brzina;
void scroll(char *string)
š
int gd=DETECT,gm,strmlen,x,maxx,errorcode,r;
initgraph(&gd,&gm,"");
setactivepage(0);
setvisualpage(1);
generisi(0,3,1);
setactivepage(0);
setvisualpage(0);
strmlen=0;
for(r=0;stringŠrĆ;++r) strmlen+=textxŠ0Ć ŠstringŠrĆ-32Ć;
strmlen+=3;
strmlen=-strmlen;
maxx=getmaxx();
setfillstyle(1,BLACK);
settextstyle(3,0,1);
while(!(kbhit()))
for(x=maxx;(!kbhit()) && (x>strmlen);x-=brzina)
š textxy(x,1,string);bar(0,0,5,30);ć
closegraph();
ć
void ucitaj(unsigned char *s)
š
int c;
while( (c=getc(stdin))!='Đn' ) š *s++=c; printf("%c",c); *(s+1)=0;ć
ć
int main(void)
š
unsigned char *string,*idestring,*brz;
string=malloc( 255);
idestring=malloc( 255);
brz=malloc( 100);
lab:;
printf("ĐnĐn Scroll text emulation v 1.11. Đn");
printf(" Napravio Đ Adamovic Mladen Đ ĐnĐn");
printf(" Upiši text za skrolovanje: ");
ucitaj(string);
if(*string) strcpy(idestring,string);
printf("ĐnĐn Upiši brzinu skrola(int 1-10):");
ucitaj(brz);
brzina=atoi(brz);
scroll(idestring);
goto lab;
free(string); free(idestring); free(brz);
return 0;
ć
---------------------------------------------------------------------------
cccc.212jkpbvk,
+| Pa evo, imam ja..... Prilazem sors....
Ima par problema.... :)
Ako bi mogao da stavis SET CODE NONE sledeci put jer umesto { stoji s ,
umesto } stoji c, za veliko S i C nisam siguran ali bi trebalo da je [, i ]
a umesto \ stoji D
Da nisi mozda umesto graphics.h slucajno stavio text.h ? ;)
Medjutim kad sve to ispravim javlja nepoznatu komandu textx i textxy,
kao i funkciju generisi.
Umesto textxy bi trebalo outtextxy ali ne i za textx
U cemu je problem ?
cccc.213madamovic,
Evo da vam pretstavim jedan program : FUNTXT 1.0.
Saljem ga u temu CCCC jer je razvijen u BORLAND C++ 3.1 & AF
Sta je namena programa, pitate?
Pa ..... najlakse se vidi na primeru :
--------------------- FUNTXT.DOC ---------------------------------------
------------------------------------------------------------------------
FUNTXT 1.0 SHAREWARE Copyright (C) 1995. Adamovic Mladen
------------------------------------------------------------------------
Just do:
FUNTXT FUNTXT.DOC OUTPUT.DOC
TYPE OUTPUT.DOC
This program is shareware, if you are using it please send me
5$ or 10DM to :
Adamovic Mladen
Zore Kovacevic 59
78000 Banja Luka
Republika srpska
---------------------- OUTPUT.DOC -------------------------------------
------------------------------------------------------------------------
čUąĐXĐ 1.0 $HĆRńWĆRń Ťôpyšîght (Ť) 1995. ĆdćmôvîŤ Mlćdţn
------------------------------------------------------------------------
§ľst dô:
čUąĐXĐ čUąĐXĐ.DOŤ OUĐPUĐ.DOŤ
ĐYPń OUĐPUĐ.DOŤ
Đhîs pšôgšćm îs shćšţwćšţ, îč yôľ ćšţ ľsîng ît plţćsţ sţnd mţ
5$ ôš 10DM tô :
ĆdćmôvîŤ Mlćdţn
Zôšţ KôvćŤţvîŤ 59
78000 ßćn§ć Lľkć
Rţpľßlîkć sšpskć
--------------------------------------------------------------------------
Uz ovu poruku kacim FUNTXT 1.0 SW (oko 10 KB)....
funtxt10.arjcccc.214bkaradzic,
> Evo da vam pretstavim jedan program : FUNTXT 1.0.
> Saljem ga u temu CCCC jer je razvijen u BORLAND C++ 3.1 & AF
Ovo je "razvijeno" u TP:)))))
"Razvijao" sam ga 900 sec:)
This program is not shareware (it's freeware;),... blablabla:)
-------------------------------------------------------------------------------
Const CrazyTab : Array[0..25] of String[5] = (
'aĺÓaA','bßBßB','CŤcŤc','ŰDŰDd','ńţEe','FčŇťf','GÇçGg',
'ÎhHhH','I│şŹi','j§űJj','KkKkk','L└lLl','MmMmm','N´ŕŘn',
'OÝ0Úo','PpPpp','qQqQq','RÔ×┌r','S$s$s','tšT┬t','UuUUu',
'vVvVv','WwWww','X%X%x','YŁyŠy','ZzZzz');
Var InFile : File;
OutFile : File;
NumRead : Word;
NumWrite : Word;
Buffer : Array[0..4000] of byte;
w : Word;
c : Byte;
ch : Char;
s : String;
Begin
WriteLn('CRAZY by ja:)');
WriteLn;
If ParamCount <> 2 Then
Begin
WriteLn('Usage: CRAZY <text> <crazy text>');
Halt(1);
End;
Assign(InFile,ParamStr(1));
{$I-}
Reset(InFile,1);
If IOResult <> 0 Then
Begin
WriteLn('File: ',ParamStr(1),' not found.');
Halt(2);
End;
{$I+}
Assign(OutFile,ParamStr(2));
ReWrite(OutFile,1);
WriteLn('Convert: ',ParamStr(1),' to ',ParamStr(2));
Repeat
BlockRead(InFile,Buffer,SizeOf(Buffer),NumRead);
For w := 0 to NumRead do
Begin
c := Ord(UpCase(Chr(Buffer[w])))-65;
If (c < 26) Then
Begin
s := CrazyTab[c];
ch := s[Random(1)+Random(2)+Random(2)+1];
Buffer[w] := Ord(ch);
End;
End;
BlockWrite(OutFile,Buffer,NumRead,NumWrite);
Until (NumRead = 0) or (NumWrite <> NumRead);
Close(InFile);
Close(OutFile);
End.
-------------------------------------------------------------------------------
čatßoy
cccc.215postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: line f-ja
Date: Tue, 18 Apr 1995 22:09:06
-=> Quoting Aleksandar Glumac to All <=-
AG> Ima li neko caku kako da se crta linija tacka po tacka u TC-u.
Zasto bi to neko radio?
1) U skolske svrhe?
2) Da napravi brzu funkciju.....
Odmah da ti kazes da se ovo 2) manes, ja sam to pokusavao dok sam imao
HERCULES-a i nije mi uspelo...... funkcija za crtanje tacke jeste bila brza
ali nisam imao dovoljno brzu implementaciju algoritma za crtanje linije.....
Ma ne isplati se, neces dobiti spektakularna ubzanja :((((((( Borland to
ipak mozda zna malo vise od tebe (bez uvrede i mene :(((((((((. I bre-
nzenhajm to radi sporije.... :(((((
1) Pa...... u starijim racunarima pisano je o raznim algoritmima i
to su ti negde brojevi od 30-40 (ne vuci me za jezik :))))) Pisao je
Jovan Skuljan (bljak) pa SEZAM pa RIND.....
Ja ti dajem jedan (moj?) algoritam :
VOID MYLINE(double x,double y,double x2,double y2)
{
putpixel(int ((x+x2)/2), int ((y+y2)/2), getcolor ());
if(x!=x2)
{
myline (x,y,int ((x+x2)/2), int ((y+y2)/2));
myline ( .... drugi deo linije .... );
}
}
odnosno rekurzivno resenje.... (polovis liniju...... nacrtas samo
srednju tacku....)
... The last thing I saw was this Big Blue Wave!
* Origin: Sveti Sava BBS (38:101/101.5)
cccc.216postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: reset
Date: Tue, 18 Apr 1995 22:09:07
-=> Quoting Aleksandar Glumac to All <=-
AG> void main(){
AG>
AG> char far *reset=(char far *)0x00000472L;
AG> *reset=0x1234;
AG> }
Pa.......
1)reset ti je pokazivac na char... a ti mu dodelujes int vrednost
2)Pazi na options meni (da se sve us*ati)!
... "Scotty, beam me up another Blue Wave message."
* Origin: Sveti Sava BBS (38:101/101.5)
cccc.217postmast,
From: alekm@sunrise.hobbiton.CO.YU (Aleksandar Markovic)
Subject: Re: Pt 2/4: Infrequently Asked Questions about C
Date: Wed, 26 Apr 1995 01:51:17 GMT
Aleksandar Glumac (Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu) wrote:
> * U poruci za All, Dragisa N. Duric rece:
> DD> 4.8: Why is i = ++i undefined?
> Pozdrav, zanima me gde si skinuo FAQ-ove koje si ovde "objavio ".
IAQ-ove :)
cccc.218postmast,
From: ivan.jocic@durlan.co.yu (Ivan Jocic)
Subject: Line f-ja
Date: Tue, 25 Apr 1995 8:28:00 GMT
QWK To: Aleksandar Glumac
-=> Aleksandar Glumac je porucio All <=-
MA> Ja ti dajem jedan (moj?) algoritam :
AG> Thanx , da vidim da'l radi ;)
Pa jel' mogu i ja da ga dobijem?
The Shadow
... Don't open the darkroom door; it lets all the dark out.
--- Blue Wave/RA v2.12 [NR]
■ MKNet ■ BBLink <tm> ■ Sirius BBS ■ 018/711-667 ■ W.T:23-08
#! rnews 1694
cccc.219postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: Pt 2/4: Infrequently Asked Questions about C
Date: Thu, 20 Apr 1995 13:42:00
* U poruci za All, Dragisa N. Duric rece:
DD> +++++++++++
DD> a modern program must use both, dependent on the current
DD> locale.
DD> 4.8: Why is i = ++i undefined?
...itd itd itd.
Pozdrav, zanima me gde si skinuo FAQ-ove koje si ovde "objavio ".
Mrzime ovako da skidam .
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.220postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: line f-ja
Date: Fri, 21 Apr 1995 18:47:04
MA> AG> Ima li neko caku kako da se crta linija tacka po tacka u TC-u.
MA> Zasto bi to neko radio?
MA> 1) U skolske svrhe?
MA> 2) Da napravi brzu funkciju.....
Nijedan do ta dva :)
Meni treba crtanje XOR linije , pa zato moram tacku po tacku :))
MA> Ja ti dajem jedan (moj?) algoritam :
Thanx , da vidim da'l radi ;)
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.221postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: reset
Date: Fri, 21 Apr 1995 18:51:05
MA> AG> char far *reset=(char far *)0x00000472L;
MA> 1)reset ti je pokazivac na char... a ti mu dodelujes int
Cak sta vise long int :))<pocrveneo sam>)))
Misli da je tu greska ?
Jer ja sam tako bacio na tu adresu 0x1234h cak se peekb-ovao i pokazuje
0x1234h .
Totalno sam u rebusu :)
Sada cu probati sa 19h.
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.222postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: Re: Pt 2/4: Infrequently Asked Questions about C
Date: Sun, 23 Apr 1995 07:49:36 GMT
Aleksandar Glumac (Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu) wrote:
-> * U poruci za All, Dragisa N. Duric rece:
-> DD> +++++++++++
-> DD> a modern program must use both, dependent on the current
-> DD> locale.
->
-> DD> 4.8: Why is i = ++i undefined?
-> ...itd itd itd.
-> Pozdrav, zanima me gde si skinuo FAQ-ove koje si ovde "objavio ".
-> Mrzime ovako da skidam .
Prvoaprilski comp.lang.c :)
cccc.223postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: line f-ja
Date: Wed, 26 Apr 1995 23:25:50
AG> Meni treba crtanje XOR linije , pa zato moram tacku po tacku :))
Sto nisi rek'o to je bar jednostavno SETLINEMODE(xor_mode) ili nesto slicno
(GRAPHIC.LIB)... .(za BORLAND/TURBO c(++))...
MA> Ja ti dajem jedan (moj?) algoritam :
AG> Thanx , da vidim da'l radi ;)
Naravno da radi ;), ali ali za XOR line nece ti posluziti... Odlican je za
linije tipa ----- ------ ------ (i slicne tj. pravljenje tekstura linija)!
INACE..... (posto se interesujes graphic in Cxx/??)...
Imas na SVETI SAVA BBS moj program THE BEST GRAPHICS 0.3BETA,
inace to je program za vektorsko crtanje koje sve sto nacrtas
pretvara u C(++/PASCAL/??) Source.... izvanredna stvar po meni....
Ali nedosvrsena..... (ima bugova) ako bude bilo 'interesovanja'
za njega poboljsacu ga.... Inace savrseno radi na HERC, dok na
VGA ima malo bagova (nista strasno probaj).... Najveca je mana
NO FRIENDLY USER'S INTERFACE.... (je*iga, ja sam ga pravio ;>>>>)
Pogledajte malo taj program..... vidi ovo....
1 GIF slika = 100 K
1 BG (best graphics format= moj format) = 1 K, a slika ista....
Ma, super je.... sta vam pricam....
(razmislite program od 1MB sa 1000 slika..... (wow)
Pozdravi iz BANJALUKE.....
... Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.224postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: reset
Date: Wed, 26 Apr 1995 23:25:52
-=> Quoting Aleksandar Glumac to Mladen Adamovic <=-
MA> AG> char far *reset=(char far *)0x00000472L;
MA> 1)reset ti je pokazivac na char... a ti mu dodelujes int
AG> Cak sta vise long int :))<pocrveneo sam>)))
AG> Misli da je tu greska ?
Izvini, al' ne kontam potpuno odgovor..... Mog'o bi malo jasnije.....
ko misli?
AG> Jer ja sam tako bacio na tu adresu 0x1234h cak se peekb-ovao i
Izvini, al' ne kontam potpuno odgovor..... Mog'o bi malo jasnije.....
sta bacio, ne kontam izraz....?
AG> Sada cu probati sa 19h.
Ne okolisi problem MOZE SE ONAKO ALI STAVI
unsigned far *
ako ne uspe, ja cu da probam.....
... He who dies with the most TAGLINES wins!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.225postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: cccc
Date: Wed, 26 Apr 1995 23:25:55
-=> Quoting "Jovan Bulajic" to All <=-
"B> MSDOS - R:\C
"B> ----------------------
"B> qnc41 zip 167537 Quincy C Interpreter v4.1: C interpreter (Al
"B> qnc41src zip 108561 Quincy C Interpreter v4.1: source za
A cemu to sluzi.....? (nije bas najbistrije.... ) C interpreter....?
Sta sa tim da radim..... ;)))))
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.226postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: extern
Date: Wed, 26 Apr 1995 23:25:56
>> char far *reset=(char far *)0x00000472L;
>> *reset=0x1234;
MS> Ti si ovde napravio pointer na podatak tipa CHAR (rezervisano 2 bajta
MS> u memoriji) i postavio ga na odredjenu adresu. U sledecoj naredbi si
MS> pokusao da na tu adresu upises broj cija je velicina 4 bajta, sto nece
MS> moci. Probaj sa SHORT FAR...
-------
Ma jok, more, ja glasam za unsigned (int) far..... i dosta s tim.....
Ako ne radi.... uzece cika Mladen TD u ruke....
(i nece vise nista slati neprovereno....)
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.227postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: reset/2
Date: Wed, 26 Apr 1995 23:25:56
MS> Moram da se izvinim tebi i svima koji su procitali onu
MS> poruku koja se tice pointera. Mislim da je greska VEOMA ocigledna.
MS> (CHAR ne zauzima 2, vec 1 a SHORT 2 bajta).
---------
Gledaj, sigurno mu treba UNSIGNED INT, a ne INT.....
(velika slova zbog citljivosti...)
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.228postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: extern
Date: Wed, 26 Apr 1995 09:26:00
MS> Extern sluzi da bi bi linker znao kako je deklarisana
MS> promenljiva
MS> vec definisana u drugom modulu. Ovo je kratko ali
Thanx, provalio sam to pre nekoliko dana.
Ja sam mislio da se ono mogu koristiti kada ih pozove drugi modul koji nije
zajedno linkovan (npr. sa spwan i sl.) ,ali onda mi je jedan cika objasnio
caku i za to :)
MS> >> char far *reset=(char far *)0x00000472L;
MS> Ti si ovde napravio pointer na podatak tipa CHAR
Ups, stamparska greska :)
Ipak i pokovao sam i neradi, kako sada cujem treba da se skoci na ffff:0000 .
Nadam se ta tako radi.....
ĐŠč Thanx & Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.229madamovic,
> Da nisi mozda umesto graphics.h slucajno stavio text.h ? ;)
Nažalost nisam :((((, ali .... čitaj dalje.... :))))
> Medjutim kad sve to ispravim javlja nepoznatu komandu textx i
> textxy, kao i funkciju generisi.
> Umesto textxy bi trebalo outtextxy ali ne i za textx
> U cemu je problem ?
Ono TEXT.H je moj dodatak za grafiku u C-u koji ubrzava ispis grafičkih slova
oko 4-5 puta... Zaboravio sam da ga priložim :((((((((
Koristio sam ga u SCROOL-u da bih ga ubrzao (to je bilo pre 2 godine kada sam
imao 286 na kojoj je brzina skrola bila kritična....
No evo ga sada :)))))) Usput, dobar je da ga koriste svi kojima je POTREBAN
NEKOLIKO PUTA BRčI ISPIS GRAFIžKIH SLOVA u C-u....
Dakle, evo TEXT.H
Nego, žao mi je.... (SET CODE YU:((((()
---------------------------------------------------------<cut here
#include<graphics.h>
#include<stdlib.h>
#define NCAR 128
struct textsettingstype textinfo;
struct fillsettingstype fillinfo;
void *textMEM Š5Ć Š100Ć;
int textxŠ5Ć Š100Ć, FNT ,PUTOPT, textyŠ5ĆŠ100Ć, MXX, MXY;
int generisi(int Sfont,int font,int size)
š
int r;
char sŠ5Ć;
MXX=getmaxx()+1;
MXY=getmaxy()+1;
gettextsettings(&textinfo);
settextstyle(font,0,size);
getfillsettings(&fillinfo);
setfillstyle(1,getbkcolor());
sŠ1Ć=0;
for(r=32;r<=128;r++)
š
sŠ0Ć=r;
outtextxy(0,0,s);
free(textMEMŠSfontĆŠr-32Ć);
textMEMŠSfontĆŠr-32Ć=malloc(imagesize(0,0,textwidth(s),1.5*textheight(s)));
textxŠSfontĆŠr-32Ć=textwidth(s); textyŠSfontĆŠr-32Ć=textheight(s)*1.5;
getimage(0,0,textwidth(s),1.5*textheight(s),textMEMŠSfontĆŠr-32Ć);
bar(0,0,30,30);
ć
setfillstyle(fillinfo.pattern,fillinfo.color);
settextstyle(textinfo.font,0,textinfo.charsize);
return 0;
ć
void textxy(int X,int Y,unsigned char *p)
š
for(;*p;p++)
š
if(X>-textx ŠFNTĆ Š*p-32Ć-1 && Y>-texty ŠFNTĆ Š*p-32Ć-1)
if(X<MXX && Y<MXY) putimage(X,Y,textMEM ŠFNTĆ Š*p-32Ć,PUTOPT);
X+=textx ŠFNTĆ Š*p-32Ć;
ć
ć
void style(int br_font,int putimageopt)
š
FNT=br_font;
PUTOPT=putimageopt;
ć
-------------------------------------------------------------------------------
-
Dakle..... prijatno...
Adamovic Mladen, Banjaluka....
P.S.> ti imaš CD REC?
(ako da javi se na mail)....
cccc.230madamovic,
> Meni treba crtanje XOR linije , pa zato moram tacku po tacku
> :))
Jock.... pogledaj SETLINEMODE funkciju (graphic.lib)
P.S. Nadam se da koristiš BORLAND....
cccc.231madamovic,
>> Evo da vam pretstavim jedan program : FUNTXT 1.0.
>> Saljem ga u temu CCCC jer je razvijen u BORLAND C++ 3.1 & AF
>
> Ovo je "razvijeno" u TP:)))))
> "Razvijao" sam ga 900 sec:)
Nisi nikako mogao za 900 sec. jer je trebalo pronaći odgovarajuće ekvivalete
(pogledati CTRLALT-A) i sl. ja sam FUNTXT 1.0 razvio za 36 minuta....
> This program is not shareware (it's freeware;),... blablabla:)
U praksi ti dođe isto..... ;)))))
>
> ----------------------------------------------------------------
> Const CrazyTab : ArrayŠ0..25Ć of StringŠ5Ć = (
> 'aĺÓaA','bßBßB','CŤcŤc','ŰDŰDd','ńţEe','FčŇťf','GÇçGg',
> 'ÎhHhH','I│şŹi','j§űJj','KkKkk','L└lLl','MmMmm','N´ŕŘn',
> 'OÝ0Úo','PpPpp','qQqQq','RÔ×┌r','S$s$s','tšT┬t','UuUUu',
> 'vVvVv','WwWww','X%X%x','YŁyŠy','ZzZzz');
Ako nisi primetio ja sam ovo STRPAO u posebnu datoteku
FUNTXT.DAT
-----------------------------
Aa
S$
i tako dalje.....
Dakle moje je zgodnije jer se može uz pomoć FUNTXT-a 1.0 lako koristiti jedno-
stavan oblik šifrovanja (i dobar!)
ovako recimo
FUNTXT.DAT=SIFRA.DAT
--------------------------------
ZA
BG
SP
LB
i t d.....
cccc.232postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Line f-ja
Date: Thu, 27 Apr 1995 15:55:11
MA> Ja ti dajem jedan (moj?) algoritam :
AG> Thanx , da vidim da'l radi ;)
IJ>
IJ> Pa jel' mogu i ja da ga dobijem?
Vec sam ga spomen'o (al' evo opet) :
-------------------------------------------------------------------------
void myline (double x1,double y1,double x2,double y2)
{
double sx,sy;
sx=(x1+x2)/2;
sy=(y1+y2)/2;
putpixel(sx,sy,getcolor());
if(abs(x1-x2)>0.5 || abs(y1-y2)>0.5)
{
myline(x1,y1,sx,sy);
myline(sx,sy,x2,y2);
}
}
--------------------------------------------------------------------------
To je otprilike TO.... Ako ne bude radilo recite pa da sednem i napisem
kompletan program, sad nemam vremena....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.233postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: reset
Date: Thu, 27 Apr 1995 09:09:02
MA> MA> AG> char far *reset=(char far *)0x00000472L;
MA> AG> Cak sta vise long int :))<pocrveneo sam>)))
MA> AG> Misli da je tu greska ?
MA> Izvini, al' ne kontam potpuno odgovor..... Mog'o bi malo
MA> jasnije.....
MA> ko misli?
JA mislim (da mislim),znas ponekad progutam po koje slovo i poruka izmani
svoj smisao :)
MA> AG> Jer ja sam tako bacio na tu adresu 0x1234h cak se peekb-ovao i
POKOVAO , to sam mislio , u stvari sam stavio vrednost 0x1234h preko pointera
MA> Ne okolisi problem MOZE SE ONAKO ALI STAVI
Da ali na kraju treba da se skoci na ffff:0000 , a to mi je problem u C-u :(
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.234postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: reset
Date: Fri, 28 Apr 1995 17:04:08
AG> Da ali na kraju treba da se skoci na ffff:0000 , a to mi je problem u
AG> C-u :( ĐŠč Pozdrav Ace B) čŠĐ
Da tebi ne treba mozda ovo (citiram BORLAND C++ 3.1 & AF help...)
<DOS.H>
FP_OFF gets a far address offset
FP_SEG gets a far address segment
MK_FP makes a far pointer
.....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.235postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: cccc
Date: Fri, 28 Apr 1995 17:04:09
"O> Jel' ima neko source za obican scroll texta s leva na desno, u C-u
Odgovor poslat na Sezam, a ako interesuje jos nekog sa Set-a poslacu....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.236iznogud,
Ima li neko pojma koji makro je definisan kod Watcom C++-a kada je
u toku prevodjenje za Windowse (npr. kod Borlanda je to _Windows)
cccc.237postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: reset
Date: Tue, 02 May 1995 17:36:01
MA> <DOS.H>
MA> FP_OFF gets a far address offset
MA> FP_SEG gets a far address segment
MA> MK_FP makes a far pointer
Pa moguce , jer meni treba skok na ffff:0000 , tj da napravim pointer sa
MK_FP i onda longjmp (ako to radi jer sam vec to napravio u ASM-u)
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.238postmast,
From: Milan.Spasic@f125.n103.z38.setnet.setnet.co.yu (Milan Spasic)
Subject: Re: extern
Date: Sat, 29 Apr 1995 00:42:03
-=> Quoting Mladen Adamovic to Milan Spasic <=-
>> char far *reset=(char far *)0x00000472L;
>> *reset=0x1234;
MS> Ti si ovde napravio pointer na podatak tipa CHAR (rezervisano 2 bajta
MS> u memoriji) i postavio ga na odredjenu adresu. U sledecoj naredbi si
MS> pokusao da na tu adresu upises broj cija je velicina 4 bajta, sto nece
MS> moci. Probaj sa SHORT FAR...
MA> -------
MA> Ma jok, more, ja glasam za unsigned (int) far..... i dosta s tim.....
U pravu si, tako napisan kod deluje normalnije (mada ni SHORT ne bi pravilo
probleme sa 0x1234),medjutim coveku ni to nece pomoci.Par dana posto sam poslao
poruku pregledao sam memorijsku mapu (helppc) i, ako sam dobro shvatio, na
gornjoj adresi se nalazi obican fleg cijim poke-om ne dobijamo nista:
40:72 word Soft reset flag via Ctl-Alt-Del or JMP FFFF:0
1234h Bypass memory tests & CRT initialization
4321h Preserve memory
5678h System suspend
9ABCh Manufacturer test
ABCDh Convertible POST loop
????h many other values are used during POST
Verovatno treba da se uradi ovaj JMP...
pozdrav za Banjaluku...
... This tagline is SHAREWARE! To register, send me $10
* Origin: SETNet:Birostroj BBS:NON-STOP:14400bps:011/609945 (38:103/125)
cccc.239postmast,
From: vinko@impex.durlan.co.yu (Vinko Velinov)
Subject: cd
Date: Fri, 05 May 95 09:38:37 GMT+2
Ima li da se nadje neka lib c funkcija za upravljanje cd drajvom?
Ako je neko programirao cd molio bih ga da se javi sa sugestijama,
savetima... Eventualno ako je razvio neku svoju lib da je ustupi, ako
je voljan, naravno.
-----
Vinko Velinov * Impex Promet * 25. Maj 81 * 18000 Nis * tel. 018/43-671
cccc.240ikordic,
RE: GNU
Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to cak
sa nekim ekstenderom za 286+ procesore? Ima li tako necega ili sam ovo
samo sanjao? Ako je neko to video, dajte me podsetiti gde toga ima...
cccc.241pyramid,
>> Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to cak
>> sa nekim ekstenderom za 286+ procesore? Ima li tako necega ili sam ovo
>> samo sanjao? Ako je neko to video, dajte me podsetiti gde toga ima...
Ima na FFS-u 386 compiler iz dr Dobbs Journal-a u direktorijumu djgpp...
cccc.242misham,
Uglednoj privatnoj firmi za proizvodnju softvera, namenjenog inostranom
tržistu, potrebna su, isključivo radi stalnog radnog odnosa, 3 programera
sa iskustvom u radu sa programskim jezikom C++. Školska sprema nije bitna.
Plata odlična i bez ograničenja. Nagradjivanje prema učinku.
RADIMPEX * IZVORSKA 55 * BEOGRAD * Tel. 543-364
cccc.243ikordic,
RE: GNU C
=> Ima na FFS-u 386 compiler iz dr Dobbs Journal-a u direktorijumu djgpp...
Hvala na odgovoru, idemo na dl. U međuvremenu, da li je neko video ovo ili
mozda čak radio na nj? Bilo kakve impresije, da se ne patim džabe...
cccc.244zeljkoj,
> Hvala na odgovoru, idemo na dl. U međuvremenu, da li je neko
> video ovo ili mozda čak radio na nj? Bilo kakve impresije, da
> se ne patim džabe...
Malo sam radio sa njim, ali mi je onda greškom obrisan sa diska,
a pošto me mrzelo da ponovo downloadujem...
To je potpuno 32-bitni kompajler, podržava valjda do 128 MB fizičke
memorije + 128 MB swapa. Baš sam probao da alociram niz od 50-tak
megabajta, i radilo je. :))
cccc.245postmast,
From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
Subject: cccc
Date: Thu, 11 May 1995 23:32:52 GMT
Upravo sam istalirao BC/C++ 3.1 i isprobao neke programcice,
konkretno primere iz ALTERa 3 (oni fractali...), medjutim pri prevodjenju
javlja greske, u fazonu ne prepoznaje te funkcije (graficke), a koristi se
ista <graphics.h> biblioteka. To bih nekako i istrpeo da nisam pokusao da
prevedem neki od test primera iz samog paketa i javljale su se slicne
greske. Mozda ovo nekom izgleda smesno jednostavno, ali meni ... :((((
Ako neko zna u cemu je fora neka ostavi resenje ovde ili na mail,
bicu mu mnoogo zahvalan.
Pozdrav, FLORA.
cccc.246postmast,
From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
Subject: problem sa BC/C++ 3.1
Date: Thu, 11 May 1995 23:37:10 GMT
Upravo sam istalirao BC/C++ 3.1 i isprobao neke
programcice, konkretno primere iz ALTERa 3 (oni fractali...),
medjutim pri prevodjenju javlja greske, u fazonu ne prepoznaje
te funkcije (graficke), a koristi se ista <graphics.h> biblioteka.
To bih nekako i istrpeo da nisam pokusao da prevedem neki od test
primera iz samog paketa i javljale su se slicne greske. Mozda ovo
nekom izgleda smesno jednostavno, ali meni ... :((((
Ako neko zna u cemu je fora neka ostavi resenje ovde ili na mail,
bicu mu mnoogo zahvalan.
Pozdrav, FLORA.
cccc.247postmast,
From: djdule@mikros.durlan.co.yu (Dusan Djordjevic)
Subject: Re: cccc
Date: Thu, 11 May 95 09:17:27 CET
"Igor Kordic" <ikordic@sezam.UUCP> writes:
>Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to cak
>sa nekim ekstenderom za 286+ procesore? Ima li tako necega ili sam ovo
>samo sanjao? Ako je neko to video, dajte me podsetiti gde toga ima...
Ne varas se. Imam ga ja. Zauzima 9 disketa a za ekstender neznam posto
sam ga tek skoro nabavio da se nadje zbog sto i na Linuxu imam GNU C/C++
al jos nisam nasao prostora i vremena da ga probam.
-----
Dusan Djordjevic... djdule@mikros.durlan.co.yu...
Mikros Elektronik, Nis
cccc.248postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Wed, 10 May 1995 11:39:22 GMT
Igor Kordic je napisao:
>> RE: GNU
>> Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to cak
>> sa nekim ekstenderom za 286+ procesore? Ima li tako necega ili sam ovo
>> samo sanjao? Ako je neko to video, dajte me podsetiti gde toga ima...
Probaj Borland Power Pack. Treba ti, da bi ga koristio, i Borland C++
4.02 ili noviji. Omogucava 16bitni DPMI, kada mozes da koristis i Windows
DLL-ove iz DOS-a, i 32bitni DPMI.
Uz Borland Power Pack dobijas i 32-bitne i 16-bitne DPMI verzije
Turbovizije i BGI graficke biblioteke.
cccc.249postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: cd
Date: Mon, 08 May 1995 15:32:37
VV> Ima li da se nadje neka lib c funkcija za upravljanje cd drajvom?
VV>
VV> Ako je neko programirao cd molio bih ga da se javi sa sugestijama,
VV> savetima... Eventualno ako je razvio neku svoju lib da je ustupi, ako
VV> je voljan, naravno.
Da, ako tako nesto postoji, a neko je ljubazan, nek' napise poruku....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.250postmast,
From: Ognen.Ivanovski@f132.n108.z38.setnet.setnet.co.yu (Ognen Ivanovski)
Subject: extern
Date: Wed, 03 May 1995 23:31:15
MS> Extern sluzi da bi bi linker znao kako je deklarisana
MS> promenljiva
MS> vec definisana u drugom modulu. Ovo je kratko ali
AG>>>Thanx, provalio sam to pre nekoliko dana.
>>>Ja sam mislio da se ono mogu koristiti kada ih pozove drugi modul koji
>>>nije
>>>zajedno linkovan (npr. sa spwan i sl.) ,ali onda mi je jedan cika
>>>objasnio
>>>caku i za to :)
A da nam objasnish tu caku? :)
May The Force be with you, Milkman
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž SKOPJE (38:108/132)
cccc.251postmast,
From: Ognen.Ivanovski@f132.n108.z38.setnet.setnet.co.yu (Ognen Ivanovski)
Subject: pe.compile.c++.linux
Date: Wed, 03 May 1995 23:31:16
Dali je neko uspeo ishta da iskompajlira (C++) pod Linux-om
(g++)?
Ja sam probao jaedan glupi copy porgram i nije htelo.
Javaljao je mali milion greshaka i to za file iostream.h. U
chemu je problem?
Evo fajla
copy.cc
__________________
#include <iostream.h>
void main(int argc, char **argv) {
ifstream in(argv[1], ios::in|ios::bin);
ofstream out(argv[2], ios::out|ios::bin);
while (!in.eof()) {
char ch;
ch = in.get();
out.put(ch);
}
}
-----------------------
POMOZITE!!
May The Force be with you, Milkman
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž SKOPJE (38:108/132)
cccc.252postmast,
From: Ognen.Ivanovski@f132.n108.z38.setnet.setnet.co.yu (Ognen Ivanovski)
Subject: reset
Date: Wed, 03 May 1995 23:31:17
AG>>>Hi svima.
AG>>>Dali neko zna zasto ovo nece da radi :
AG>>> // Radjeno u TC++ v3.1
AG>>>void main(){
>>>
>>> char far *reset=(char far *)0x00000472L;
AG>>> *reset=0x1234;
>>>}
AG>>>Pokusavao sam i sa poke-ovima ali nista :(
AG>>>U cemu je vic ?
OI>>> A da probash sa MK_FP(0000, 0472);
OI>>> To mu uvek pali, mada bash sam se sad setio da slichan
>>> primer je kod mene proradio. Proverichu.
Proverio sam. :)
File : screen.cpp
_________________________
#pragma option -v-
#pragma option -mt
void main() {
int i;
char far *p;
p = (char far*)0xb8000000; // <--+
// |
for (i=0; i <= 80*25*2; i++) // |
{ // |
*p++ = 'D'; // |
*p++ = 5; // |
} // |
} // |
--------------------------------- // |
| Pazi molim te,
isto je a kod mene
radi.
Ovo radi pod BC3.1 i ispisuje ceo ekran s 'D'.
May The Force be with you, Milkman
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž SKOPJE (38:108/132)
cccc.253postmast,
From: Ognen.Ivanovski@f132.n108.z38.setnet.setnet.co.yu (Ognen Ivanovski)
Subject: pe.compile.c++.linux
Date: Thu, 04 May 1995 00:06:19
OI>>> Dali je neko uspeo ishta da iskompajlira (C++) pod Linux-om
>>> (g++)?
>>> Ja sam probao jaedan glupi copy porgram i nije htelo.
>>> Javaljao je mali milion greshaka i to za file iostream.h. U
>>> chemu je problem?
>>> Evo fajla
OI>>> copy.cc
>>> __________________
OI>>> #include <iostream.h>
OI>>> void main(int argc, char **argv) {
>>> ifstream in(argv[1], ios::in|ios::bin);
>>> ofstream out(argv[2], ios::out|ios::bin);
OI>>> while (!in.eof()) {
>>> char ch;
>>> ch = in.get();
>>> out.put(ch);
>>> }
>>> }
>>> -----------------------
OI>>> POMOZITE!!
Da se popravim: pod '#include <iostream.h>' treba da stoji
'#include <fstream.h>'. Josh uvek je problem shto g++ neche
da kompajlira iostream.h.
Peace,
Milkman
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž SKOPJE (38:108/132)
cccc.254postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: Pt 2/4: Infrequently Asked Questions about C
Date: Thu, 20 Apr 1995 13:42:00
* U poruci za All, Dragisa N. Duric rece:
DD> +++++++++++
DD> a modern program must use both, dependent on the current
DD> locale.
DD> 4.8: Why is i = ++i undefined?
...itd itd itd.
Pozdrav, zanima me gde si skinuo FAQ-ove koje si ovde "objavio ".
Mrzime ovako da skidam .
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.255postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: line f-ja
Date: Fri, 21 Apr 1995 18:47:04
MA> AG> Ima li neko caku kako da se crta linija tacka po tacka u TC-u.
MA> Zasto bi to neko radio?
MA> 1) U skolske svrhe?
MA> 2) Da napravi brzu funkciju.....
Nijedan do ta dva :)
Meni treba crtanje XOR linije , pa zato moram tacku po tacku :))
MA> Ja ti dajem jedan (moj?) algoritam :
Thanx , da vidim da'l radi ;)
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.256postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: reset
Date: Fri, 21 Apr 1995 18:51:05
MA> AG> char far *reset=(char far *)0x00000472L;
MA> 1)reset ti je pokazivac na char... a ti mu dodelujes int
Cak sta vise long int :))<pocrveneo sam>)))
Misli da je tu greska ?
Jer ja sam tako bacio na tu adresu 0x1234h cak se peekb-ovao i pokazuje
0x1234h .
Totalno sam u rebusu :)
Sada cu probati sa 19h.
ĐŠč Pozdrav Ace B) čŠĐ
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.257postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: Re: Pt 2/4: Infrequently Asked Questions about C
Date: Sun, 23 Apr 1995 07:49:36 GMT
Aleksandar Glumac (Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu) wrote:
-> * U poruci za All, Dragisa N. Duric rece:
-> DD> +++++++++++
-> DD> a modern program must use both, dependent on the current
-> DD> locale.
->
-> DD> 4.8: Why is i = ++i undefined?
-> ...itd itd itd.
-> Pozdrav, zanima me gde si skinuo FAQ-ove koje si ovde "objavio ".
-> Mrzime ovako da skidam .
Prvoaprilski comp.lang.c :)
cccc.258jkpbvk,
+| Upravo sam istalirao BC/C++ 3.1 i isprobao neke programcice,
+| konkretno primere iz ALTERa 3 (oni fractali...), medjutim pri prevodjenju
+| javlja greske, u fazonu ne prepoznaje te funkcije (graficke), a koristi se
+| ista <graphics.h> biblioteka. To bih nekako i istrpeo da nisam pokusao da
+| prevedem neki od test primera iz samog paketa i javljale su se slicne
+| greske. Mozda ovo nekom izgleda smesno jednostavno, ali meni ... :((((
Koliko se secam, ti primeri iz altera su radjeni u MSC-u ali se mogu uz
sitne prepravke doraditi i za BC. Inace, ako ti i ostali primeri ne rade
ucitaj BC i u options\linker\libraries ukljuci Graphics LIB.
cccc.260ikordic,
RE: GNU
=> >> Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to
=> Probaj Borland Power Pack. Treba ti, da bi ga koristio, i Borland C++
=> 4.02 ili noviji. Omogucava 16bitni DPMI, kada mozes da koristis i Windows
Mhm. Šta misliš, koliko košta sve to što si pobrojao?
cccc.261vitez.koja,
#=> From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
#=> Subject: problem sa BC/C++ 3.1
#=> Date: Thu, 11 May 1995 23:37:10 GMT
#=> Upravo sam istalirao BC/C++ 3.1 i isprobao neke
#=> programcice, konkretno primere iz ALTERa 3 (oni
#=> fractali...), medjutim pri prevodjenju javlja greske, u
#=> fazonu ne prepoznaje te funkcije (graficke), a koristi
#=> se ista <graphics.h> biblioteka. To bih nekako i istrpeo
#=> da nisam pokusao da prevedem neki od test primera iz
#=> samog paketa i javljale su se slicne greske. Mozda ovo
Moraš da kod prevođenja (tj. linkovanja) navedeš i imena svih
biblioteka koje se koriste, na primer
bcc fract.c ..\lib\graphics.lib
U IDEu imaš, pod Options/Linker valjda, odgovarajuću stavku koju
treba da uključiš tako da se grafička biblioteka uključuje i kod
prevođenja iz integrisane okoline.
cccc.262denis,
Help!!!
Ako neko ima program za rad sa PCX formatom u C-u neka posalje - ili nek da
hint gde da ga trazim!
10x!
cccc.263jolicm,
Molim odgovor.
Kako u TC2.0KKKKKKKKKKK 2.0 napraviti .exe program, bez potrebe za
presnimavanjem .bgi drajvera i fontova.
T.j. pitanje je kako da ove fajlove ulinkujem u završni exe zajedno ??
Ako je nekada o tome raspravljano, napišite brojeve poruka.
cccc.264postmast,
From: djdule@mikros.durlan.co.yu (Dusan Djordjevic)
Subject: Re: cccc
Date: Mon, 15 May 95 15:08:51 CET
"Igor Kordic" <ikordic@sezam.UUCP> writes:
>RE: GNU
>
>=> >> Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to
>
>=> Probaj Borland Power Pack. Treba ti, da bi ga koristio, i Borland C++
>=> 4.02 ili noviji. Omogucava 16bitni DPMI, kada mozes da koristis i Windows
>
>Mhm. Sta mislis, koliko kosta sve to sto si pobrojao?
Verovarno kosta dosta, al ako oces da radis neke bolje aplikacije,
naravno za pare, zlata vredi dobar kompajler sa uputstvom.
Naravno da ne spominjem to da svako moze da te tuzi sto si koristio
njegov kompajler pri izradi komercijalnih aplikacija a nisi imao
registrovanu kopiju. Naravno to kad padnu sankcije al sto da te boli
glava..
Dusan Djordjevic... Mikros Elektronik, Nis
cccc.265postmast,
From: flora@mrsys1.MR-Net.co.yu (Floremin Mihailovsky)
Subject: Re: cccc
Date: Tue, 16 May 1995 12:47:36 GMT
Milivoje Ognjanovic (jkpbvk@sezam.UUCP) wrote:
> Inace, ako ti i ostali primeri ne rade
> ucitaj BC i u options\linker\libraries ukljuci Graphics LIB.
Da, da! Video sam to kasnije :( TNX anyway.
Nego, mada nije mesto, znali neko za "dobar" Fortran 90 kompajler.
"Dobar" - jer mi treba samo za ispit i nemam nameru da se bavim tim.
Pozdrav, FLORA.
cccc.266postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: cccc
Date: Tue, 16 May 1995 08:30:55
<::> On 13 May 95 17:31:00, "Milivoje Ognjanovic" said to All <::>
"O> Koliko se secam, ti primeri iz altera su radjeni u MSC-u ali se mogu
"O> uz sitne prepravke doraditi i za BC. Inace, ako ti i ostali primeri ne
"O> rade ucitaj BC i u options\linker\libraries ukljuci Graphics LIB.
Za MSC nisu ra|eni 10000%. Ra|eni su u WC-u.
-=> MM <=-
... Potok tece tok tok tok, ja se gojim grok grok grok
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
cccc.267babbage,
>=>> Za MSC nisu ra|eni 10000%. Ra|eni su u WC-u.
^^^^
B)))))))))))))))))))))))) Izvini, nisam mogao da se uzdržim...
Babbage
cccc.268postmast,
From: vojam@setnet.co.yu (Vojislav Mihailovic)
Subject: cccc
Date: Thu, 18 May 1995 16:42:01
"B> From: "Denis Beciric" <denis@sezam.UUCP>
"B> Newsgroups: yu.prog.c
"B> Organization: SEZAM Beograd, 011 648-422
"B> Ako neko ima program za rad sa PCX formatom u C-u neka
"B> posalje - ili nek da
"B> hint gde da ga trazim!
"B> 10x!
Na Politika BBS-u imam samo neku biblioteku za GIF (230K). Mozda ti to moze
pomoci?
VojaM
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
cccc.269postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: cccc
Date: Thu, 18 May 1995 18:16:36
<::> On 16 May 95 16:24:00, "Denis Beciric" said to All <::>
"B> Ako neko ima program za rad sa PCX formatom u C-u neka posalje - ili
"B> nek da hint gde da ga trazim!
Bio je pre neki dan u NET.PASCAL poruka u kojoj tip trazi da
mu neko to prekonJvertuje iz C-a u Pascal. Potrazi, trebalo
bi da nadjes brzo.
-=> MM <=-
... DC> Klasi~na pojava "{i{anja iz bedaka." :) Al' ne pali... :)
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
cccc.270postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: PCX
Date: Fri, 19 May 1995 17:18:00
"Denis Beciric" je pitao za PCX...
Imas opis formata u CHIP-u broj 7, a imas i na ECSTASY BBS (022 53-218)
txt fajl sa lepim opisom formata.
Ako nemozes da skines sa ECSTASY javi mi pa da ti posaljem :)
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.271postmast,
From: lady.linet@setnet.co.yu (Brankica Kranjac)
Subject: Outp
Date: Sun, 21 May 1995 02:23:54
Pitanje...
Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
outp?
Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
Pozdrav od Lady Linet
___
■ PQ 2.14 ■ Monolit!
* Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
cccc.272postmast,
From: Marija.Bogicevic@f121.n103.z38.setnet.setnet.co.yu (Marija Bogicevic)
Subject: Liste
Date: Mon, 22 May 1995 23:25:11
Moze li neko da mi razjasni dvostruko ulancane liste ?
Pozdrav,
Marija
... Catch the Blue Wave!
___ Blue Wave/QWK v2.12
* Origin: AV Manta -=- Mail Server -=- Belgrade -=- SETNet (38:103/121)
cccc.273postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: c
Date: Mon, 22 May 1995 11:11:00
Od :Brankica Kranjac
Hi ,
>> Pitanje...
>> Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
>> outp?
>> Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
Neznam da li je ovo odgovor, ja slabo divanim C++ :) ,ali mozda ti mogu
pomoci f-je outport() ,outportb() ,inport() ,inportb() <dos.h>.
Nepravim razliku izmedju f-ja za C i C++ (sem one u iosteam) :))
BTW thanx na onom odgovoru za C++, uskoro nabavljam "C++ Bjarne Stroustrup"
>> Pozdrav od Lady Linet
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.274postmast,
From: malenovi@hobbiton.CO.YU (Nik)
Subject: Visual C++ 1.5 globalne varijable, linker i ostalo
Date: Wed, 24 May 1995 13:44:56 GMT
ok decki pazte vamo. prvo da se nebih logovo
da proveravam newsgroups :-) molio bih vas da mi reply
u mail saljete ;) na adresu
svim-vama-poznatu: malenovi@cview.com
hvala, prelazimo na mast :)
daklem, pokusavam da u Visual C++ 1.5 definisem/deklarisem neke
globalne stringove (e ne necu da koristim string table u resource.h jerbo
moracu da cross-include-ujem te definicije u nekim DLLovima
i nezavisnim aplikacijama od moje), pa sam resio da uradim ovako:
Scenario 1:
reinglob.h:
static CString gstrMyString;
reinglob.cpp:
gstrMyString = "BLAH"
narravno moje sve .h fajlove ogradim sa
#ifndef BLAHBLAH
#define BLAHBLAH
#endif .....
medjutim u ovom slucaju kompajler proguta sve, ali kad pozovem
neku funkciju koja menja gstrMyString, promena postaje LOKALNA u odnosu
nafunkciju. drugim recima, kad izadjem iz funkcije, kad ono muc'ak - promena
se anulira, tj. vraca se vrednost na default. (prazan string).
e tu sam ja po pizditis, pa sam onda reko nesto u fazonu
reinglob.h:
CString gstrMyString
nadajuci se da mozda taj "static" nesto glavi. medjutim onda mi je LINKER
reko "puj necu" i reply-ovo da ima multiply defined objects ili neke tako
definitions. naravno ja radim #include mog reinglob.h fajla u svakom drugom
.cpp ili .h fajlu aplikacije, ali posto je ogradjen sa
#ifndef...#def...#endif
onda ne bi trebao da se zezne i da multiply define isti object.
u svakom slucaju, ako neko zna o cemu se radi, please email na
malenovi@cview.com
pozdrav,
Nik
cccc.275janko,
> Pitanje...
> Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
> outp?
> Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
Outp nije ANSI C, pa nije ni ANSI C++. ANSI je standard koji je UčI od
impelmentacije za određeni računar (u ovom slučaju, ovo je vezano za PC
računare).
Borland C++ dozvoljava da koristiš outp i u C++ programima, normalno.
#include <conio.h>
itd.
cccc.276janko,
> Moze li neko da mi razjasni dvostruko ulancane liste ?
Može. To su liste koje se vezuju na obe strane, umesto na jednu.
Time dobijaš na efikasnosti, kada je potrebno da se krećeš kroz listu u
oba smera.
Svaki element liste mora da ima dva pointera, na prethodni element i na
sledeći element liste. Operacije koje manipulišu listom moraju da održe
ovu strukturu ispravnom.
cccc.277postmast,
From: ps26989d@buefhp.etf.bg.ac.yu (Pajic Srdjan)
Subject: Re: Outp
Date: Thu, 25 May 1995 20:24:00 GMT
Brankica Kranjac (lady.linet@setnet.co.yu) wrote:
>> Pitanje...
>> Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
>> outp?
>> Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
Sta je ovo, konkurs za provalu godine?
SVE funkcije C-a mogu se koristiti i u C++-u. Ako je nema u
tvojoj verziji kompajlera, nadji biblioteku od kompalera
koji ima funkciju koja ti treba, i samo ulinkuj biblioteku.
cccc.278postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: Outp
Date: Mon, 22 May 1995 16:18:08
-=> Quoting Brankica Kranjac to All <=-
BK> Pitanje...
BK> Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
BK> outp?
BK> Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
Probaj outport() ako radis na Borlandovim proizvodima.
BTW, funkcije nemaju veze sa C++ ili C-om, vec to zavisi od
proizvodjaca kompajlera da li ce da ih ubaci.
Pozdrav
Amir
* Origin: Atlantis BBS Ł Belgrade Ł Serbia Ł 22:00 - 07:30 (38:103/115)
cccc.279postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Liste
Date: Tue, 23 May 1995 15:15:11
MB> Moze li neko da mi razjasni dvostruko ulancane liste ?
Ovo zahteva poprilicno objasnjavanja sa sve crtanjem i pevanjem.:)
Znas jednostruko povezane liste? Kod dvostruke liste, svaki element
ima pokazivac i na prethodni i na sledeci element liste, tako da
mozes da pokazivacna elemnt liste pokreces na obe strane i ka
pocetku i ka kraju liste. To bi bilo ukratko.
... BR> Da li je Internet interna ili internacionalna mreza?
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.280postmast,
From: dcolak@setnet.co.yu (Damir Colak)
Subject: Liste
Date: Wed, 24 May 1995 14:34:12
MB> Moze li neko da mi razjasni dvostruko ulancane liste ?
Stvar je prosta.. Pazi ovo:
struct slog {
int podatak; // podatak u slogu
struct slog *prev; // pokazuje na prethodni slog
struct slog *next; // pokazuje na sledeci slog
} s, d;
A1 A2 A3 A4
s a1.next a2.next a3.next
a2.prev a3.prev a4.prev
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│ │ │ │ │ 20 │ │ 10 │
├───┬───┤ ├───┬───┤ ├───┬───┤ ├───┬───┤
│NUL│ > │ │ < │ > │ │ < │ > │ │ < │NUL│
└───┴───┘ └───┴───┘ └───┴───┘ └───┴───┘
prev next
So, da upises broj 10 u sadrzaj A4 clana liste pisala bi:
s.next.next.next.podatak = 10;
E sad, posto je to suvise glupo, onda bi kucala nesto kao:
d = s;
for (i = 1; i< 4-1; i++) // 4 - 1 da bi stigla do 4 clana liste
d = d.next;
d.podatak = 10;
Sada, kada bi htela da upises podatak u A3 kucala bi dalje:
d = d.prev; // pomeras se na prethodni
d.podatak = 20;
Da rezimiram, uvek crtaj one kvadratice sa mestom za podatak te sa
mestima za pointere na prethodni i sledeci u nizu. Kada trebas da
pristupis nekom clanu, samo prati prstom i iznad pisi kako si
pristupila trenutnom...
------
Mada najbolje je koristiti pointersku artimetiku, nesto zbog cega se i
uce pointeri...
So, napravis sledeci struct:
struct slog {
int podatak;
} *s, *d;
s = (struct slog *)malloc(MAXCLANOVA); // maxclanova upisi po zelji
// manje od 63K naravno ;)
i onda, kada zelis da pristupis slogu 4 liste kucas:
slog[3].podatak = 10;
Mnogo prostije, zar ne? ;)
Naravno, mozes i sa:
d = s+3;
d->podatak = 10;
ili na gluplji nacin:
for (i=0; i<4; i++)
s++;
s->podatak = 10;
Posle cega bi se nalazila na A4 clanu liste...
Hm, nadam se da ti je nesto od ovoga pomoglo da ukapiras o cemu se
radi...
Sledge DAMMIR!
* Origin: Sledge HAMMER! BBS 011/163-452 22:00-07:00 (38:103/128)
cccc.281postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Outp
Date: Wed, 24 May 1995 22:14:43
BK> Da li mi se to cini ili C++ nema naredbu analognu C-ovoj
BK> outp?
BK> Ne nadjoh je... Mozda su zakljucili da je tamo nepotrebna?
outp nije standardna naredba C-a, to je funkcija koja se moze vezati
samo za C/C++ na DOS platformi... Koliko ja znam GNU je nema...
... Ukradi moj tag!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
cccc.282pyramid,
Da li neko slucajno ima uputstvo za Watcom SQL u bilo kojoj formi (stampano, u
obliku file-a, helpa itd)?
cccc.283bgolusin,
Da li neko ima YU fontove (cirilica ili latinica) u obliku
.chr datoteka za TC.???
cccc.285miroslavn,
Kako da u Borland C++ 3.1 ubacim (ulinkujem) proceduru koju sam napisao u
asembleru (naravno pazio sam na način prenosa parametara, mem. model itd.)
i od koje sam napravio .obj fajl?
Dakle treba mi oblik komandne linije sa kojom se to radi.
Za MicroSoft C znam, to bi bilo : CL PROG.C PROC.OBJ i to je OK ali
kako za BORLAND????
cccc.286omega,
Ţ Kako da u Borland C++ 3.1 ubacim (ulinkujem) proceduru koju sam napisao u
Ţ asembleru (naravno pazio sam na nacin prenosa parametara, mem. model itd.)
BCC -c prog.c
TLINK c0l.obj+prog.obj+dodatni.obj,ime_exe,,cl.lib
prog.c - glavni program
dodatni.obj - obj asemblerskog programa
c0l.obj i cl.lib su za large mem model
cccc.287janko,
> Dakle treba mi oblik komandne linije sa kojom se to radi.
> Za MicroSoft C znam, to bi bilo : CL PROG.C PROC.OBJ i to
> je OK ali kako za BORLAND????
Isto:
BCC prog.c proc.obj
cccc.288bgolusin,
űDa li mi neko moze űrec űi kako ű da nadjem .chr datoteke ´kza TURBO C sa
nasim fontovima ??
cccc.289nlazic,
:> űDa li mi neko moze űrec űi kako ű da nadjem .chr datoteke ´kza
:> TURBO C sa nasim fontovima ??
Ne znam za fontove, ali na SEZAM-u ima editor CHR fontova (radi
samo na EGA i VGA), pa lako možeš da dodaš naše kvačice. Editor se nalazi
u R:\GRAPHICS\sfe.arj duzina:49292.
Pozdrav,
:) Nebojša :)
cccc.290jovca.car,
/* űDa li mi neko moze űrec űi kako ű da nadjem .chr datoteke ´kza TURBO C
Skineš sa Sezama r:\graphics\sfe.arj, pa ih iscrtaš sâm. :)
cccc.291madamovic,
> Ne znam za fontove, ali na SEZAM-u ima editor CHR fontova (radi
> samo na EGA i VGA), pa lako možeš da dodaš naše kvačice. Editor
> se nalazi
Meni trebaju ćirilične. To baš nije lako "prepraviti". Pa ako
je neko voljan da ih ustupi, neka to učini...
cccc.292postmast,
From: nikola@fon (Nikola Mitrovic)
Subject: cccc
Date: Fri, 2 Jun 1995 07:08:30 GMT
Da li je neko radio sa Rational Systems DOS Extenderom (popularni DOS/4GW)?
Problem je u sledecem: treba konvertovati linearnu adresu pointera u
segmentiranu i proslediti je npr. Video interaptu 0x10.
U nedostatku bilo kakve dokumentacije (nisu mi je isporucili uz Watcom C ;-)
nemam pojma ni da li recimo pointer treba prvo allocirati preko DPMI poziva
za alokaciju u dos prostoru? Ako neko ima bilo kakvu dokumentaciju o
Rational Systems extenderu i/ili od DPMI neka se prijavi na mail
nikola@fon.fon.bg.ac.yu Anonimne prijave pojedinaca koji poseduju ove raritete
u nas su dobrodosle i pozeljne ;-)) Mozda pomenuta literatura moze da se nadje
na Watcom C R10 CD-ROMu? Anyone?
znaci primer bi trebao izgledati ovako:
#include <stdio.h>
#include <i86.h>
#include <malloc.h>
main(){
struct _VESA_basic {
long int sign;
unsigned int version;
char *OEM;
long int capabilities;
unsigned int *modelist[100];
char not_used[256];
};
union REGS regs;
struct SREGS sregs;
struct _VESA_basic *VESA_basic;
void main(){
VESA_basic = malloc( 1024 ); // samo ti proradi, pa cu da ti skresem
// kolicinu ;-)
regs.w.ax = 0x4f00; // GET VESA INFO
sregs.es = FP_SEG( VESA_basic ); // neki macro za satro
regs.w.di = FP_OFF( VESA_basic ); // konvertovanje
int386x( 0x10, ®s, ®s, &sregs); // prosledi se INTu 0x10
/* ispisace da je kartica VESA compliant (0, 79) ali buffer koji
treba da kaze ko je proizveo karticu je (da prostite) usrat zbog lose
konverzije... HELP! */
printf( "\nrezuljtati: %d, %d, \n\nbuffer: %s\n\n",
regs.h.ah, regs.h.al, *VESA_basic->OEM );
free( VESA_basic );
};
--
Nikola Mitrovic | e_mail: nikola@fon.fon.bg.ac.yu
Software Specialist | nikola@tesla.cview.com
| nikola@eiger.k2.net
cccc.293postmast,
From: zak@setnet.co.yu (Vladimir Jovanovic)
Subject: bgi
Date: Tue, 30 May 1995 14:22:56
"J> Molim odgovor.
"J> Kako u TC2.0KKKKKKKKKKK 2.0 napraviti .exe program, bez potrebe za
"J> presnimavanjem .bgi drajvera i fontova.
"J> T.j. pitanje je kako da ove fajlove ulinkujem u zavrsni exe zajedno ??
"J> Ako je nekada o tome raspravljano, napisite brojeve poruka.
Prosto... Prvo BGI drajver pretvoris u OBJ (pomocu
BGIOBJ.exe) pa onda u programu koristis registerbgidriver
(ili registerfarbgidriver) funkcije pre nego sto
inicijalizujes grafiku. Onda samo ulinkujes i .obj drjver i
to je to.....
Zak McKracken 38:101/101@SetNet.Oreska
... Death is nature's way of saying it's to late to slow down
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.294postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Wed, 31 May 1995 21:08:59 GMT
Muci me par problema sa BC++4.5, ali ne znam da li se radi o bagu
programa ili bagu moje konfiguracije.
Elem, kada iz DOS prozora pod Windows-ima startujem neku od command line
alatki, Windows prijavi 'This application has violated system integrity
...'. To se desava redovno kod TLINK i TLINK32, a malo redje i kod BCC i
BCC32. Lepo TLINK(32) izlinkuje sta ima, napravi EXE, i kada treba da zavrsi
Windows se pobuni.
To mi pravi grdne probleme. Da bi 32bitni DPMI DOS programi mogli
da se kompajliraju iz Windows IDE, mora da se ucita WIN32S modul, a on mi se
tako lepo razbaskari po memoriji (8MB), da sve radi istom brzinom kao obican
(bez WIN32S) BC4.x na 4MB. Startovao bih ja kompajliranje i iz obicnog
DOS-a, ali tada nemam HELP, a nesto mi se ne izlazi iz Windows-a kad god
program treba da se iskompajlira.
Detektovao sam jos jedan problem: ako postavim za editor neki
ne-TrueType font (npr. moj omiljeni Borland Terminal iz BC++3.1), promena ne
ostane zapamcena pri izlasku iz IDE, pa se pri sledecem startovanju opet
aktivira Courier New. Gledanjem u konfiguracioni fajl video sam da je ime
novog fonta ostalo zapamceno, ali BC ipak trazi Courier New. Zna li neko o
cemu se radi?
--
I only dream in infrared
cccc.295postmast,
From: arhimed@lucid.junis.ni.ac.yu (Bogdan Kecman)
Subject: Re: cccc
Date: Thu, 1 Jun 1995 15:56:11 GMT
Igor Kordic (ikordic@sezam.UUCP) wrote:
: RE: GNU
: Varam li se ja ili sam negde video GNU C/C++ kompajler za DOS? I to cak
: sa nekim ekstenderom za 286+ procesore? Ima li tako necega ili sam ovo
: samo sanjao? Ako je neko to video, dajte me podsetiti gde toga ima...
Postoji, samo je na gomiiiiiili disketla. Imam ga ja ovde u NIS.
radi 32-bitni kod sto ce reci 386 navise da bi radio.
Arhimed.CoRRoSioN.
cccc.296postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: C ?
Date: Fri, 02 Jun 1995 14:39:03
Hi ,
bicu kratak ,cemu sva ona imena f-ja,enviroment i sl. na kraju kompajliranog
falja (zauzima citavih 10% ,obicno to brisem ali da posle program ne pocne da
zeza).
I da li neko zna koja je ekvivalentna f-ja u TC asm-ovoj jmp (u nekoj
poruci sam procitao da se napravi pointer na tu adresu i da se jednostavno
napise taj pointer kada hocemo da "skocimo",da li je to tacno) ?
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
cccc.297jolicm,
POMOĆ !?
TC 2.0, rad sa grafikom.
Šta napisati u izvornom kodu i kako ga kompajlirati i linkovati da ne traži
BGI drajvere sa diska.
Jednostavno: Kako u TC 2.0 napisati program sa grafikom, da je potreban samo
*.exe za rad. ??
Radim u TC 2.0 dosta dugo, ali tek sada imam potrebu za samo *.exe varijantom.
cccc.298djelovic,
> Elem, kada iz DOS prozora pod Windows-ima startujem neku od command line
> alatki, Windows prijavi 'This application has violated system integrity
> ...'.
Da li ucitavas 32TRTM?
cccc.299janko,
> Da li je neko radio sa Rational Systems DOS Extenderom
> (popularni DOS/4GW)?
>
> Problem je u sledecem: treba konvertovati linearnu adresu
> pointera u segmentiranu i proslediti je npr. Video
> interaptu 0x10.
> VESA_basic = malloc( 1024 ); // samo ti proradi, pa cu da
> ti skresem // kolicinu ;-)
> regs.w.ax = 0x4f00; // GET VESA INFO
>
> sregs.es = FP_SEG( VESA_basic ); // neki macro za satro
> regs.w.di = FP_OFF( VESA_basic ); // konvertovanje
>
> int386x( 0x10, ®s, ®s, &sregs); // prosledi se INTu
> 0x10
Kako to zamišljaš da ti DOS rutina koja može da vidi samo jedan MB
dobije ispravan pokazivač na memoriju koju si alocirao pomoću malloc u
sistemu sa ekstenderom, pa je ova po pravilu iza 1 MB?
> Rational Systems extenderu i/ili od DPMI
Ima na Sezamu DPMI spec.
> Software Specialist
:)
cccc.300janko,
> Elem, kada iz DOS prozora pod Windows-ima startujem neku
> od command line alatki, Windows prijavi 'This application
> has violated system integrity ...'. To se desava redovno
> kod TLINK i TLINK32, a malo redje i kod BCC i BCC32. Lepo
> TLINK(32) izlinkuje sta ima, napravi EXE, i kada treba da
> zavrsi Windows se pobuni.
>
> To mi pravi grdne probleme. Da bi 32bitni DPMI DOS
> programi mogli da se kompajliraju iz Windows IDE, mora da
> se ucita WIN32S modul, a on mi se tako lepo razbaskari po
> memoriji (8MB), da sve radi istom brzinom kao obican (bez
> WIN32S) BC4.x na 4MB. Startovao bih ja kompajliranje i iz
> obicnog
Samo savet: Don't do that!
Da bi kompajliranje iz DOS prozora bilo efikasno, moraš da DOS prozoru
daš PUUNO ext. memorije (a difolt je samo 1 MB). Pa ako mu daš puno,
onda drugi Win programi neće moći da rade efikasno paralelno (swap,
swap). Iz Win koristi isključivo IDE oklinu, ona najefikasnije koristi
to memorije što imaš. Inače, 4.5 teško radi na 8 MB, ali je stvar u tome
što ljudi po pravilu prevode sa debug info i browser info, koji dosta
jedu memoriju. Ako ih isključiš, biće ti brži od komandnih verzija --
pod obavezno.
BTW: Odaj mi tajnu kako to prevodiš 32-bitne DPMI DOS programe u BC 4.5
-- to nisam video da nudi sam (iskreno, nisam ni mnogo tražio).
cccc.301deimos,
RE: Kako koristiti grafiku u TC 2.0 bez .BGI drajvera odvojeno od .EXE
==
Jednostavno. Evo ti prvo jedan example za inicijalizaciju:
#include <graphics.h>
.
.
.
void SetGraphicsMode(void)
{
int gd=DETECT,gm;
registerbgidriver(EGAVGA_driver); /*ili registerfarbgidriver
initgraph(&gd,&gm,"");
}
A onda SAMO kompajliras program, izadjes u DOS i uradis sledece
BGIOBJ EGAVGA.BGI
^--- Ide uz TC
Dobices fajl EGAVGA.OBJ, a onda lepo ulinkujes object
fajl tvog programa i EGAVGA.OBJ
npr:
TLINK program.obj egavga.obj
Trebalo bi da dobijes izlazini PROGRAM.EXE koji ne trazi .BGI
drajver.
.dEiMoS.
cccc.302maksa,
>> BTW: Odaj mi tajnu kako to prevodiš 32-bitne DPMI DOS programe
>> u BC 4.5 -- to nisam video da nudi sam (iskreno, nisam ni
>> mnogo tražio).
Biće da ima doinstaliran DOS PowerPack. Kada se ovaj instalira,
pojave se i odgovarajuće (16 i 32 DOS DPMI) stavke u Target
Expert-u.
cccc.303cosmo,
Nikako ne mogu da njadem funkciju koja moze da fajl(koji je pronadjen
u toku Ú]izvrsavanja programa) prekopira ili prebaci u nek űi drug dir-
ektorijum. Da li postoji neka funkcija koja moze da uradi nesto tako?
cccc.304djelovic,
> Nikako ne mogu da njadem funkciju koja moze da fajl(koji je pronadjen
> u toku ┌]izvrsavanja programa) prekopira ili prebaci u nek űi drug dir-
> ektorijum. Da li postoji neka funkcija koja moze da uradi nesto tako?
Za pomeranje datoteke posao ce lepo da ti zavrsi funkcija "rename" iz IO.H.
Sto se tice kopiranja, moraces sam da napises rutinu. BTW, pogledaj u \RSOFT
direktorijumu, u "Racunarima" je tisucu puta bilo price o tome.
cccc.305guta,
===> Hi ,
===> bicu kratak ,cemu sva ona imena f-ja,enviroment i sl. na kraju
===> kompajliranog falja (zauzima citavih 10% ,obicno to brisem ali da
===> posle program ne pocne da zeza).
žitanje dokumentacije (DOC direktorijum, UTILS.DOC ili slično) obično
pomaže (kad neće ništa drugo ;). Elem, magični program je TDSTRIP, i
služi upravo za ubivanje dotičnog balasta (debug & browser info) na
kraju fajla, a koji ti je potreban samo tokom razvoja za debagovanje,
a ne i u poslednjoj verziji.
Znači:
TDSTRIP <imefajla>
Uzgred, njime se može skidati i info sa .OBJ fajlova. Radi samo sa
Borland-ovom verzijom C/C++ (No MS, WATCOM, ZORTECH, i sl.)
cccc.307maksa,
>> f119.n111.z38.setnet.setnet.co.yu
>> (Aleksandar Glumac)
>>
>> bicu kratak ,cemu sva ona imena f-ja,enviroment i sl. na kraju
>> kompajliranog falja (zauzima citavih 10% ,obicno to brisem ali
>> da posle program ne pocne da zeza).
Već ti rekoše za TDSTRIP. Ako program po "stripovanju" debug info-a
počne da zeza, to verovatno znači da nije dobro napisan, odn. da
pointeri pucaju kojejkuda, da nisi dobro izabrao memory model, i sl.
cccc.308bgolusin,
Kako da .CHR i .BGI datoteke ulinkujem u .EXE.Ako moze i parce koda.
cccc.309deimos,
Svaka cast - trci put za nedelju dana isto pitanje!
Sto se tvog problema tice pogledaj moju poruku (8.301) u kojoj pise kako da
se ulinkuje .BGI drajver, a za .CHR ide umesto 'registerbgidriver' jedno
'registerÚ]font'. U svakom slucaju ű, konsultuj help.
.dEiMoS.
ps. sorry za djubre na liniji, ovo je najbolje u poslednjih pet pokusaja. :(
cccc.310postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Wed, 7 Jun 1995 19:13:21 GMT
Dejan Jelovic je napisao:
>> > ...'.
>> Da li ucitavas 32TRTM?
Ma jok, nije u tome problem, poizbacivao sam neke gluposti iz
CONFIG.SYS-a (FCBS, STACKS...) koje je DOS pri instalaciji ubacio, i sad
dobro radi.
Medjutim, problem sa koriscenjem ne-truetype fontova u editoru ostaje.
--
D Break, CONT repeats
cccc.311postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Wed, 7 Jun 1995 19:19:08 GMT
Janko Stamenovic je napisao:
>> > WIN32S) BC4.x na 4MB. Startovao bih ja kompajliranje i iz
>> > obicnog
>> Samo savet: Don't do that!
>> to memorije sto imas. Inace, 4.5 tesko radi na 8 MB, ali je stvar u tome
>> sto ljudi po pravilu prevode sa debug info i browser info, koji dosta
>> jedu memoriju. Ako ih iskljucis, bice ti brzi od komandnih verzija --
>> pod obavezno.
Ma znam ja to sve, ali nije bio u tome problem. Evo u prethodnoj poruci
napisah da se problem "sam od sebe" resio.
>> BTW: Odaj mi tajnu kako to prevodis 32-bitne DPMI DOS programe u BC 4.5
>> -- to nisam video da nudi sam (iskreno, nisam ni mnogo trazio).
Slatka tajna se zove Borland Power Pack, i omogucava 16-bitne i 32-bitne
DPMI DOS aplikacije. Iz njih mogu da se koriste i Windows DLL-ovi. Dobijes i
odgovarajuce (DPMI) verzije BGI i TurboVision biblioteka. 32bitni BGI cak
moze da detektuje superVGA modove i akceleratorske kartice.
Paket se instalira kao add-in, posle instalacije izgleda kao da je
integralni deo BC++4.5 .
--
Nisam zgodan al sam plodan
cccc.312postmast,
From: nikola@fon (Nikola Mitrovic)
Subject: Re: cccc
Date: Wed, 7 Jun 1995 23:21:07 GMT
Janko Stamenovic (janko@sezam.UUCP) rece:
> Kako to zamisljas da ti DOS rutina koja moze da vidi samo jedan MB
> dobije ispravan pokazivac na memoriju koju si alocirao pomocu malloc u
> sistemu sa ekstenderom, pa je ova po pravilu iza 1 MB?
Da, mislio sam i na to, probavao sam i verzije sa konvertovanjem linearnog
pointera u ofs:seg (posle premapiranja u konvencionalnu mem.) ali je pucalo
pa sam namerno izbacio ovakav listing da bih video tudje reakcije.
Esad, gde je stos, izgleda da jestos u tome kako mi rece jedan koleza da
moram da uradim lock memorije preko dpmii jos par sitnica koje mi on jutros
rece (slabe su mi baterije, pamtim do 5 min. ;-) u svakom slucaju proradilo
je
ako nekog zanima kako : mail na nikola@cherokee.hobbiton.co.yu
> Ima na Sezamu DPMI spec.
uhapsicemo :-)
> > Software Specialist
> :)
Da, primetio sam da ljudi ovo pogresno shvataju. Software Specialist ne
znaci da je neko sveznajuci niti da pretenduje na tako nesto, a isto tako
n znaci da se ja bavim PC racunarima kako to ljudi obicno pomisle. Ne znam
cime se ti licno bavis, ali kada bi u isto vreme morao da radis VAX/VMS
platformucelu DEC gamu racunara (Ultrix., OSF/1, VMS, Open VMS),pa uz to jos
da dodas PC i ko zna sta jos sve ne -- mislim da ti ne bi bilo pbas
lagano... Da me ne shvatis pogresno: nemam ja BRE covece vremena da se zaj*
sa stvarima koje mi nisu BAS neophodne.
n.
--
Nikola Mitrovic | e_mail: nikola@fon.fon.bg.ac.yu
Software Specialist | nikola@tesla.cview.com
| nikola@eiger.k2.net
cccc.313postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 08 Jun 1995 04:58:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.C-LANG maintained on 11.05.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 277
Number of messages covered in report: 44
Processed period from: 11-5-1995 to 5-6-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Vojislav Mihailovic...... 38:103/133 1 10 7 70.00%
2. "Vladimir Maric"......... 38:103/120 1 19 10 52.63%
3. Amir Zolic............... 38:103/115 1 10 5 50.00%
4. Marko Milivojevic........ 38:103/130 2 15 7 46.67%
5. Mladen Adamovic.......... 38:101/101.5 1 7 3 42.86%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Aleksandar Glumac 3 6.8% 401 20.00%
2. Floremin Mihailovsky 3 6.8% 648 5.71%
3. Dusan Djordjevic 2 4.5% 717 28.57%
4. "Igor Kordic" 2 4.5% 354 26.67%
5. Marko Milivojevic 2 4.5% 468 46.67%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 32 72.7%
2. Brankica Kranjac 3 6.8%
3. "Denis Beciric" 3 6.8%
4. Marija Bogicevic 2 4.5%
5. "Milorad Jolic" 1 2.3%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. cccc........................................................ 28
2. Outp........................................................ 4
3. Liste....................................................... 4
4. PCX......................................................... 1
5. Statistics.................................................. 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 6 13.6% ******************************
Monday 7 15.9% ************************************
Tuesday 5 11.4% *************************
Wednesday 7 15.9% ************************************
Thursday 10 22.7% ***************************************************
Friday 6 13.6% ******************************
Saturday 3 6.8% ***************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 4 9.1% **********************
2:00- 3:59 2 4.5% ***********
4:00- 5:59 3 6.8% *****************
6:00- 7:59 1 2.3% *****
8:00- 9:59 1 2.3% *****
10:00-11:59 3 6.8% *****************
12:00-13:59 4 9.1% **********************
14:00-15:59 5 11.4% ****************************
16:00-17:59 9 20.5% ***************************************************
18:00-19:59 3 6.8% *****************
20:00-21:59 4 9.1% **********************
22:00-23:59 5 11.4% ****************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.314postmast,
From: miodrag.djordjevic@rstones.durlan.co.yu (Miodrag Djordjevic)
Subject: Puno toga
Date: Thu, 15 Jun 1995 22:51:00 CET
QWK To: All
Zdravo, ljudi!
Po prvi put pisem nekoj konferenciji pa se nemojte cuditi ako je
moja poruka malo neobicna :) Interesuje me par stvari:
1) Da li ima neko bug-free funkcije za koriscenje XMS (eventualno
EMS memorije) u sopstvenim programima?
2) Gde se mogu naci (vrlo) brze PUTIMAGE/GETIMAGE/LINE... rutine
za C (i za 16 i za 256 boja).
3) Bavi li se neko teorijom programiranja (i resavanjem zadataka)?
Da li poseduje neke dobre dokumentacije u vidu fajla (cuo sam
da postoje) o nekim teorijama u programiranju (npr. teorija
grafova, sortiranja i sl.). Mozda neko ima neku tekstualnu da-
toteku sa interesantnim zadacima (da malo ubijam vreme) :) ?
4) A sada jedan mali test: DA LI NEKO ZNA STA JE TO DINAMICKO
PROGRAMIRANJE? Inace, nema veze sa dinamickim alociranjem
memorije.(Za izraz sam prvi put cuo pred ovogodisnje savezno
takmicenje u programiranju).
5) Da li se OWL iz novijih verzija BORLAND C++ (npr 4.5) moze ko-
ristiti u starijim verzijama?
6) Kako se CLIPPER povezuje sa ostalim programskim jezicima
(konkretno MSC - om i BC++ - om)?
Toliko od mene (za sada)...
... Amputirali su mu ruke uz pesmu "Zagrli me nezno!"
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 523
cccc.315djelovic,
> 5) Da li se OWL iz novijih verzija BORLAND C++ (npr 4.5) moze ko-
> ristiti u starijim verzijama?
Moze, ali sa modifikacijama. OWL 2.0 koristi izuzetke koje BC++ < 4.0 ne
podrzava, pa tu nastaju problemi.
cccc.316postmast,
From: arhimed@lucid.junis.ni.ac.yu (Bogdan Kecman)
Subject: Re: Puno toga
Date: Fri, 16 Jun 1995 08:25:33 GMT
Miodrag Djordjevic (miodrag.djordjevic@rstones.durlan.co.yu) wrote:
: 1) Da li ima neko bug-free funkcije za koriscenje XMS (eventualno
: EMS memorije) u sopstvenim programima?
Imam ja nesto za asembler (i XMS i EMS), visi programski jezici
to uglavnom rade sami (novije verzije)
: 3) Bavi li se neko teorijom programiranja (i resavanjem zadataka)?
: Da li poseduje neke dobre dokumentacije u vidu fajla (cuo sam
: da postoje) o nekim teorijama u programiranju (npr. teorija
: grafova, sortiranja i sl.). Mozda neko ima neku tekstualnu da-
DA samo sto je dokumentacija iskljucivo na papiru.
: 4) A sada jedan mali test: DA LI NEKO ZNA STA JE TO DINAMICKO
: PROGRAMIRANJE? Inace, nema veze sa dinamickim alociranjem
: memorije.(Za izraz sam prvi put cuo pred ovogodisnje savezno
: takmicenje u programiranju).
DA
: 5) Da li se OWL iz novijih verzija BORLAND C++ (npr 4.5) moze ko-
: ristiti u starijim verzijama?
Pojma nemam
: 6) Kako se CLIPPER povezuje sa ostalim programskim jezicima
: (konkretno MSC - om i BC++ - om)?
Sa MSC-om bez problema, sa Borlandovim proizvodima gotovo
nemoguce mada ima ljudi koji su uspevali.
Arhimed.CoRRoSioN.
cccc.317madamovic,
> 3) Bavi li se neko teorijom programiranja (i resavanjem
> zadataka)? Da li poseduje neke dobre dokumentacije u vidu fajla
> (cuo sam da postoje) o nekim teorijama u programiranju (npr.
> teorija grafova, sortiranja i sl.). Mozda neko ima neku
> tekstualnu da- toteku sa interesantnim zadacima (da malo ubijam
> vreme) :) ?
Ovo i mene interesuje. Ako neko ima nešto - nek' kači. PLEASE!
Ima za sada na sezamu PC.PROG.5:13.470 PCGPE.RAR
Preporuka : skidajte i nepitajte.... :) Valja!
cccc.318mmitrovic,
::::: da postoje) o nekim teorijama u programiranju (npr. teorija
::::: grafova, sortiranja i sl.). Mozda neko ima neku tekstualnu da-
Toga sigurno ima, ali još sigurnije u paper formi. Što se tiče
teorija grafova, ne postoje neki specijalni algoritmi, sve zavisi od
pravila kreiranja samog grafa. Neke je lakše uraditi uraditi
rekurzivno, neki su megu uraditi u "jednom prolazu". Za sortiranje sa
druge strane postoji dosta algoritama koji primenljivi na sve situacije.
cccc.319postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: Puno toga
Date: Thu, 22 Jun 1995 03:28:46 GMT
Miodrag Djordjevic (miodrag.djordjevic@rstones.durlan.co.yu) pise:
>> 3) Bavi li se neko teorijom programiranja (i resavanjem zadataka)?
>> Da li poseduje neke dobre dokumentacije u vidu fajla (cuo sam
Ima ko se bavi, ali tesko da ces naci nesto jako dobro u vidu fajla.
Naime, preporucujem ti da nadjes kako znas i umes sledece dve knjige:
- Niklaus Wirth: "Algorithms + Data structures = Programs"
Mislim da je izdavac prve verzije Springer-Werlag (ili tako nesto).
Knjiga pokriva vecinu bitnih algoritama koji se vrte u 95% programa
koje imamo prilike da vidimo. Onih 5% mozda otpada na super egzoticne
stvari kao sto su ray-tracing, DSP, neki AI algoritmi i slicno.
Primeri su davani u Pascalu, a postoji i novije izdanje knjige sa
primerima u Moduli 2.
- Per Brinch Hansen: "Principi operativnih sistema"
Kod nas je prevod izdala Naucna knjiga. Ovo je sjajna stvar, ali
je vrlo precizna i detaljna. Pokriva teorijski sve bitne algoritme
operativnih sistema (punilac, upravljanje memorijom, upravljanje
procesorom, redovi cekanja, medjusobno iskljucenje...). Primeri
su davani u nekoj verziji Concurrent Pascala i mogu se lako adaptirati
za konkretan jezik (ja sam prevodio u TCX - C za Transputere direktno
po Hansenu!).
cccc.320rrad,
Ako neko nesto zna o tome gde bih mogao da kupim
Pro C, zamolio bih ga da mi se javne.
Hvala,
RRadovanovic.
cccc.321postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: Puno toga
Date: Wed, 21 Jun 1995 11:27:01
>> Zdravo, ljudi!
>> Po prvi put pisem nekoj konferenciji pa se nemojte cuditi ako je
>> moja poruka malo neobicna :) Interesuje me par stvari:
>> 1) Da li ima neko bug-free funkcije za koriscenje XMS (eventualno
>> EMS memorije) u sopstvenim programima?
U BC-u imas _OvrInitems i -ovrinitxms , ali ti nemas direktnog pristupa memoriji
sem za swapovanje .
Da li neko zna kako da u real modu pristupim visokoj memoriji (ako je moguce).
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.322postmast,
From: miodrag.djordjevic@sirius.durlan.co.yu (Miodrag Djordjevic)
Subject: Cccc
Date: Thu, 22 Jun 1995 02:06:00 CET
To: All
> 3) Bavi li se neko teorijom programiranja (i resavanjem
> zadataka)? Da li poseduje neke dobre dokumentacije u vidu fajla
> (cuo sam da postoje) o nekim teorijama u programiranju (npr.
> teorija grafova, sortiranja i sl.). Mozda neko ima neku
> tekstualnu da- toteku sa interesantnim zadacima (da malo ubijam
> vreme) :) ?
MA> Ovo i mene interesuje. Ako neko ima nesto - nek' kaci. PLEASE!
MA> Ima za sada na sezamu PC.PROG.5:13.470 PCGPE.RAR
MA> Preporuka : skidajte i nepitajte.... :) Valja!
Zar je to jedini nacin da se dodje do te datoteke? Posto nisam
prijavljeni korisnik Sezama...
Inace, ja sam pisao onu poruku gore.
... Voleo bih da sam tepih, pa da svako jutro ostanem da lezim!!!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Sirius BBS * +381 18 711667 * W.T: 23 - 08
(2:382/105.6) #! rnews 1609
cccc.323jolicm,
Da li neko ima rutine za rad sa COM portovima, čisto ascii slanje i primanje ?
???????????????????????????????????????????????????????????????????????????????
cccc.324spantic,
> From: glisin@fon (Ivan Glisin)
> - Per Brinch Hansen: "Principi operativnih sistema"
> Kod nas je prevod izdala Naucna knjiga. Ovo je sjajna stvar, ali
Kada je kod nas preveden Hansen? I gde ga ima?
cccc.325pedjak,
> - Per Brinch Hansen: "Principi operativnih sistema"
Gde može ovo da se nađe ?
cccc.326pedjak,
> Da li neko ima rutine za rad sa COM portovima, čisto ascii slanje i
> primanje ?
Pogledaj /rsoft/r057com.zip
cccc.327postmast,
From: dejan.jovanovic@sirius.durlan.co.yu (Dejan Jovanovic)
Subject: Re: cccc
Date: Sun, 25 Jun 1995 23:34:00 CET
To: Miljan Mitrovic
-=> Quoting Miljan Mitrovic to All <=-
MM> teorija grafova, ne postoje neki specijalni algoritmi, sve zavisi
MM> od pravila kreiranja samog grafa. Neke je lakse uraditi uraditi
MM> rekurzivno, neki su megu uraditi u "jednom prolazu". Za sortiranje
MM> sa druge strane postoji dosta algoritama koji primenljivi na sve
MM> situacije.
Nije tacno. Postoji gomila algoritama za teoriju grafova. Licno sam bio
na predavanju gde je bilo ispredavano par njih ali nisam bio zainteresovan
za njih pa ih nisam ni upamtio. Ako radis sa gragfovima rekurzivno to ce
ici veoma sporo, zato svi radije idu preko 'simulacije' rekurzije sa
redovima (i toga se bas ne sacam). Pokusacu da se svega toga prisetim
pa cu da vam javim.
DJ.
... Only fools rush in - and get the best seats.
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Sirius BBS * +381 18 711667 * W.T: 23 - 08
(2:382/105.6) #! rnews 1881
cccc.328postmast,
From: miodrag.djordjevic@sirius.durlan.co.yu (Miodrag Djordjevic)
Subject: Re: cccc
Date: Sun, 25 Jun 1995 03:06:00 CET
To: All
MM> teorija grafova, ne postoje neki specijalni algoritmi, sve zavisi
MM> od pravila kreiranja samog grafa. Neke je lakse uraditi uraditi
MM> rekurzivno, neki su megu uraditi u "jednom prolazu".
DJ>
DJ> Nije tacno. Postoji gomila algoritama za teoriju grafova.
DJ> Ako radis sa gragfovima
DJ> rekurzivno to ce ici veoma sporo, zato svi radije idu preko
DJ> 'simulacije' rekurzije sa redovima (i toga se bas ne sacam).
Potpuno si u pravu, mada ni simulacija rekurzije nije nimalo srecno
resenje! Osim u slucajevima kada nisu moguce neke (debele) optimizacije,
simulacija jedva da je nesto brza od same rekurzije (testirano). Na
saveznom takmicenju iz programiranja, bilo je tri zadatka koja su mogla
da se rese grafovima( ili rekurzivno ili nekim od inteligentnijih
algoritama ). Oni koji su isli rekurzivno, ladno su opicili nule, jer
im je program pucao za iole veci broj elemenata grafa. Dakle, rekurzija
samo u krajnjoj nuzdi( tj. kad nista drugo ne pomaze ). Gori algoritam
od eksponencijalnog je stvarno tesko zamisliti :))) .
Pozdrav MDj.
... Svi veliki diktatori imali su peticu iz vladanja!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Sirius BBS * +381 18 711667 * W.T: 23 - 08
(2:382/105.6) #! rnews 835
cccc.329postmast,
From: MILJAN.S..MIROVIC@f133.n103.z38.setnet.setnet.co.yu (MILJAN S. MIROVIC)
Subject: cccc
Date: Wed, 21 Jun 1995 17:16:03
MM> From: "Miljan Mitrovic" <mmitrovic@sezam.UUCP>
MM> Newsgroups: yu.prog.c
MM> Organization: SEZAM Beograd, 011 648-422
Momak, imas jako lepo ime, a skoro isto tako lepo prezime!!!
MSM
| AmiQWK 2.7 | UNREGISTERED EVALUATION COPY - SUPPORT THE SHAREWARE CONCEPT
... THE SPOILS OF WAR: Army food.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
cccc.330postmast,
From: Goran.Turudich@f110.n103.z38.setnet.setnet.co.yu (Goran Turudich)
Subject: Puno toga
Date: Sun, 18 Jun 1995 23:37:02
MD>4) A sada jedan mali test: DA LI NEKO ZNA STA JE TO DINAMICKO
MD> PROGRAMIRANJE? Inace, nema veze sa dinamickim alociranjem
MD> memorije.(Za izraz sam prvi put cuo pred ovogodisnje savezno
MD> takmicenje u programiranju).
Jel' ti to nas malo zzzzz? Ako cemo tako - nema veze ni sa
programiranjem. Jao, sada si me podsetio na operaciona istrazivanja
:((( Moja bolna tacka. BTW, znas li ti sta je linearno
programiranje, nelinearno programiranje, kvadratno programiranje,
separabilno programiranje, "0-1" programiranje, heuristicko
programiranje? Hmm, ima li bilo sta od ovoga veze sa "onim"
programiranjem?
* Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
cccc.331postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Sat, 24 Jun 1995 14:20:11 GMT
Milorad Jolic je napisao:
>> Da li neko ima rutine za rad sa COM portovima, cisto ascii slanje i primanje ?
>> ???????????????????????????????????????????????????????????????????????????????
--
Integer out of range
cccc.332postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Sat, 24 Jun 1995 14:28:28 GMT
Milorad Jolic je napisao:
>> Da li neko ima rutine za rad sa COM portovima, cisto ascii slanje i primanje ?
>> ???????????????????????????????????????????????????????????????????????????????
Ne znam gde nestade moj tekst iz prethodne poruke, pa da ponovim:
Preporucujem biblioteku PCL4C za C. Vrlo je mala (svega 6K, pisana je u
asembleru), i sigurno ima sve sto ti treba. Cini mi se da sam je pokupio sa
FON-a, a ako ne uspes da je nadjes, mailni me.
cccc.333postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: cccc
Date: Sat, 24 Jun 1995 20:17:52 GMT
Srdan Pantic (spantic@sezam.UUCP) pise:
>> Kada je kod nas preveden Hansen? I gde ga ima?
Per Brinch Hansen, California Institute of Technology
Operating Systems Principles
(c)1973, Prentice-Hall
(c)1982, Naucna knjiga, Beograd
cccc.334postmast,
From: kliment andreev@medi.durlan.co.yu (Kliment Andreev)
Subject: Cccc
Date: Sat, 24 Jun 1995 04:29:00 CET
QWK To: All
HELP!!!
Zassto mi ovaj program ne radi? :~((
#include <dos.h>
#include <conio.h>
struct REGPACK preg;
unsigned char bukva[16]={255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255};
unsigned char far *pointer;
main()
{
pointer=&bukva[0];
preg.r_ax=0x1100;
preg.r_bx=0x1000;
preg.r_cx=0x0001;
preg.r_dx=65;
preg.r_es=FP_SEG(pointer);
preg.r_bp=FP_OFF(pointer);
intr(0x10,&preg);
}
Inacce, ovaj program treba da predefinisse slovo A, tako da
izgleda kao kvadraticc. Slovo "A" se predefinisse, ali ne kao
ssto mu pisse u bukva[16], vecc izgleda bezveze.
Ulazni parametri su mu ES i BP, koji pokazuju na segment i ofset
definicije, t.j na polje bukva.
I joss nessto. Probao sam da kompajliram ovaj program i u MSC5.1
ali tamo u headeru dos.h uopsste nije definisan registar bp.
Dali treba "ruccno" da ga definissem.
10x
KAN
--- FMail 1.0g
* Origin: Ć-> Memory Master BBS +389/91-164-877 <-ž (66:102/0) #! rnews 1231
cccc.335sbrk,
Ima li na Sezamu source PKZIP-a za C? Za Pascal sam video da ima ali za C . ne
znam.
cccc.336spantic,
> From: glisin@fon (Ivan Glisin)
> Per Brinch Hansen, California Institute of Technology
> Operating Systems Principles
> (c)1973, Prentice-Hall
> (c)1982, Naucna knjiga, Beograd
Hvala :) Još da mi neko kaže i da ga je video u
prodaji :)
cccc.337jolicm,
>> Preporucujem biblioteku PCL4C za C. Vrlo je mala (svega 6K ...
Molim te pošalji to obavezno i što pre, ili u conf ili na mail.
cccc.338oper,
Evo danas mi je zatrebalo i nisam mogao da verujem! Da li
je moguće da u Borlandovom IDEu (za 4.0) nema stavke
arguments u debug meniju. U stvari nema je nigde :( Ima li
ikakve mogućnosti da se prilikom startovanja iz IDEa
programu proslede komand lajn argumenti? Postoji li to u
4.5?
Kad smo već kod 4.5, da li njegov WinRun omogućava da iz
4Dos prompta otkucam npr bcw app.ide i da se startuje
borland i učita projekat?
Pz Pera...
cccc.339maksa,
>> Evo danas mi je zatrebalo i nisam mogao da verujem! Da li
>> je moguće da u Borlandovom IDEu (za 4.0) nema stavke
>> arguments u debug meniju. U stvari nema je nigde :(
Malo je zavučeno, ali ima:
Options -> Environment -> Debugger, Run Arguments Box.
cccc.340bulaja,
││Preporucujem biblioteku PCL4C za C. Vrlo je mala (svega 6K ...
│└───
│Molim te pošalji to obavezno i što pre, ili u conf ili na mail.
└───
MSDOS - R:\C
----------------------
pcl4c34 zip 71564 PCL4C v3.4 komunikaciona biblioteka za C
cccc.341oper,
>> Malo je zavučeno, ali ima:
>> Options -> Environment -> Debugger, Run Arguments Box.
Hvala. Pokušao sam i radi. Samo mi je malo glupo što su to
(a očigledno je da je ta stavka vezana za projekat) smestili
u Options meni.
A, glede WinRun-a, jel' može da startuje win programe iz
Dos prompta?
Pz Pera...
cccc.343postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: cccc
Date: Tue, 27 Jun 1995 22:58:03 GMT
Dejan Jovanovic (dejan.jovanovic@sirius.durlan.co.yu) pise:
>> za njih pa ih nisam ni upamtio. Ako radis sa gragfovima rekurzivno to ce
>> ici veoma sporo, zato svi radije idu preko 'simulacije' rekurzije sa
A zasto je rekurzija sporija od simulacije rekurzije? Meni uopste nije
jasno sta ti pricas? Kako moze simulacija rekurzije da bude brza od
same rekurzije kada je kompleksnost oba problema jednaka, a kod simulacije
se izvodi sporijim konstrukcijama?
Ja mislim da ti pricas o necemu drugom: razliciti algoritmi za rad sa
grafovima se mogu bazirati na stek-masinama ili push-pop automatima. Na
primer, analiza izraza se radi po grafu (opis konacnog automata) ali
se moze raditi i kao stek-masina. Privi pristup bi bio rekurzivan, a
drugi iterativan perko steka. Masinska kompleksnost drugog nacina je
manja, ali posto se iszovi slozenijim konstrukcijama cena izvrsavanja
je nesto veca, ali ne dovoljno da bude sporiji od rekurzije cija je
masinska slozenost veca. Otuda je drugi pristup malo brzi, a i jede
manje memorije. Prema tome, mislim da se ne radi o simulaciji rekurzije
(taman posla!) nego o stek-masini, a to sa rekurzijom nema nikakve veze!
cccc.344postmast,
From: glisin@fon (Ivan Glisin)
Subject: Re: Puno toga
Date: Tue, 27 Jun 1995 23:07:52 GMT
Miodrag Djordjevic (miodrag.djordjevic@sirius.durlan.co.yu) pise:
>> ni profesori na Filoz. fak. - grupa za matematiku - informatika u Nisu.
>> Te me je cista radoznalost naterala da vidim da li tako nesto uopste
>> postoji!
Da li postoji?
Dr Jovan Petric: "Operaciona istrazivanja"
Naucna Knjiga - Beograd, 1989, ISBN 86-23-20149-3
Poglavlje: Dinamicko programiranje, str. 213-271
Skokni do neke biblioteke i pogledaj.
I reci profesoraima da se ne brukaju! ;-)
cccc.345janko,
> A, glede WinRun-a, jel' može da startuje win programe iz
> Dos prompta?
Može, normalno.
Kada je Auto Detect OFF onda kucaš
WR notepad.exe aa.txt
i radi.
Auto Detect ON ne koristim jer nekada "poludi".
cccc.346postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: cccc
Date: Thu, 29 Jun 1995 15:33:57 GMT
Ognjen Perovic je napisao:
>> A, glede WinRun-a, jel' moze da startuje win programe iz
>> Dos prompta?
Moze, ali moras prvo da mu aktiviras opciju Auto detect.
Sad, zasto ona nije po defaultu aktivirana, zasto on ne zapamti da je
aktivirana pri izlasku iz Windowsa da ne bi morao svaki put rucno da je
aktiviras, i zasto uopste mora da bude aktivirana - nemam pojma.
I BC++ mora da bude propisno instaliran, posto se, pre nego sto se sam
WINRUN startuje, iz SYSTEM.INI startuje drajver WINRUN.386 .
--
Allways look on the bright side of death
cccc.347postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: Cccc
Date: Tue, 27 Jun 1995 11:48:03
>> Zassto mi ovaj program ne radi? :~((
>>#include <dos.h>
>>#include <conio.h>
>>struct REGPACK preg;
>>unsigned char bukva[16]={255,255,255,255,255,255,255,255,255,
>> 255,255,255,255,255,255,255};
>>unsigned char far *pointer;
>>main()
>>{
>> pointer=&bukva[0];
>> preg.r_ax=0x1100;
>> preg.r_bx=0x1000;
>> preg.r_cx=0x0001;
>> preg.r_dx=65;
>> preg.r_es=FP_SEG(pointer);
>> preg.r_bp=FP_OFF(pointer);
>> intr(0x10,&preg);
>>}
Nisam detaljnije pogledao program , ali znam da je mene neko vreme zezalo
to sto bih deklarisao promenjljive izvan main , a ne bih rekao da su static.
Npr.
static unsigned far *pointer;
Sa static ti omogucavas da su promenjljive vidljive za sve f-je.
Medjutim mozda i nije to, pogledacu pa cu ti reci jer sam dosta radio sa
menjanjem fontova (napravio sam moj YU set) preko BIOS-a.
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.348postmast,
From: koja@galeb.etf.bg.ac.yu (Vladimir Maric)
Subject: Re: Statistics
Date: Thu, 29 Jun 1995 21:41:52 GMT
: 2. "Vladimir Maric"......... 38:103/120 1 19 10 52.63%
Ajde da se ne bunim sto mi se ime povlaci po crnim listama ;), ali zasto pod
navodnicima? :) Ispravite to, ako nije tesko...
cccc.349postmast,
From: dejan.jovanovic@sirius.durlan.co.yu (Dejan Jovanovic)
Subject: Re: cccc
Date: Fri, 30 Jun 1995 23:07:00 CET
To: Kliment Andreev
-=> Quoting Kliment Andreev to All <=-
KA> Zassto mi ovaj program ne radi? :~((
KA> #include <dos.h>
KA> #include <conio.h>
KA> struct REGPACK preg;
KA> unsigned char bukva[16]={255,255,255,255,255,255,255,255,255,
KA> 255,255,255,255,255,255,255};
KA> unsigned char far *pointer;
KA> main()
KA> {
KA> pointer=&bukva[0];
KA> preg.r_ax=0x1100;
KA> preg.r_bx=0x1000;
KA> preg.r_cx=0x0001;
KA> preg.r_dx=65;
KA> preg.r_es=FP_SEG(pointer);
KA> preg.r_bp=FP_OFF(pointer);
KA> intr(0x10,&preg);
KA> }
Jam mislim da u paru ES:BX treba da stoji adresa bukve a ne adresa pointera
koji saadrzi adresu bukve. Znaci ti mu u stvari dajes adresu pointera gde
se nalaze neki besmisleni podaci pa ti i 'A' izgleda besmisleno.
Prema tome trablo bi otprilike da stoji ovako:
preg.r_es=FP_SEG(bukva[1]);
preg.r_bp=FP_OFF(bukva[1]);
DJSlo
... There is always one more bug.
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Sirius BBS * +381 18 711667 * W.T: 23 - 08
(2:382/105.6) #! rnews 1513
cccc.350deimos,
Hi,
Mislite da su fontovi uz Borland\Turbo C-a ruzni, nekorisni,
nemogu se menjati, nema ispunjenih fontova ...
Evo resenja za vas.
ART LABS FONT Engine Version 0.01a
Bitmap Fonts For C by Vladimir Stojanovic
Shareware Release, july 1995.
-----------------------------------
Uz poruku se nalazi arhiva u kojoj se nalazi:
1) FontEdit - Program za kreiranje fontova
2) Biblioteka za osnovne operacije sa
fontovima (slicno outtextxy).
3) Kratka i pregledna dokumentacija o koriscenju
funkcija u biblioteci, kao i kratko uputstvo
sa koriscenje fontova u vasim aplikacijama.
Funkcije rade sa svim verzijama Borland\Turbo C-a uz podrsku
bilo kojih .BGI drajvera.
Autor: moja malenkost
Probajte, meni je koristilo... i javite utiske - da li vredi
razvijati ovo dalje ?
Vlada.
alfont4c.arjcccc.351postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: Cccc
Date: Sat, 1 Jul 1995 10:35:16 GMT
Na kraju ispade da je SIMULACIJA REKURZIJE i STEK MASINA jedno te isto?
A posto je stek masina o kakvoj govorimo ITERATIVNO realizovana, ispada
da je SIMULACIJA REKURZIJE zapravo ITERATIVNI ALGORITAM, pa ispada da
se algoritmi vise ne dele na rekurzivne i iterativne, nego na rekurzivne
i simulirane rekurzivne?!?!? Ili sam ja nesto propustio?
cccc.352postmast,
From: arhimed@lucid.junis.ni.ac.yu (Bogdan Kecman)
Subject: Re: Puno toga
Date: Sun, 2 Jul 1995 14:16:14 GMT
Miodrag Djordjevic (miodrag.djordjevic@rstones.durlan.co.yu) wrote:
: prate ovu konferenciju - NAPISI (UKRATKO) STA TI PODRAZUMEVAS POD
: DINAMICKIM PROGRAMIRANJEM(par recenica - bice mi dovoljno da uporedim s
Elem,
da se ja ukljucim. Ono sto ja podrazumevam pod DP-om
bi bilo na primer, napravis u TP6 ili necemu drugom
gomilu objekata, pa ih onda u programu preko pointera
na iste kreiras i unistavas dinamicki (po potrebi)
to je ono sto omogucavaju svi objektno orijentisani
jezici, mada ja najjednostavnije u tp-u i Moduli (2, 3)
cccc.353oper,
>> Kada je Auto Detect OFF onda kucaš
>>
>> WR notepad.exe aa.txt
>>
>> i radi.
>>
>> Auto Detect ON ne koristim jer nekada "poludi".
I meni poludi kad je autodetect on, međutim kad je
autodetect 'deštikliran' javlja se uobičajeno 'This program...'.
Možda je problem što imam 4.02 a ubacio sam samo
winrun.386 i winrun.exe. Ono 'WR', pretpostavljam da se nalazi
negde u bin diru 4.5?
Takođe, ima li neko 3.1 negde na disku i da ge ne mrzi da
zakači onaj Borland TE font ovde?
Pz Pera...
cccc.354nikac,
>■ Takode, ima li neko 3.1 negde na disku i da ge ne mrzi da
>■ zakaci onaj Borland TE font ovde?
One genuine Borland TE font stize...
borte.foncccc.355postmast,
From: dcolak@setnet.co.yu (Damir Colak)
Subject: Statistics
Date: Sat, 01 Jul 1995 18:46:02
VM>: 2. "Vladimir Maric"......... 38:103/120 1 19 10 52.63%
VM>Ajde da se ne bunim sto mi se ime povlaci po crnim listama ;), ali zasto pod
VM>navodnicima? :) Ispravite to, ako nije tesko...
Kada Sezam to ispravi i mi cemo :))) ;>
Hi 2 All Sezmans! :)
Sledge DAMMIR!
* Origin: Sledge HAMMER! BBS 011/163-452 22:00-07:00 (38:103/128)
cccc.356postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Statistics
Date: Sat, 01 Jul 1995 14:20:27
VM> From: koja@galeb.etf.bg.ac.yu (Vladimir Maric)
VM> : 2. "Vladimir Maric"......... 38:103/120 1 19 10 52.63%
VM> Ajde da se ne bunim sto mi se ime povlaci po crnim listama ;), ali
VM> zasto pod navodnicima? :) Ispravite to, ako nije tesko...
Hmm. Ne moze. U svim porukama koje dolaze sa Sezama, imena korisnika
su pod navodnicima. Ostali nemaju navodnike. Evo sad si napisao poruku
sa galeba i u zahradi ti je ime bez navodnika. Kada poruku posaljes
sa sezama, onda je uzagradi ime sa navodnicima. Program koji uzima ime
jednostavno uzme sve sto je u zagradi. :(
... TAG loading error...
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.357postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Cccc
Date: Sun, 02 Jul 1995 01:19:00 CET
QWK To: Miodrag Djordjevic
(Tekst poruke: Miodrag Djordjevic, na temu CCCC)
A sta kazete da lepo predjemo u PC.PROG? Teorija programiranja nije
vezana ni za jedan konkretni programski jezik, a mi raspravljamo u
konferenciji o C-u ;)
3OPAH
... "Laki je malo nervozan. Modem mu je umro, pa ga je to potreslo."
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 1243
cccc.358postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: Puno toga
Date: Sun, 2 Jul 1995 22:04:08 GMT
Ja NIKADA nisam cuo za termin DINAMICKO PROGRAMIRANJE koje se odnosi
ne nesto u vezi sa teorijom racunarskog programiranja. Taj termin se,
koliko ja znam, koristi samo za jednu oblast matematickog programiranja
kao dela operacionih istrazivanja. Evo sta o tome kaze profesor Petric:
"Dinamicko programiranje je posebni matematicki aparat, koji omogucuje
optimalno planiranje viseetapnih procesa upravljanja..."
"Metoda DP se bazira na koriscenju principa optimalnosti i
funkcionalnih jednacina, sto znatno prosiruje mogucnosti resavanja
realnih problema optimizacije. Glavna odlika metoda DP je u veoma
pogodnom koriscenju racunara za dobijanje numerickih resenja."
(Operaciona istrazivanja, strana 213, prvi pasus odozgo, treci pasus
odozgo)
cccc.359postmast,
From: kliment andreev@medi.durlan.co.yu (Kliment Andreev)
Subject: Cccc
Date: Mon, 03 Jul 1995 03:00:00 CET
QWK To: Dejan Jovanovic
DJ> Jam mislim da u paru ES:BX treba da stoji adresa bukve a ne adresa
pointera
> koji saadrzi adresu bukve. Znaci ti mu u stvari dajes adresu pointera gde
> se nalaze neki besmisleni podaci pa ti i 'A' izgleda besmisleno.
> Prema tome trablo bi otprilike da stoji ovako:
> preg.r_es=FP_SEG(bukva[1]);
> preg.r_bp=FP_OFF(bukva[1]);
DJ> DJSlo
Probao sam i to, ali ne radi. Na sreccu problem sam
ressio tako ssto sam direktno pisao u asembleru
usred C-a.
10x
Chombe KAN
___
■ SPEED 1.30 [NR] ■ Yes my son, long ago mail was read 1 packet at a time.
--- FMail/386 1.0g
* Origin: MAKlink: Struga BBS +389 96 74074 * R.Makedonija (66:101/1) #! rnews 1114
cccc.360smarkov,
> Elem,
> da se ja ukljucim. Ono sto ja podrazumevam pod DP-om
> bi bilo na primer, napravis u TP6 ili necemu drugom
> gomilu objekata, pa ih onda u programu preko pointera
Ju, ju. Dinamičko programiranje je termin alociran za sasvim
drugu disciplinu.
cccc.361postmast,
From: miodrag.djordjevic@rstones.durlan.co.yu (Miodrag Djordjevic)
Subject: Puno toga
Date: Tue, 04 Jul 1995 01:28:00 CET
QWK To: Bogdan Kecman
BK> Elem,
BK> da se ja ukljucim. Ono sto ja podrazumevam pod DP-om
BK> bi bilo na primer, napravis u TP6 ili necemu drugom
BK> gomilu objekata, pa ih onda u programu preko pointera
BK> na iste kreiras i unistavas dinamicki (po potrebi)
BK> to je ono sto omogucavaju svi objektno orijentisani
BK> jezici, mada ja najjednostavnije u tp-u i Moduli (2, 3)
Zato sam ja i postavio to pitanje! Svakom ko se bavi programiranjem
prvo padne na pamet dinamicko baratanje memorijom. Ali, to nije to!
Ovo je (tako Brankov Vlada kaze) teorija koja nema nikakav specijalan
algoritam, vec je u pitanju samo princip (nesto u fazonu - imas 100
puteva, i kako ces naci najkraci put izmedju dva grada? Tako sto ces
naci najkrace puteve izmedju svih gradova (to je taj dinamicki princip),
i na osnovu toga naci i trazeni najkraci put. Cak sam i napisao nesto
takvog SOURCE - a, radeci zadatke iz programiranja, pa sam se cisto
zainteresovao kakva su iskustva drugih u vezi sa DP! Ni na kraj pameti
mi nije bilo nekog da uvredim. I ne znam zasto se M. Glisin nasao
pogodjen mojim pitanjem. A postavio sam ga, kazem, iskljucivo zato
sto niko od ljudi koje sam pitao sta je u stvari DP, nije znao da mi
odgovori.
No, shvatio sam da se ovde malo ljudi bavi resavanjem zadataka i
slicnih glavolomki. No, ako ikog zanima, mogu da posaljem jedan zadatak
sa saveznog i njegovo dinamicko resenje...
... Long Live RADOVAN III !!!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 360
cccc.362postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: cccc
Date: Wed, 5 Jul 1995 20:31:14 GMT
Stevan Markovic (smarkov@sezam.UUCP) pise:
>> Ju, ju. Dinamicko programiranje je termin alociran za sasvim
>> drugu disciplinu.
Eh... ja to tvrdih do pre nekoliko sati, a onda sasvim slucajno
citajuci knjigu "Machinery of the Mind" (George Johnson) nadjoh
za softver zvani "Harpy" koji je trebalo da razume govorni engleski
(projekat radjen pocetnok 70-tih pod patronatom DARPA, dela DoD)
sledece (str.138):
"It was impossible, given the huge space required, to hold Harpy's
entire pronunciation network in memory all at the same time. So Reddy
had to devise a way - using a technique called DYNAMIC PROGRAMMING -
to grow only the parts that were needed to translate a particular
sentence. Each time it was given an utterance to understand, Harpy
sprouted only the branches of the network necessary for the task at
hand, pruning off extensions that were irrelevant."
Eto, ispada da je Windows DLL tehnika, ili algoritmi za podrsku
virtuelnoj memoriji i slicno, prakticno klasa algoritama iz
pomenutog "dinamickog programiranja"??? Sudeci prema opisu rada
Harpy-ja, ispada da je tako nekako?
cccc.363postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: Puno toga
Date: Wed, 5 Jul 1995 20:39:56 GMT
Miodrag Djordjevic (miodrag.djordjevic@rstones.durlan.co.yu) pise:
>> mi nije bilo nekog da uvredim. I ne znam zasto se M. Glisin nasao
>> pogodjen mojim pitanjem. A postavio sam ga, kazem, iskljucivo zato
Ma kakvi pogodjen, zar je tako zvucalo? Nikako, nismo se razumeli.
bilo mi je samo cudno da niko od profesora nije cuo za taj termin jer
je pre svega vezan za matematicko modeliranje. Medjutim, sada nadjoh
da i u programiranju postoji takav pojam, sto prvi put srecem za
poslednjih 12 godina bavljenja programiranjem. Vise o tome u susednoj
temi, tamo zam izvukao i citat iz knjige gde sam to nasao.
A da sam pogodjen pitanjem, ni slucajno! :-))) Sve je u najboljem redu!
:-)))
cccc.364postmast,
From: vujke@fon (Amit Vujic)
Subject: Problem
Date: Thu, 6 Jul 1995 05:11:28 GMT
Mali Perica je vredno programirajuci naleteo na problem sledece vrste:
Pokusavajuci da izlinkujem program napisan u C++ (ver 1.0) koji
koristi neke funkcije iz izvesne biblioteke koja je inace "goli C" sa pome
nutom bibliotekom nailazim na cudnovate poruke linkera kao npr:
missing definition for module <ime bibliotecne funkcije >
in module <ime pozivajuceg programa> ili nesto slicno tome.
Ko ima ideju o resenju neka se javi sto pre.
Inace, koristim Borlandov kompajler a cini mi se da je i autor
pomenute biblioteke koristio kompajler pomenute firme.
Unapred zahvalan.
--
-------------------------------------------------------
vujke@fon.fon.bg.ac.yuy
[Posle je Homer napravio cudo od nase zavitlancije ]
cccc.365iznogud,
:: Pokusavajuci da izlinkujem program napisan u C++ (ver 1.0) koji
:: koristi neke funkcije iz izvesne biblioteke koja je inace "goli C" sa
:: pome nutom bibliotekom nailazim na cudnovate poruke linkera kao npr:
::
:: missing definition for module <ime bibliotecne funkcije >
:: in module <ime pozivajuceg programa> ili nesto slicno tome.
Mo]da pomogne ako u zaglavlju te biblioteke sve deklaracije
funkcija okružiš sa 'extern "C" { ... (celo zaglavlje)... }'?
cccc.366jkpbvk,
Sta predstavlja znak & u sledecem primeru ?
int p;
p=10 & 12;
printf("%d",p);
Kao rezultat se dobija 8, ako se gore umesto 12 stavi 14, kao rezultat ce
se dobiti 10 a ako se umesto 12 stavi 16 dobice se 0 ??
U cemu je fora ?
cccc.368deimos,
RE: Znak &
----------
Znak & u datom primeru (a i inace) predstavlja logicku operaciju
'AND' tj. 'i'.
Za nju vazi sledece:
0 i 0 = 0
1 i 0 = 0
0 i 1 = 0
1 i 1 = 1
E sad ako tvoj primer pretvoris u binarni zapis dobijes sledece:
0 0 0 0 1 0 1 0 - 10
i i i i i i i i
0 0 0 0 1 1 0 0 - 12
= = = = = = = =
0 0 0 0 1 0 0 0 - 8
Jednostavno ?
Pzdrav, Vlada.
cccc.369mkaralic,
Zdravo ljudi,
Da li je neko imao iskustva sa raznim C++ prevodiocima za Windows? Tu me, pre
svega, interesuju Borland i Microsoft (ako postoji još neki dobar, može i on).
Interesuju me sledeće stvari:
Da li je neko radio sa Borlandovim prevodiocima verzije 4.0, 4.02 i 4.5? Zanima
me kakve su razlike u funkcionalnosti i zahtevu za računarskim resursima. Voleo
bih da se javi neko ko je radio sa par verzija, pa je mogao da primeti razliku.
Da li je neko koristio i Borland C++ i MSVC? Ako postoji neko ko je imao
prilike da radi sa oba, bilo bi lepo da napiše neko poređenje.
Mislim da će onaj ko bude odgovorio na ova pitanja, pomoći mnogim ljudima koji
se odlučuju za kompajler. Bilo bi zgodno da se napiše i nešto o radu na raznim
mašinama (možda i na 4MB, koliko ja imam :().
Pišite, učinićete dobro delo! Ja mogu da napišem nešto o tome kako Borland C++
4.0 radi na 386SX/40, 4MB.
Pozdrav // Mik !!!
cccc.370evlad,
<> p=10 & 12;
<>
<> printf("%d",p);
<>
<> Kao rezultat se dobija 8, ako se gore umesto 12 stavi 14, kao rezultat
<> ce se dobiti 10 a ako se umesto 12 stavi 16 dobice se 0 ??
<> U cemu je fora ?
00001010 == 10 00001010 == 10 00001010 == 10
00001100 == 12 00001110 == 14 00010000 == 16
--------- AND --------- AND --------- AND
00001000 == 8 00001010 == 10 00000000 == 0
Da li je sad jasno ili treba da crtam ;>
cccc.371zormi,
* Da li je neko koristio i Borland C++ i MSVC? Ako postoji neko ko je imao
* prilike da radi sa oba, bilo bi lepo da napiše neko poređenje.
Ukratko, Borland znatno brže prevodi, MSVC ima bolji help, primere
i uputstva. Borland ima striktnije implementirane standarde (ANSI C++
2.0, exception handling...), MS ima bolju prateću biblioteku funkcija
(MFC - Microsoft Foundation Classes). Oba zauzmu po 50-70 MB na disku
(BC 4.5 vs. MS VC 1.5), tako da je bolje imati help i primere na CD-u.
U principu, stvar je ukusa. Ja preferiram Borlanda mada priznajem da
je MS trenutno odmakao.
cccc.372iznogud,
:: Da li je neko radio sa Borlandovim prevodiocima verzije 4.0, 4.02 i 4.5?
:: Zanima me kakve su razlike u funkcionalnosti i zahtevu za računarskim
:: resursima. Voleo bih da se javi neko ko je radio sa par verzija, pa je
:: mogao da primeti razliku.
U principu radi se o (skoro) istom proizvodu. 4.02 je bug-fix 4.0,
a 4.5 je ispeglani BC++ 4.02 + podrška za OLE 2.0
:: Da li je neko koristio i Borland C++ i MSVC? Ako postoji neko ko je imao
:: prilike da radi sa oba, bilo bi lepo da napiše neko poređenje.
Raditi paralelno sa oba kompajlera jednostavno nema smisla, pošto je
jedini razlog za korišćenje ovih aždaja rad sa njhovim framework-ima
(OWL, MFC). Potrebno je dosta vremena da bi se ovladalo jednim od
njih, i teško da čovek posle tog napora ima volje da ispočetka uči da
radi u drugoj biblioteci, koja mu nudi to isto što je učio do tad,
samo drugačije rečeno.
Što se brzine i memorije tiče, sve ispod 8MB rama je smešno.
Po nekom mom utisku BC++ 4.X i MSVC 1.5 su na 8MB otprilike jednaki po
brzini, čak je možda malo brži MSVC.
Borland je, naravno, ispred MicroSofta po podršci jeziku, pošto nudi
punu implementaciju ANSI C++ (izuzeci, RTTI), dakle sve ono što MSVC
ima tek od verzije 2.0 (zahtevi: WinNT (Win 95?), 16-24MB RAMa, samo
32-bit kompajler etc. Zlobnici bi rekli da ko ima para da kupi mašinu
za MSVC 2.0 sigurno ne živi od programiranja).
Mali savet: ne zaleći se na ove aždaje ako nisi tvrdo rešio da naučiš
da programiraš u OWL/MFC. Ako ne poznaješ C++ ili naprosto nemaš
vremena, ostani na recimo BC++ 3.1 koji će sasvim pristojno raditi i
sa 4MB RAM-a.
cccc.373vitez.koja,
#=> From: broker@setnet.co.yu (Predrag Supurovic)
#=> Subject: Statistics
#=> Date: Sat, 01 Jul 1995 14:20:27
#=> Hmm. Ne moze. U svim porukama koje dolaze sa Sezama,
#=> sa sezama, onda je uzagradi ime sa navodnicima. Program
#=> koji uzima ime jednostavno uzme sve sto je u zagradi. :(
Pa na to sam i mislio... je'l taj program pisan ovde, ili možda
nije...?
U svakom slučaju, nije ni važno.
cccc.374jkpbvk,
Hvala na prethodnim odgovorima, jos samo jedno pitanjce..
Koja je zamena za >> u pascalu ( da li je uopste ima ? )
Primer:
unsigned char pal[768];
int t;
for (t = 0; t < 768; t++)
pal[t] = pal[t] >> 2 ;
Kako ovo uraditi u pascalu ? (naravno, problem je samo u >> :)
cccc.375dejanr,
>> pal[t] = pal[t] >> 2 ;
>> Kako ovo uraditi u pascalu ? (naravno, problem je samo u >> :)
Funkcija je shr, znači pal[t] shr 2 ili nešto slično tome.
cccc.376jkpbvk,
+| Funkcija je shr, znaci pal[t] shr 2 ili nesto slicno tome.
Da, provalio sam u medjuvremenu sa div / 4 .
cccc.377postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Puno toga
Date: Sat, 08 Jul 1995 23:35:00 CET
QWK To: Bogdan Kecman
(Tekst poruke: Bogdan Kecman, na temu PUNO TOGA)
BK> Elem,
BK> da se ja ukljucim. Ono sto ja podrazumevam pod DP-om
BK> bi bilo na primer, napravis u TP6 ili necemu drugom
BK> gomilu objekata, pa ih onda u programu preko pointera
BK> na iste kreiras i unistavas dinamicki (po potrebi)
BK> to je ono sto omogucavaju svi objektno orijentisani
BK> jezici, mada ja najjednostavnije u tp-u i Moduli (2, 3)
Jes' ali nema veze sa teorijom programiranja ;) To je "automatsko
skupljanje djubreta", jos jedno pravilo iz grupe pravila koje cine
programski jezik objektnim, a kojeg se nijedan pseudoobjektni i napumpani
jezik ne pridrzava. C++ to (koliko znam) nema ni u specifikaciji, a TP od
kako je dobio objekte pa do "sedmice" nema ni najave da ovako nesto ukljuci
u kod (ma ionako mu objekti stoje "k'o piletu s..."). Dinamicko
programiranje je valjda nesto strahovito povezano sa ljudima koji prodaju
razne artikle po raznim mestima, ali bi da ustede gorivo na ovoj skupoci...
Dakle[m], ima veze sa onim O(n) i visokoumnim recima "polinomialno" i
"eksponencijalno" (vise sa ovom drugom ;) ) Zato bi bilo dobro da neko
preporuci koju dobru knjigu o ovoj oblasti, da mi provincijalci ne bi
osecali zavist prema ucenicima Beogradskih visokih skola koji su u
mogucnosti da budu intenzivno pripremani od strane dobrih profesora pred
svako takmicenje iz IMMVVKM (Informatike, Mada Malo Vise Vuce Ka
Matematici).
3OPAH
P.S. Po nekim, ocigledno lose obavestenim, izvorima, ti bi trebalo da budes
u ISP od 1. do 11. jula. Kako ovo ocigledno nije istina, javi kada si tamo!
... "Pazi! Besan modem!"
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 627
cccc.378postmast,
From: Goran.Turudich@f110.n103.z38.setnet.setnet.co.yu (Goran Turudich)
Subject: Cccc
Date: Fri, 07 Jul 1995 19:49:02
MD> Ovde je ukratko navedeno sve sto sam bio ranije rekao. SIMULACIJA
MD> REKURZIJE jeste iterativni algoritam, a kako si ti na osnovu toga zakljucio
MD> da se algoritmi vise ne dele na rekurzivne i iterativne, ja stvarno nemam
MD> pojma!!! Simulacija rekurzije je samo jedno iterativno resenje rekurzije,
MD> a nisu iterativni algoritmi oblici simulacije rekurzije. Maslim da sam
MD> sada bio dovoljno jasan!
E, sada meni nesto nije jasno. Po tebi je to sto nazivas
"simulacija rekurzije" u stvari resenje resenja. Slazem se da sve
sto se moze resiti rekurzijom moze i iteracijom, ali to ne znaci da
je iteracija simulacija rekurzije. Onda bi mogli da posmatramo
problem i sa druge strane. Ako ja iteraciju smatram primarnim
nacinom za resavanje problema, da li je rekurzija onda "SIMULACIJA
ITERACIJE"?
Lepo si citirao Hansena, ali ja nisam u njegovom tekstu video da
covek igde pominje pojam "simulacija rekurzije". Pricalo se samo o
rekurzivnom i iterativnom nacinu resavanja problema. BTW, ako
racunam faktorijel iterativnim algoritmom, jesam li i tada simulirao
rekurziju?
* Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
cccc.379postmast,
From: Goran.Turudich@f110.n103.z38.setnet.setnet.co.yu (Goran Turudich)
Subject: Puno toga
Date: Fri, 07 Jul 1995 20:09:04
Bogdan Kecman kaze:
BK> Ono sto ja podrazumevam pod DP-om
BK> bi bilo na primer, napravis u TP6 ili necemu drugom
BK> gomilu objekata, pa ih onda u programu preko pointera
BK> na iste kreiras i unistavas dinamicki (po potrebi)
:))) Izgleda da ovde svi sebi daju pravo da izmisljaju nove
termine za stara znacenja i nova znacenja za stare termine. OK,
nemam ja nista protiv toga, ali onda ocekujte potpuni haos. Sada
bih i ja mogao da kazem: "ono sto ja smatram pod linearnim
programiranjem je kada pises program u C-u sve u jednoj liniji".
Gde nas to vodi?
Miodrag Djordjevic kaze:
MD> Zato sam ja i postavio to pitanje! Svakom ko se bavi programiranjem
MD> prvo padne na pamet dinamicko baratanje memorijom. Ali, to nije to!
Tacno! I, daleko je od toga i bilo cega sto ima direktno veze sa
racunarom. Za DP ti racunar uopste nije potreban, sve mozes da
uradis olovkom i papirom.
MD> Ovo je (tako Brankov Vlada kaze) teorija koja nema nikakav specijalan
MD> algoritam, vec je u pitanju samo princip...
To vec nije tacno. Postoje algoritmi za resavanje problema DP-a.
BTW, postoje cak i uopsteni programi koji resavaju bilo koji problem
dinamickog programiranja. Ako hoces, dacu ti par programa iz te
oblasti koje su asistenti sa naseg fax-a uradili. Nisu neki ;))),
ali tek da vidis o cemu je rec. Primer koji si dao (trazenje
najkraceg puta u mrezi) je klasican problem DP-a. I da rezimiramo -
dinamicko programiranje je matematicki, a ne racunarski pojam.
* Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
cccc.380postmast,
From: kliment andreev@medi.durlan.co.yu (Kliment Andreev)
Subject: Puno toga
Date: Sat, 08 Jul 1995 03:03:00 CET
QWK To: Miodrag Djordjevic
MD> Zato sam ja i postavio to pitanje! Svakom ko se bavi programiranjem
MD> prvo padne na pamet dinamicko baratanje memorijom. Ali, to nije to!
MD> Ovo je (tako Brankov Vlada kaze) teorija koja nema nikakav specijalan
MD> algoritam, vec je u pitanju samo princip (nesto u fazonu - imas 100
MD> puteva, i kako ces naci najkraci put izmedju dva grada? Tako sto ces
U srednjoj sskoli uccili smo predmet koji se bavi ovakvim
zadacima. Predmet se zvao linearno programiranje.
Inacce taj predmet nema veze sa programiranjem.
Dali to znacci da je DP==LP?
MD> naci najkrace puteve izmedju svih gradova (to je taj dinamicki princip),
MD> i na osnovu toga naci i trazeni najkraci put. Cak sam i napisao nesto
MD> takvog SOURCE - a, radeci zadatke iz programiranja, pa sam se cisto
MD> zainteresovao kakva su iskustva drugih u vezi sa DP! Ni na kraj pameti
___
■ OLX 2.1 TD ■ Life is piece od shit, when you look at it!
--- FMail/386 1.0g
* Origin: MAKlink: Struga BBS +389 96 74074 * R.Makedonija (66:101/1) #! rnews 1763
cccc.381postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: Dinamicko programiranje
Date: Wed, 05 Jul 1995 01:47:00
BK> Miodrag Djordjevic (miodrag.djordjevic@rstones.durlan.co.yu) wrote:
BK> : prate ovu konferenciju - NAPISI (UKRATKO) STA TI PODRAZUMEVAS POD
BK> : DINAMICKIM PROGRAMIRANJEM(par recenica - bice mi dovoljno da
BK> uporedim s
BK> Elem,
BK> da se ja ukljucim. Ono sto ja podrazumevam pod DP-om
BK> bi bilo na primer, napravis u TP6 ili necemu drugom
BK> gomilu objekata, pa ih onda u programu preko pointera
BK> na iste kreiras i unistavas dinamicki (po potrebi)
To sto si ti naveo _nije_ ono sto se po knjigama naziva dinamicko
programiranje. Dinamicko programiranje se sastoji iz koriscenja vec
izraunatih vrednosti ponovo u toku izvrsavanja algoritma i na taj
nacin smanjivanja broja izracunavanja u radu programa. Recimo, ako
treba da se 'proseta' kroz neko binarno drvo i obave neka
izracunavanja, kada god naidjemo na granu koju smo vec obradjivali,
iskoristimo ranije dobijeni rezultat i time stedimo vreme potrebno
za ponovno izracunavanje.
Pozdrav
Amir
* Origin: Atlantis BBS Ł Belgrade Ł Serbia Ł 22:00 - 07:30 (38:103/115)
cccc.382madamovic,
> No, shvatio sam da se ovde malo ljudi bavi resavanjem zadataka
> i slicnih glavolomki. No, ako ikog zanima, mogu da posaljem
> jedan zadatak sa saveznog i njegovo dinamicko resenje...
Zanima, naravno... Ima ovde i drugih takmičara :)
I mislim da nisam jedini...
cccc.383postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: cccc
Date: Mon, 10 Jul 1995 15:48:06 GMT
Milivoje Ognjanovic (jkpbvk@sezam.UUCP) pise:
>> Da, provalio sam u medjuvremenu sa div / 4 .
Da, sva siftovanja levo su mnozenja sa 2, 4, 8... a u desno
su deljenja sa 2, 4, 8... to jest sa 2^n gde je n broj bitova
za koje zelimo pomeriti sadrzaj. Tako, tvoje resenje je dobro.
Naravno, sve ovo se odnosi na celobrojnu aritmetiku, a nikako
na float(real) zbog organizacije. Napokon, kome je trebalo
da siftuje float??? :-)))
cccc.384postmast,
From: miodrag.djordjevic@rstones.durlan.co.yu (Miodrag Djordjevic)
Subject: Cccc
Date: Mon, 10 Jul 1995 03:03:00 CET
QWK To: Goran Turudich
GT> E, sada meni nesto nije jasno. Po tebi je to sto nazivas
GT> "simulacija rekurzije" u stvari resenje resenja. Slazem se da sve
GT> sto se moze resiti rekurzijom moze i iteracijom, ali to ne znaci da
GT> je iteracija simulacija rekurzije. Onda bi mogli da posmatramo
GT> problem i sa druge strane. Ako ja iteraciju smatram primarnim
GT> nacinom za resavanje problema, da li je rekurzija onda "SIMULACIJA
GT> ITERACIJE"?
GT> Lepo si citirao Hansena, ali ja nisam u njegovom tekstu video da
GT> covek igde pominje pojam "simulacija rekurzije". Pricalo se samo o
GT> rekurzivnom i iterativnom nacinu resavanja problema. BTW, ako
GT> racunam faktorijel iterativnim algoritmom, jesam li i tada simulirao
GT> rekurziju?
Interesantna logika, nema sta :))) . Nego, moje citiranje nije bas
najsrecnije izvedeno, ne kazem... Evo o cemu se radi: Problem poput
faktorijela (klasican problem za demonstraciju iterativnog i rekurzivnog
resenja problema) moze biti resen na dva vec pomenuta nacina - dakle,
rekurzijom i iteracijom. Medjutim, taj isti problem moze biti resen i
jos jednim iterativnim algoritmom - simulacijom rekurzije. U pitanju
je iterativni algoritam, ponavljam po stoti put. A iz moje price nikako
nisi mogao da zakljucis da je rekurzija simulacija iteracije. Uostalom,
najbolje je da bacim parce koda za neki konkretan primer, pa ces uociti
razliku izmedju dva iterativna resenja - simulacije rekurzije i nekog
drugog iterativnog resenja. Ocekuj SOURCE za FAKTORIJEL, resen rekurzivno,
iterativno (ovo do sada znas i sam) i simulacijom rekurzije (takodje
iterativnim algoritmom). Do tada
Pozdrav. MDj.
... Najvise bode oci kasicica u solji za caj!!!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 1900
cccc.385postmast,
From: arhimed@lucid.junis.ni.ac.yu (Bogdan Kecman)
Subject: Re: Puno toga
Date: Tue, 11 Jul 1995 12:09:00 GMT
Zoran Rilak (zoran.rilak@rstones.durlan.co.yu) wrote:
: QWK To: Bogdan Kecman
: Jes' ali nema veze sa teorijom programiranja ;) To je "automatsko
: skupljanje djubreta", jos jedno pravilo iz grupe pravila koje cine
Ma reko sam ja meni to lici na to (po imenu), a citno sam posle toga
one knjiske sto ih je Glisin pomenuo pa sad znam sta je to tacno :)))
: programski jezik objektnim, a kojeg se nijedan pseudoobjektni i napumpani
: jezik ne pridrzava. C++ to (koliko znam) nema ni u specifikaciji, a TP od
: kako je dobio objekte pa do "sedmice" nema ni najave da ovako nesto ukljuci
: u kod (ma ionako mu objekti stoje "k'o piletu s..."). Dinamicko
VIVA MODULA 2 (M3 mi se ne svidja)
: programiranje je valjda nesto strahovito povezano sa ljudima koji prodaju
: razne artikle po raznim mestima, ali bi da ustede gorivo na ovoj skupoci...
: Dakle[m], ima veze sa onim O(n) i visokoumnim recima "polinomialno" i
: "eksponencijalno" (vise sa ovom drugom ;) ) Zato bi bilo dobro da neko
: preporuci koju dobru knjigu o ovoj oblasti, da mi provincijalci ne bi
: osecali zavist prema ucenicima Beogradskih visokih skola koji su u
: mogucnosti da budu intenzivno pripremani od strane dobrih profesora pred
: svako takmicenje iz IMMVVKM (Informatike, Mada Malo Vise Vuce Ka
: Matematici).
Uvek sam mrzeo takve zadatke (uglavnom ih je pisao Kratica)
: P.S. Po nekim, ocigledno lose obavestenim, izvorima, ti bi trebalo da budes
: u ISP od 1. do 11. jula. Kako ovo ocigledno nije istina, javi kada si tamo!
21. jula, znas u junu i julu je ispitni rok i u to
vreme je jako tesko otici tamo. U stvari jako je lako samo onda
zaboravi na FAX i ...
Arhimed.CoRRoSioN.
cccc.386postmast,
From: arhimed@lucid.junis.ni.ac.yu (Bogdan Kecman)
Subject: Re: Dinamicko programiranje
Date: Tue, 11 Jul 1995 12:10:58 GMT
Amir Zolic (Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu) wrote:
: To sto si ti naveo _nije_ ono sto se po knjigama naziva dinamicko
: programiranje. Dinamicko programiranje se sastoji iz koriscenja vec
ZNAM ZNAM, procitao sam pomenute knjige. Pitanje je bilo sta
ja u tom trenutku podrazumevam... a ja sam to u tom trenutku
podrazumevao, u stvari licilo mi je na to...
Bogi.
cccc.387postmast,
From: vujke@fon (Amit Vujic)
Subject: Re: Puno toga
Date: Tue, 11 Jul 1995 14:22:47 GMT
Kliment Andreev (klimentandreev@medi.durlan.co.yu) wrote:
: QWK To: Miodrag Djordjevic
: U srednjoj sskoli uccili smo predmet koji se bavi ovakvim
: zadacima. Predmet se zvao linearno programiranje.
: Inacce taj predmet nema veze sa programiranjem.
: Dali to znacci da je DP==LP?
Ne znaci, LP je kao i DP jedna od oblasti necega sto se zove
Operaciona istrazivanja. I lepo bi bilo da svako ko seinteresuje za neku
od tih oblasti nabavi knjigu Jovana Petrica "Operaciona istrazivanja".
U ostalom na tu knjigu je pre izvesnog vremena sve zainteresovane uputio
i Ivan Glisin, pa se ja sada ponavljam ali nema veze. Dosadiste vise i Bogu
i ljudima sa tim DP. Nego zainteresovani, KNJIGU U SAKE!!!
Pozdrav.
--
-------------------------------------------------------
vujke@fon.fon.bg.ac.yuy
[Posle je Homer napravio cudo od nase zavitlancije ]
cccc.388postmast,
From: vujke@fon (Amit Vujic)
Subject: Re: cccc
Date: Tue, 11 Jul 1995 14:31:00 GMT
Milivoje Ognjanovic (jkpbvk@sezam.UUCP) wrote:
: Sta predstavlja znak & u sledecem primeru ?
: int p;
: p=10 & 12;
: printf("%d",p);
: Kao rezultat se dobija 8, ako se gore umesto 12 stavi 14, kao rezultat ce
: se dobiti 10 a ako se umesto 12 stavi 16 dobice se 0 ??
: U cemu je fora ?
--
& je tzv. bit operator a on funkcionise na sledeci nacin:
p= 10&12;
10) 01010
&
12) 01100
p 01000 =(8)
Analogno za 10 & 16 dobija se 00000 =(0)
-------------------------------------------------------
vujke@fon.fon.bg.ac.yuy
[Posle je Homer napravio cudo od nase zavitlancije ]
cccc.389driks,
Nije bas pitanje za ovu conf., ali ovo radim u C-u, pa cu ovde:
Pravim neko programce u C-u za printere, pa mi bas nesto nije jasno
postojanje dva signala: BUSY i ACK.
ako je ACK=0 printer je spreman za prijem novog karaktera, dok za
BUSY=0 printer ne moze trenutno da primi vise podataka(Prog. Tech.
DOS Ref. 3.1), dok u uputstvu za STAR LC10 pise da je
BUSY=0 kada je printer spreman da primi podatke. Kako
sad pa ovo??????
Zar ne bi bio dovoljan samo jedan od ovih signala(busy ili ack) da se
sazna da li je printer spreman ili nije??
dragan
cccc.390bulaja,
**** new file ****
MSDOS - R:\C
----------------------
ppl4c10 zip 85776 PPL4C v1.0: biblioteka komunikac. protokola za C/C++
pcl4c43 zip 70657 PCL4C v4.3: komunikaciona biblioteka za C/C++
2 file(s) 153 kb
PERSONAL COMMUNICATIONS LIBRARY FOR C/C++
(PCL4C43.ZIP), March 95, Ver 4.3, <ASP>.
Async comm library supporting COM1-COM20
to 115,200 baud, 4+ ports concurrently, all
memory models, many dumb multiport boards,
16550 UART, interrupt driven, RTS/CTS flow
control, any UART address using IRQ2 thru
IRQ15. Supports Turbo C/C++, Borland C/C++
MIX Power C, and Microsoft C/C++. By
MarshallSoft Computing, Inc. $65.
PERSONAL PROTOCOL LIBRARY FOR C/C++
(PPL4C10.ZIP), Feb 95, Ver 1.0, <ASP>.
PPL4C is a protocol library supporting
ASCII, XMODEM, XMODEM-CRC, XMODEM-1K, YMODEM,
YMODEM-G, and ZMODEM protocols. Will support
Turbo C, Borland C, MIX Power C, Microsoft C.
Requires the Personal Communications Library
for C/C++ (PCL4C). By MarshallSoft Computing,
Inc. $40.
cccc.391postmast,
From: vojam@setnet.co.yu (Vojislav Mihailovic)
Subject: cccc
Date: Mon, 10 Jul 1995 12:57:01
"O> Sta predstavlja znak & u sledecem primeru ?
"O> int p;
"O> p=10 & 12;
"O> printf("%d",p);
"O> Kao rezultat se dobija 8, ako se gore umesto 12 stavi 14,
"O> kao rezultat ce
"O> se dobiti 10 a ako se umesto 12 stavi 16 dobice se 0 ??
"O> U cemu je fora ?
Operacija 'logicko i' u C jeziku vrsi se bit po bit. Ako pretvoris oba broja
10 i 12 u binarni oblik i nad svakim parom bitova izvrsis & operaciju dobices
tacno 1000 (binarno) sto je 8 dekadno.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
cccc.392postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: file
Date: Mon, 10 Jul 1995 01:36:03
Hi,
jedno pitanja u vezi fajlova.
Kako mogu da dobijem listu faljova u direktorijumu ?
Da se mnogi ne zalete , nezelim da idem preko FCB-a pa sa findfirst(),
findnext() , vec sa file hendlovima definisanim sa
strukturom FILE (ako se nevaram da je struktura).
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.393postmast,
From: Vasil.Bacovski@f108.n108.z38.setnet.setnet.co.yu (Vasil Bacovski)
Subject: Faster _fmemcpy()
Date: Wed, 12 Jul 1995 01:23:16
* Originally By: Greg Spears
* Originally To: All
* Originally Re: Faster _fmemcpy()
* Original Area: U_Assembly Language Programming
* Forwarded by : Blue Wave v2.12
Developed a fast _fmemcpy() this week - thought I'd share with y'all:
....improvements welcome ....
;===========================================================================
; FUNC: _fMemCpy
; NAME: FMCPY.ASM
; Author: G. Spears - Given to Public Domain 08JUL95
; (Don't be a wombat - if you use my code, credit me<g>)
;
; DESC: C - callable, Assembly language function
; Copies the contents of a block to another location by DWORDs
; Coded for speed - for 386 processors or better, ONLY!
; Returns a far * to dest block.
;
; ASSEMBLE: MASM(or TASM) fmcpy /D__LARGE__ /D__CDECL__ /e/ml ,fmcpy
; ^^^^^^^^^^^
; (* if you want __LARGE__ model)
;
; TESTED: TASM vers 2.5 & MASM 6.0 with Turbo C fer DOS, vers 3.0
; Tested LARGE & SMALL models only. (Should work all mem models)
; -Use at your own risk!
;C prototype:
;void far * far cdecl _fMemCpy(void far *dest,void far *src,unsigned int num);
;----------------------------------------------------------------------------
.286p
FMCPY_TEXT segment byte public 'CODE'
assume cs:FMCPY_TEXT
__fMemCpy proc far
push bp
mov bp,sp
push si
push di
.386p
push ds
lds si, DWORD PTR [bp+10] ; *src in DS:SI --- setup MOVSx
les di, DWORD PTR [bp+6] ; *dest in ES:DI --- setup MOVSx
xor bx,bx
cld
mov cx, [bp+14] ;num(bytes) in CX --- setup MOVSx
shr cx, 1 ;halve CX for num WORDs
adc bx, 0 ;save uneven spill-over
shr cx, 1 ;halve CX again for num DWORDs
rep MOVSD ;move by DWORDS - 386 mnemonic
adc cx, 0 ; Word remain?
rep MOVSW ; ... copy it too
mov cx, bx ; Byte remain?
rep MOVSB ; ... copy it too
pop ds ;pop all that we pushed...
pop di
pop si
pop bp
ret ;DX:AX pair should contain the far ptr address for
__fMemCpy endp ;return of ptr to dest block (as indicated by C proto)
FMCPY_TEXT ends
public __fMemCpy
end
;-------------------- FMCPY.ASM ends -------------------------------------
//------------------------------------------------------------------------
// Name: FMEMTEST.C
// Purpose: Test out new _fMemCpy()
// Compile: TCC -2 -ml -C fmemtest.c fmcpy.obj
// ^^^(for LARGE model)
// Disclaimer: Use at your own risk!
//------------------------------------------------------------------------
#include <stdio.h>
#include <mem.h>
#define MAX_CHARS 39 //adjust for DWORD & non-DWORD aligned tests
extern //in FMCPY.ASM
void far * far cdecl _fMemCpy(void far *dest,void far *src,unsigned int num);
int main()
{
unsigned char gom[80],src[80]=" function was called! How does it look?\0\0";
unsigned char far *ptr;
/* Using memset() to fill the target buffer with aterisks provides
* a clear (if not lame<g>) visual indicator as to whether _fMemCpy()
* has copied the exact num bytes, accurately, etc.
*/
memset(gom, '*', 70);
gom[MAX_CHARS+10] = '\0';
ptr =_fMemCpy(gom, src, MAX_CHARS );
printf("\n_fMemCpy()%s",gom);
printf("\n_fMemCpy()%s\n",ptr); //ensure ptr to dest block was returned
/* Test against your compiler lib's _fmemcpy()
*/
memset(gom, '*', 70);
gom[MAX_CHARS+10] = '\0';
ptr =_fmemcpy(gom, src, MAX_CHARS );
printf("\n_fmemcpy()%s",gom);
printf("\n_fmemcpy()%s",ptr);
}
::------ Bonus! Go.BAT for your convenience....<g>-----------------------
@echo off
MASM fmcpy /D__LARGE__ /D__CDECL__ /e/ml ,fmcpy
TCC -2 -ml -C fmemtest.c fmcpy.obj
REM - create/add to a library...
tlib _myasm_l /C +fmcpy.obj
::----------Go.BAT ends -------------------------------------------------
Izvor: U'NI-net
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.394mkaralic,
> Mali savet: ne zaleći se na ove aždaje ako nisi tvrdo rešio da naučiš
> da programiraš u OWL/MFC. Ako ne poznaješ C++ ili naprosto nemaš
> vremena, ostani na recimo BC++ 3.1 koji će sasvim pristojno raditi i
> sa 4MB RAM-a.
Nažalost, rešio sam da pišem nešto sitno za Windows, a malo više za DOS (barem
dok sam na 4MB). Zbog Windows-a me i interesuje koji je paket bolji - MSVC ili
BC++.
Fora je u tome što sam već radio sa Borlandovim kompajlerom, pa me interesuje
da li bi vredelo preći na MSVC.
Što se tiče učenja, već sam prešao one osnove, pa želim da dalje učim kroz
prave programe, a za to je potrebno da zađem malo i u biblioteke.
> Borland je, naravno, ispred MicroSofta po podršci jeziku, pošto nudi
> punu implementaciju ANSI C++ (izuzeci, RTTI), dakle sve ono što MSVC
Imam uputstvo za Borland C++ 4.0 i u njemu se spominje da izuzeci nisu
implementirani. Da li ih ima u nekoj od sledećih verzija?
Što se tiče MSVC-a, zanima me koja je razlika između verzija 1.0 i 1.5. Video
sam kako 1.0 radi i dosta mi se dopada, osim rada sa projektima i brzine
kompajliranja (a naročito linkovanja).
Zanima me i da li BC++ 4.5 traži više memorije od BC++ 4.0, kakve su mu
mogućnosti pri razvoju Windows programa, itd.
Pozdrav // Mik !!!
cccc.395maksa,
>> Imam uputstvo za Borland C++ 4.0 i u njemu se spominje da
>> izuzeci nisu implementirani.
Nešto nisi dobro pročitao, izuzeci *jesu* implementirani u 4.0.
cccc.396mmitrovic,
::::: Da, sva siftovanja levo su mnozenja sa 2, 4, 8... a u desno
::::: su deljenja sa 2, 4, 8... to jest sa 2^n gde je n broj bitova
::::: za koje zelimo pomeriti sadrzaj. Tako, tvoje resenje je dobro.
Njegovo rešenje je ispravno, ali ne i dobro. Pascal nema optimizaciju
i neće pretvoriti (x div 2^n) u (x shr n). Razlika je u rezultujućem
kodu, i naravno brzini istog.
BTW, gliso, otkud ti na orlu, zar nemaš počasni nalog na fon.fon-u?
cccc.397patrick,
> dok sam na 4MB). Zbog Windows-a me i interesuje koji je paket bolji - MSVC
> ili BC++.
Meni se licno dopada vise BC. Koristio sam v4.02. Sad sam sticajem
okolnosti presao poceo nesto da radim na MSVC 1.5 i samo kukam. Meni
su jako tesko uporedivi.
> Fora je u tome sto sam vec radio sa Borlandovim kompajlerom, pa me
> interesuje da li bi vredelo preci na MSVC.
Kao sto rekoh, meni je MSVC bljah !
> Imam uputstvo za Borland C++ 4.0 i u njemu se spominje da izuzeci nisu
Ako imas uputstvo, cemu onda premisljanje ? Te knjigeu pocetku zaista
puno znace.
> implementirani. Da li ih ima u nekoj od sledecih verzija?
Ovo nije tacno. Ja sam ih koristio u v4.02.
> Zanima me i da li BC++ 4.5 trazi vise memorije od BC++ 4.0, kakve su mu
> mogucnosti pri razvoju Windows programa, itd.
Da trazi vise memorije. Jako je komotan u 16 MB. Sa 8 je podnosljivo,
ako si strpljiv ;). Sa 4 MB imas fore da kompajliras svega 3-4 dnevno.
Kompilacije sa 4 MB traju i po 2-3 sata.
Na sta si mislio pod mogucnostima?
cccc.398deimos,
Imam jedan problem, a on se odnosi na koriscenje asemblerskih
funkcija u C-u. Naime, problem se javlja kada treba ulinkovati asemblerski
.obj fajl sa postojecim .C programom.
Evo konkretno:
;; ---- ASM funkcija
DOSSEG
.MODEL SMALL
.STACK 200h
PUBLIC _Pvm
.CODE
_Pvm PROC C mode:BYTE
xor ax,ax
mov al,[mode]
int 10h
_Pvm ENDP
END
;;---------------
;; ---- C program
void extern Pvm(unsigned char mode);
void main(void)
{
Pvm(0x13);
}
;; --------------
Kada pokusam da uradim sledece:
C:\> bcc cprog.c asmfnc.obj
Javlja se poruka da _Pvm nije definisano, sto se inace ne desava kada
na ovaj nacin inkujem posebne .obj fajlove pisane u C-u, dok:.
C:\> tlink cprog.obj asmfnc.obj
ne prijavljuje nikakvu gresku, ali program ne radi kako treba.
U cemou gresim ???
Vlada.
cccc.399maksa,
>> bcc cprog.c asmfnc.obj
>>
>> Javlja se poruka da _Pvm nije definisano, sto se inace ne
>> desava kada na ovaj nacin inkujem posebne .obj fajlove pisane
>> u C-u, dok:.
U asmfnc.asm ti fali jedno ret posle int 10h. To dodaš, i
prevedeš sve sa:
bcc cprog.c asmfnc.asm
i sve ok.
cccc.400postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: Cccc
Date: Mon, 10 Jul 1995 01:49:03
-=> Quoting Goran Turudich to Miodrag Djordjevic <=-
GT> Lepo si citirao Hansena, ali ja nisam u njegovom tekstu video da
GT> covek igde pominje pojam "simulacija rekurzije". Pricalo se samo o
GT> rekurzivnom i iterativnom nacinu resavanja problema. BTW, ako
GT> racunam faktorijel iterativnim algoritmom, jesam li i tada simulirao
GT> rekurziju?
Bitno je shvatiti razliku izmedju rekurzivnog algoritma i programa
koji koristi rekurziju da bi nesto uradio. Veliki broj rekurzivnih
algoritama moze da se uradi bez koriscenja rekurcije ali oni i dalje
ostaju rekurzivni (najprostiji primer jer izracunavanje n-tog
elementa Fobonacijevog niza -- niz koji je _definisan_ rekuricno :)
Sa druge strane, sasvim jednostavan problem moze da se uradi
koriscenjem rekurzije. Na primer, racunanje n-tog stepena nekog
broja ili faktorijela, ali to ne znaci da su algoritmi za
izracunavanje tih vrednosti rekurizvni.
Pozdrav
Amir
* Origin: Atlantis BBS Ł Belgrade Ł Serbia Ł 22:00 - 07:30 (38:103/115)
cccc.401iznogud,
> Fora je u tome što sam već radio sa Borlandovim kompajlerom, pa me
> interesuje da li bi vredelo preći na MSVC.
Na 4MB sigurno ne. Ako si duže radio sa kompajlerom bilo koje firme,
onda nema razloga da prelaziš na bilo koji drugi. Suviše je vremena
potrebno uložiti da bi se naučile bubice tog drugog kompajlera. Jedino
ako ti treba baš nešto što ima samo taj kompajler...
> Imam uputstvo za Borland C++ 4.0 i u njemu se spominje da izuzeci nisu
> implementirani. Da li ih ima u nekoj od sledećih verzija?
Ja sa BC++ 4.X radim već jedno godinu i po. Pošto sam većinu tog
vremena proveo radeći sa izuzecima, moguće su dve stvari: ili ti imaš
uputstvo na svahiliju, pa nisi dobro razumeo, ili sam ja na tako
teškim drogama da haluciniram već godinu dana... ;)) Šala, naravno.
BC++ 4.0 IMA izuzetke. To je bila udarna vest u svim najavama i
reklamama ovog kompajlera. Ako ništa drugo, ovo je jedan od tvrđih
razloga da ostaneš veran Borlandu ;) (MSVC ne podržava izuzetke, ako
ne računamo verziju 2.0 koja sigurna neće raditi kod tebe)
cccc.402postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: Cccc
Date: Mon, 10 Jul 1995 01:49:03
-=> Quoting Goran Turudich to Miodrag Djordjevic <=-
GT> Lepo si citirao Hansena, ali ja nisam u njegovom tekstu video da
GT> covek igde pominje pojam "simulacija rekurzije". Pricalo se samo o
GT> rekurzivnom i iterativnom nacinu resavanja problema. BTW, ako
GT> racunam faktorijel iterativnim algoritmom, jesam li i tada simulirao
GT> rekurziju?
Bitno je shvatiti razliku izmedju rekurzivnog algoritma i programa
koji koristi rekurziju da bi nesto uradio. Veliki broj rekurzivnih
algoritama moze da se uradi bez koriscenja rekurcije ali oni i dalje
ostaju rekurzivni (najprostiji primer jer izracunavanje n-tog
elementa Fobonacijevog niza -- niz koji je _definisan_ rekuricno :)
Sa druge strane, sasvim jednostavan problem moze da se uradi
koriscenjem rekurzije. Na primer, racunanje n-tog stepena nekog
broja ili faktorijela, ali to ne znaci da su algoritmi za
izracunavanje tih vrednosti rekurizvni.
Pozdrav
Amir
* Origin: Atlantis BBS Ł Belgrade Ł Serbia Ł 22:00 - 07:30 (38:103/115)
cccc.403postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: tsr
Date: Thu, 13 Jul 1995 23:39:00
Hi,
posto radis u C-u evo mog tsr-a koji neradi bas najbolje.
Problem je u tome kada stavim da je izlaz stampac (stdprn) radi
ali kada stavim handle od fajla on jednostavno ne upise u fajl.
Stavio sam cak moj PSP (kako sam shvatio to je zbog bafera za prenos
na disk DTA koji se isto koristi iz kod FCB i kod file handle-ova).
Odgovor bi mi dobrodosao pre nedelje (23.7.95) .
#include<dos.h>
#include<stdio.h>
static int org_psp,my_psp;
static union REGS r;
void interrupt my_tsr(){
int c;
FILE *fh;
if(peekb(0x0,0x417)==44){ // ako se pritisne Ctrl+Alt i ukljucen Num Lock
r.h.ah=0x62; // uzimam stari psp (org_psp)
int86(0x21,&r,&r);
org_psp=r.x.bx;
r.h.ah=0x50; // postavljam moj psp (my_psp)
r.x.bx=my_psp;
int86(0x21,&r,&r);
fh=fopen("screen.dat","wb");
for(c=0;c<4000;c+=2){ // pisem svaki drugi bajt kako
putc(peekb(0xb800,c),fh); // nebih imao argumente
}
fclose(fh);
r.h.ah=0x50; // postavljam stari psp
r.x.bx=org_psp;
int86(0x21,&r,&r);
putc('\7',stdout);
}
}
void main(){
r.h.ah=0x62; // uzimam psp
int86(0x21,&r,&r);
my_psp=r.x.bx;
printf("Segment je %x\n",my_psp);
disable();
setvect(0x28,my_tsr);
enable();
keep(0,_SS+(_SP/16)-_psp);
}
ĐŠč█ Thanx & Pozdrav Ace █čŠĐ
... Ako proradi imas od mene sok od borovnice :)---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.404postmast,
From: Dejan.Jovanovic@p5.f101.n101.z38.setnet.setnet.co.yu (Dejan Jovanovic)
Subject: cccc
Date: Fri, 14 Jul 1995 01:58:09
-=> Quoting "Milivoje Ognjanovic" to All <=-
"O> +| Funkcija je shr, znaci pal[t] shr 2 ili nesto slicno tome.
"O> Da, provalio sam u medjuvremenu sa div / 4 .
'>> <=> shr' a '<< <=> shl'. Moze i deljenjem ali je to sporije pa se
preporucuje shl i shr.
DJSlo
* Origin: SETNet ■ Sirius BBS (38:101/101.5) ■ +381 18 711667 ■ Nis (38:101/101.5)
cccc.405postmast,
From: vojam@setnet.co.yu (Vojislav Mihailovic)
Subject: cccc
Date: Thu, 13 Jul 1995 16:07:01
IG> From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
IG> Newsgroups: yu.prog.c
IG> Napokon, kome je trebalo da siftuje float??? :-)))
Koliko se ja secam, jedino pokojnom prof. Slavicu... i to u FORTRAN-u!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
cccc.406postmast,
From: Goran.Turudich@f125.n103.z38.setnet.setnet.co.yu (Goran Turudich)
Subject: Cccc
Date: Fri, 14 Jul 1995 22:24:02
AZ> Bitno je shvatiti razliku izmedju rekurzivnog algoritma i programa
AZ> koji koristi rekurziju da bi nesto uradio. Veliki broj rekurzivnih
AZ> algoritama moze da se uradi bez koriscenja rekurcije ali oni i dalje
AZ> ostaju rekurzivni
Xe, xe, pa za to postoje i razliciti termini. Rekurzija je
rekurzija. A rekurentna formula (ili rekurentni algoritam) je vec
nesto drugo, i ne mora biti realizovana preko rekurzije ;)))
-+- OLMS 2.5 UNREG
* Origin: SETNet:Birostroj BBS:NON-STOP:14400bps:011/609945 (38:103/125)
cccc.407postmast,
From: Jugoslav.Stojanov@f122.n103.z38.setnet.setnet.co.yu (Jugoslav Stojanov)
Subject: STA RADI...
Date: Sun, 16 Jul 1995 00:38:11
Sta treba staviti umesto znaka pitanja (?) u sledecem programu:
...
printf("%?",2["ABCD"]);
...
i sta ce biti ispisano ...
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
cccc.408postmast,
From: Jugoslav.Stojanov@f122.n103.z38.setnet.setnet.co.yu (Jugoslav Stojanov)
Subject: CCCC
Date: Sun, 16 Jul 1995 00:51:11
Nisam suguran u cemu je problem ali mislim da je pametnije
novaboja=staraboja >> 2
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
cccc.409postmast,
From: Ilija.Djorgoski@f108.n108.z38.setnet.setnet.co.yu (Ilija Djorgoski)
Subject: TSR ?!?
Date: Sat, 15 Jul 1995 14:52:58
Ovaj program sam nasao u jedan paket SCIO i trebalo bi da bude neki TSR program ali nikako da ga moj TC 2.0 kompajlira, stalno mi daje neke ovakve errore :
"Undefined symbol '_main' in module C0S" i slicne da nisam iskoristio neke promenlive. Bio bih mnogo zahvalan kad bi neko pokusao da kompajlira ovaj TSR i da mi kaze dali radi ili ako ne radi ssta mu fali ?
#include <dos.h>
#include <stdio.h>
static union REGS rg;
static struct SREGS seg;
static unsigned mcbseg;
static unsigned dosseg;
static unsigned dosbusy;
static unsigned enddos;
char far *intdta;
static unsigned intsp;
static unsigned intss;
static char far *mydta;
static unsigned myss;
static unsigned stack;
static unsigned ctrl_break;
static unsigned mypsp;
static unsigned intpsp;
static unsigned pids[2];
static int pidctr = 0;
static int pp;
static void interrupt (*oldtimer)(void);
static void interrupt (*old28)(void);
static void interrupt (*oldkb)(void);
static void interrupt (*olddisk)(void);
static void interrupt (*oldcrit)(void);
extern void interrupt (*ZeroDivVector)(void);
static void interrupt newtimer(void);
static void interrupt new28(void);
static void interrupt newkb(void);
static void interrupt newdisk(int,int,int,int,int,int,int,int,int,int,int,int);
static void interrupt newcrit(int,int,int,int,int,int,int,int,int,int,int,int);
extern unsigned sizeprogram;
extern unsigned scancode;
extern unsigned keymask;
static int resoff = 0;
static int running = 0;
static int popflg = 0;
static int diskflag = 0;
static int kbval;
static int cflag;
static void dores(void);
static void pidaddr(void);
static void resterm(void);
void resident_psp(void);
void interrupted_psp(void);
void popup(void);
>>To be continued>>...
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.410postmast,
From: Ilija.Djorgoski@f108.n108.z38.setnet.setnet.co.yu (Ilija Djorgoski)
Subject: TSR 2 ?!?
Date: Sat, 15 Jul 1995 14:52:59
II deo
/* -------- establish & declare residency --------- */
void resinit()
{
segread(&seg);
myss = seg.ss;
/* ------ get address of DOS busy flag ---- */
rg.h.ah = 0x34;
intdos(&rg, &rg);
dosseg = _ES;
dosbusy = rg.x.bx;
/* ----- get address of resident program's dta ----- */
mydta = getdta();
/* -------- get addresses of PID in DOS ------- */
pidaddr();
/* ----- get original interrupt vectors ----- */
oldtimer = getvect(0x1c);
old28 = getvect(0x28);
oldkb = getvect(9);
olddisk = getvect(0x13);
/* ----- attach vectors to resident program ----- */
setvect(0x1c, newtimer);
setvect(9, newkb);
setvect(0x28, new28);
setvect(0x13, newdisk);
/* ------ compute stack pointer ------- */
stack = (sizeprogram - (seg.ds - seg.cs)) * 16 - 300;
/* ---- restore zero divide interrupt vector --- */
setvect(0, ZeroDivVector);
/* ----- terminate and stay resident ------- */
rg.x.ax = 0x3100;
rg.x.dx = sizeprogram;
intdos(&rg, &rg);
}
/* ------ BIOS disk functions ISR ------- */
static void interrupt newdisk(bp,di,si,ds,es,dx,cx,bx,ax,ip,cs,flgs)
{
diskflag++;
(*olddisk)();
ax = _AX; /* for the register returns */
cx = _CX;
dx = _DX;
newcrit(bp,di,si,ds,es,dx,cx,bx,ax,ip,cs,flgs); /* to get current flags register */
flgs = cflag;
--diskflag;
}
/* -------- critical error ISR ---------- */
static void interrupt newcrit(bp,di,si,ds,es,dx,cx,bx,ax,ip,cs,flgs)
{
ax = 0;
cflag = flgs; /* for newdisk */
}
/* ----- keyboard ISR ------ */
static void interrupt newkb()
{
if (inportb(0x60) == scancode) {
kbval = peekb(0, 0x417);
if (!resoff && ((kbval & keymask) ^ keymask) == 0) {
/* --- reset the keyboard ---- */
kbval = inportb(0x61);
outportb(0x61, kbval | 0x80);
outportb(0x61, kbval);
outportb(0x20, 0x20);
/* ---- set hotkey indicator ---- */
if (!running)
popflg = 1;
return;
}
}
(*oldkb)();
}
>>To be continued>>...
... ARRRRRGGGHHH!!!! ... Tension breaker, had to be done.
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.411postmast,
From: Ilija.Djorgoski@f108.n108.z38.setnet.setnet.co.yu (Ilija Djorgoski)
Subject: TSR 3 ?!?
Date: Sat, 15 Jul 1995 14:53:00
III deo
/* ----- timer ISR ------- */
static void interrupt newtimer()
{
(*oldtimer)();
if (popflg && peekb(dosseg, dosbusy) == 0)
if (diskflag == 0) {
outportb(0x20, 0x20);
popflg = 0;
dores();
}
}
/* ----- DOSOK ISR -------- */
static void interrupt new28()
{
(*old28)();
if (popflg && peekb(dosseg, dosbusy) != 0) {
popflg = 0;
dores();
}
}
/* ------ switch psp context from interrupted to TSR ----- */
void resident_psp()
{
/* ------ save interrupted program's psp ----- */
intpsp = peek(dosseg, *pids);
/* ----- set resident program's psp ----- */
for (pp = 0; pp < pidctr; pp++)
poke(dosseg, pids [pp], mypsp);
}
/* ---- switch psp context from TSR to interrupted ---- */
void interrupted_psp()
{
/* ----- reset interrupted program's psp ----- */
for (pp = 0; pp < pidctr; pp++)
poke(dosseg, pids [pp], intpsp);
}
/* ------ execute the resident program ------- */
static void dores()
{
running = 1;
disable();
intsp = _SP;
intss = _SS;
_SP = stack;
_SS = myss;
enable();
oldcrit = getvect(0x24);/* redirect critical error */
setvect(0x24, newcrit);
rg.x.ax = 0x3300; /* get ctrl break setting */
intdos(&rg, &rg);
ctrl_break = rg.h.dl;
rg.x.ax = 0x3301; /* turn off ctrl break logic */
rg.h.dl = 0;
intdos(&rg, &rg);
intdta = getdta(); /* get interrupted dta */
setdta(mydta); /* set resident dta */
resident_psp(); /* swap psps */
popup(); /* execute resident program */
interrupted_psp(); /* reset interrupted psp */
setdta(intdta); /* reset interrupted dta */
setvect(0x24, oldcrit); /* reset critical error */
rg.x.ax = 0x3301; /* reset ctrl break */
rg.h.dl = ctrl_break;
intdos(&rg, &rg);
disable(); /* reset interrupted stack */
_SP = intsp;
_SS = intss;
enable();
running = 0;
}
>>To be continued>>...
... Catch the Blue Wave!
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.412postmast,
From: Ilija.Djorgoski@f108.n108.z38.setnet.setnet.co.yu (Ilija Djorgoski)
Subject: TSR 4?!?
Date: Sat, 15 Jul 1995 14:53:01
IV deo
/*page*/
static int avec = 0;
/* ------- test to see if the program is already resident
if not, attach to an available interrupt ---------- */
unsigned resident(signature, ifunc)
char *signature;
void interrupt (*ifunc)();
{
char *sg;
unsigned df;
int vec;
segread(&seg);
df = seg.ds-seg.cs;
for (vec = 0x60; vec < 0x68; vec++) {
if (getvect(vec) == NULL) {
if (!avec)
avec = vec;
continue;
}
for (sg = signature; *sg; sg++)
if (*sg!=peekb(peek(0,2+vec*4)+df,(unsigned)sg))
break;
if (!*sg)
return vec;
}
if (avec)
setvect(avec, ifunc);
return 0;
}
/*page*/
/* -------- find address of PID ---------- */
static void pidaddr()
{
unsigned adr = 0;
/* ------- get the current pid --------- */
rg.h.ah = 0x51;
intdos(&rg, &rg);
mypsp = rg.x.bx;
/* ----- find the end of the DOS segment ------- */
rg.h.ah = 0x52;
intdos(&rg, &rg);
enddos = _ES;
enddos = peek(enddos, rg.x.bx-2);
/* ---- search for matches on the pid in dos ---- */
while (pidctr < 2 &&
(unsigned)((dosseg<<4) + adr) < (enddos<<4)) {
if (peek(dosseg, adr) == mypsp) {
rg.h.ah = 0x50;
rg.x.bx = mypsp + 1;
intdos(&rg, &rg);
if (peek(dosseg, adr) == mypsp+1)
pids[pidctr++] = adr;
/* ---- reset the original pid ------ */
rg.h.ah = 0x50;
rg.x.bx = mypsp;
intdos(&rg, &rg);
}
adr++;
}
}
/*page*/
/* ------- terminate function ----------- */
static void resterm()
{
void closefiles(void);
closefiles(); /* close TSR files */
/* ----- restore the interrupt vectors ----- */
setvect(0x1c, oldtimer);
setvect(9, oldkb);
setvect(0x28, old28);
setvect(0x13, olddisk);
setvect(avec, (void interrupt (*)()) 0);
/* ---- get the seg addr of 1st DOS MCB ---- */
rg.h.ah = 0x52;
intdos(&rg, &rg);
mcbseg = _ES;
mcbseg = peek(mcbseg, rg.x.bx-2);
/* ---- walk thru mcb chain & release memory ----- */
segread(&seg);
while (peekb(mcbseg, 0) == 0x4d) {
if (peek(mcbseg, 1) == mypsp) {
rg.h.ah = 0x49;
seg.es = mcbseg+1;
intdosx(&rg, &rg, &seg);
}
mcbseg += peek(mcbseg, 3) + 1;
}
}
/* --------- terminate the resident program --------- */
void terminate()
{
if (getvect(0x13) == (void interrupt (*)()) newdisk)
if (getvect(9) == newkb)
if (getvect(0x28) == new28)
if (getvect(0x1c) == newtimer) {
resterm();
return;
}
resoff = 1; /* another TSR is above us, merely suspend */
}
/* ------------- restart the resident program --------- */
void restart()
{
resoff = 0;
}
/* ------- put the program on hold -------- */
void wait()
{
resoff = 1;
}
----------------------------------EOF----------------------------------------
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.413paki,
> From: Jugoslav.Stojanov@f122.n103.z38.setnet.setnet.co.yu (Jugoslav
> Stojanov) Subject: STA RADI...
>
> Sta treba staviti umesto znaka pitanja (?) u sledecem programu:
> ...
> printf("%?",2["ABCD"]);
> ...
> i sta ce biti ispisano ...
Treba %d i biće ispisano 67. Doduše, može da se stavi i %c, ali ovako je
zanimljivije. :)
cccc.414omega,
Da li neko ima ideju kako naterati Borland IDE da kada se
"Use TAB character" i lupi Enter na kraju reda, kursor
pozicionira u sledeci pomocu TAB-ova, a ne spejsova?
O tome se inace brine "Autoindent mode", ali slabo.
(iz help-a:)
For example,
+----- press Enter here
č to put the cursor
int main(void) <---+ under the i in int
{
float g; <------------ press Enter here
to put the cursor
under the f in float
Znaci da kad se lupi Enter u redu "float g;",
kursor predje u sledeci red i sa par TAB karaktera
se pozicionira ispod 'f', a ne sa par spejsova.
P.S. Da li sa BC++ v3.1 uopste mogu da se razvijaju
protected mode aplikacije?
cccc.415deimos,
Evo jednog mesovitog pitanja :)
Kako proslediti iz C-a string funkciji napisanoj u asembleru.
Konkretno, evo jedne f-je u C-u.
int extern fileopen(char *filename);
E, sad je pitanje kako da prosledim ime fajla f-ji pisanoj u asembleru.
_fileopen PROC C ??????
HELP !
Vlada.
ps. BOrland C & Tasm.
ű
cccc.416mitar,
Jel ima ovde neko ko zna nesto o PRO C-u?
Interesuje me sve, cak i to da li ima i gde da se kupi,
kompletno ili samo literatura. Da nema mozda neka
masonska loza u vezi sa istim? :)))
cccc.417nikac,
>■ int extern fileopen(char *filename);
>■
>■ E, sad je pitanje kako da prosledim ime fajla f-ji pisanoj u
>■ asembleru.
>■
>■ _fileopen PROC C ??????
Kao prvo ti prosledjujes pointer na string, a ne ceo string, znaci
4 byte-a, so:
;
; Caller BC, Large model, Far call
; int fileopen(char *filename)
;
; pointer se pamti kao longint, a prva dva bajta su SEG, a druga dva OFS
SEGPTR EQU WORD PTR [BP+6]
OFSPTR EQU WORD PTR [BP+8]
fileopen_TEXT SEGEMENT byte public 'CODE'
ASSUME cs:fileopen_TEXT
PUBLIC _fileopen ; donju crtu dodaje C
; pri prevodjenju
_fileopen PROC far
push bp
mov bp, sp ;da se sacuva stek
...
mov ax, <result code> ; to sigurno znas
mov sp, bp
pop bp
ret
_fileopen ENDP
fileopen_TEXT ENDS
END
Mozda je moglo i bolje, ali i ovako radi.
Dakle imas u SEGPTR i OFSPTR segment i ofset tvog stringa, pa dalje
valjda mozes i sam (naravno da ako menjas BP segptr i ofsptr ce izgubiti
svoju vrednost, pa vodi o tome racuna). Inace cuvas sp, ako imas u okviru
tvoje procedure poziv neke druge procedure koja menja sp, inace ti je to
suvisak.
BTW oduvek me je zanimalo kako se kodira vracanje slozene strukture, ili
recimo float vrednosti, a mrzi me da kopam po kodu sa dibagerom, pa ako
nekog ne mrzi da napise, ne bilo mu zapovedjeno :)
cccc.418knight,
Kako da sa zadatom vremenskom periodom pozivam neku funkciju u mom
Windows programu? Potrebno mi je, npr. da na svaka 2 minuta pozivam
funkciju UradiPosao(). Pored objašnjenja dobrodošla bi
mi neka linija koda. Koristim BC++ 4.0.
cccc.419postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: ACK & BUSY
Date: Sun, 16 Jul 1995 19:13:01
Hi, prethodna poruka o strlen(); je greskom stigla do tebe, sorry :)
>> Pravim neko programce u C-u za printere, pa mi bas nesto nije jasno
>> postojanje dva signala: BUSY i ACK.
>> ako je ACK=0 printer je spreman za prijem novog karaktera, dok za
>> BUSY=0 printer ne moze trenutno da primi vise podataka(Prog. Tech.
>> DOS Ref. 3.1), dok u uputstvu za STAR LC10 pise da je
>> BUSY=0 kada je printer spreman da primi podatke. Kako
>> sad pa ovo??????
>> Zar ne bi bio dovoljan samo jedan od ovih signala(busy ili ack) da se
>> sazna da li je printer spreman ili nije??
Ovako:
Sa ACK se potvrdjuje da li je podatak primljen (da nema neka greske i sl.) ,a
sa BUSY se kaze da li je bafer pun tj. da nemoze vise da prima podatke
i trebalo bi da je onda setovan (1).
Sada mene zanima kako si uspeo da citas stanja pojedinih izvoda (pinova) ?
>> dragan
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.420postmast,
From: Ivan.Jocic@p5.f101.n101.z38.setnet.setnet.co.yu (Ivan Jocic)
Subject: ACK & BUSY
Date: Mon, 17 Jul 1995 07:56:55
AG> Neznam kako se vise moze optimizovati strlen(); , jer kada sam ja
AG> pravio neki programcic ,da ne bi koristio biblioteku string, strlen
AG> napravio kao :
AG> for(c=0;string[c]!='\0';c+=1){}
AG> Ja tu nevidim neku mogucu optimizaciju (prosvetli me ako gresim :)).
Pa mozes jednu bolju optimizaciju da uradis:
c=0;
while(!string[c])
c++;
I mozes jos boju (ali ne i najbolju):
int novi_strlen(char *string){
int c;
_asm{
cld
les di, string
xor al,al
mov cx,0xffff
repne scasb
je nadjen
:nije_nadjen
jmp end
:nadjen
not cx
dec cx
mov c,cx
}
:end
return c;
}
A postoji i jos bolja caka, ali je ona malo teza za implementiranje,
tako da ti je ova mnoooooooooooogo brza od one tvoje.
Shadow
... ///\oo/\\\ There are no more bugs. ///\oo/\\\ ///\oo/\\\
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
cccc.421postmast,
From: Dejan.Jovanovic@p5.f101.n101.z38.setnet.setnet.co.yu (Dejan Jovanovic)
Subject: ACK & BUSY
Date: Wed, 19 Jul 1995 00:13:31
AG> for(c=0;string[c]!='\0';c+=1){}
AG> Ja tu nevidim neku mogucu optimizaciju (prosvetli me ako gresim :)).
Nema tu vise neke vece optimizacije. Vreme je da iskoristis integrisani
assembler (ako neznas uci obavezno) . Procitaj pomalo sta rade oni momci sa
super brzim rutinama za stringove tu negde po programskim konferencijama.
Aj' kad njih videh ja resih da se ubacim malo. Ovo je moj predlog (mislim da
nema brzeg, ako se varam ispravite me):
int mystrlen(char *str)
{
asm {
mov cx,0xffff
xor ax,ax
les di,str
inc di
mov si,di
repnz scasb
sub di,si
mov ax,di
}
}
ovo za 10000 provera radi recimo 33s tvoje resenje 94s a zvanicni strlen 38s.
Jesam pametan a???
DJSlo
... tagline snow
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
cccc.422postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: ACK & BUSY
Date: Sun, 16 Jul 1995 12:38:02
Neznam kako se vise moze optimizovati strlen(); , jer kada sam ja pravio
neki programcic ,da ne bi koristio biblioteku string, strlen napravio
kao :
for(c=0;string[c]!='\0';c+=1){}
Ja tu nevidim neku mogucu optimizaciju (prosvetli me ako gresim :)).
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.423postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: TSR
Date: Sun, 16 Jul 1995 19:12:00
Hi,
na prvi pogled lici da nemas main() funkciju.
Izgleda da nisi dobio sve sorseve :(
Ako pak nesto uspes javi , jer se i ja lomim oko TSR-ova.
BTW imas na ECSTASY (022/53-884) TSR.ZIP, ali ni on nije ispravan
tako da moze da posluzi samo da se dobije neka predstava o tome sta se
desava.
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.424.djn,
> Jel ima ovde neko ko zna nesto o PRO C-u?
> Interesuje me sve, cak i to da li ima i gde da se kupi,
> kompletno ili samo literatura. Da nema mozda neka
> masonska loza u vezi sa istim? :)))
Koliko znam to je varianta C-a sa dodacima za pristup ORACLE-u.
cccc.425nbatocanin,
> Jel ima ovde neko ko zna nesto o PRO C-u?
>
> Interesuje me sve, cak i to da li ima i gde da se kupi,
> kompletno ili samo literatura. Da nema mozda neka
> masonska loza u vezi sa istim? :)))
Ja sam imao neku dosta staru verziju. Ako te interesuje, mogu da
potražim.
cccc.426.djn,
Ako sam dobro shvatio...
U C-u postoje tekstualne i binarne datoteke.
U Pascalu takodje. Osnovna razlika je u tome sto je rad sa binarnim datotekama
brzi
ali i rizicniji, jer je na korisniku da pravilno protumaci podatke.
U Pascalu postoji i mogucnost da se u datoteku snimaju objekti odredjenog tipa
nrp. bajtovi, realni brojevi, ali i citavi slogovi. Nema nikakve
narocite filozofije. Jednostavno se proglasi da su u datoteci slogovi nekog
tipa
pa se jedan po jedan citaju. Postoje sve uobicajene komande za pristup slogu.
Da li takve datoteke postoje i u C-u?
cccc.427postmast,
From: dcolak@setnet.co.yu (Damir Colak)
Subject: Ack & Busy
Date: Thu, 20 Jul 1995 12:52:10
IJ> AG> for(c=0;string[c]!='\0';c+=1){}
IJ> AG> Ja tu nevidim neku mogucu optimizaciju (prosvetli me ako gresim :)).
IJ>Pa mozes jednu bolju optimizaciju da uradis:
IJ>c=0;
IJ>while(!string[c])
IJ> c++;
Hej Hej Hej! :) Pa moze i bolje:
c=0; while(!string[c++]);
:))
Sledge DAMMIR!
* Origin: Sledge HAMMER! BBS 011/163-452 22:00-07:00 (38:103/128)
cccc.428mitar,
>>> Jel ima ovde neko ko zna nesto o PRO C-u?
>> Koliko znam to je varianta C-a sa dodacima za pristup ORACLE-u.
Hm, radi se o C-kod generatoru za rad sa bazama podataka,
izmedju ostalih i sa Oracle-om. Ali sad si me zbunio,
u jednoj knjizi o Oracle-u bilo je reci o njihovom gene-
ratoru maski, dal se bese to isto zove ili je slucajnost.
Ovde je rec o proizvodu firme istog naslova, sa Ontaria
ili tako nesto. Mislim da imaju ispostavu negde u
Hamburgu, a da imaju neko ime kao Mel itd. Problem je
sto nikakvu adresu, niti telefon nemam, iako oni po
readme fajlu preporucuju logovanje na njihov BBS radi
preuzimanja generisanih primera. Daj pogledaj detalje oko
toga iz Oracle-a pa da jurim tu knjigu, ne znam vise
kako se zove samo mi se cini da bese izdanje "Tehnicke
knjige".
Unapred zahvalan.
cccc.429mitar,
>>> Jel ima ovde neko ko zna nesto o PRO C-u?
>> Ja sam imao neku dosta staru verziju. Ako te interesuje, mogu da
>> potrazim.
Nije rec o verziji, problem je uputstvo, kontakt adresa ili
telefon, bar telefon BBS. Moja verzija je 2.5.8.
Hvala na trudu.
cccc.430postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: TLINK 2.0
Date: Fri, 21 Jul 1995 21:16:00
Imam jedan mali problem. Koristim Turbo C 2.0, zajedno za
TLINK-om 2.0, ali nije instalaciona verzija, nego onako
skinuto sa diska.
E sad, napravim neki program, lepo ga iskompajliram sa
tcc -mt -lt ime.c, i naravno dobijem ime.com na disku,
koji sasvim ispravno radi.
Ali ukoliko probam da linkujem OBJ "ruccno", t.j ne
preko ttc-a, onda kucam ovako:
tlink /t c:\xxx\c0t ime.c,,,c:\lib\ct c:\lib\emu
i linker me pozdravlja sa porukama u stilu da je nessto
nedefinirano u modulu c0t.obj.
Gde gressim?
10x
Chombe KAN
___
■ OLX 2.1 TD ■ Domaccice manje zbori, da ti ruccak ne zagori.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.431driks,
Subject: ACK & BUSY
>>> Sada mene zanima kako si uspeo da citas stanja pojedinih
>>> izvoda (pinova) ?
PORT:379H Read-only: Printer Status
Í7┬6┬5┬4┬3┬2┬1┬0Ě
║ │ │ │ │ │0 0 0║
ËĎ┴Ď┴Ď┴Ď┴Ď┴─┴─┴─Ż bit
║ ║ ║ ║ ╚═══════ 3: -ERROR (pin 15) 0=printer signals an error
║ ║ ║ ╚═════════ 4: +SLCT (pin 13) 1=printer is selected
║ ║ ╚═══════════ 5: +PE (pin 12) 1=out of paper
║ ╚═════════════ 6: -ACK (pin 10) 0=ready for next character
╚═══════════════ 7: -BUSY (pin 11) 0=busy or offline or error
Izvor: TechHelp (imas ga na Sezamu)
dragan
cccc.432janko,
> Nažalost, rešio sam da pišem nešto sitno za Windows, a
> malo više za DOS (barem dok sam na 4MB). Zbog Windows-a me
> i interesuje koji je paket bolji - MSVC ili BC++.
Za 4 MB rama, nijedan nije dobar.
> Fora je u tome što sam već radio sa Borlandovim
> kompajlerom, pa me interesuje da li bi vredelo preći na
> MSVC.
>
Ako si samo radio DOS, neće ti puno značiti koji je -- imaćeš ionako
puno novoga.
> Imam uputstvo za Borland C++ 4.0 i u njemu se spominje da
> izuzeci nisu implementirani. Da li ih ima u nekoj od
> sledećih verzija?
Da, 4.5 ima.
> Zanima me i da li BC++ 4.5 traži više memorije od BC++
> 4.0, kakve su mu mogućnosti pri razvoju Windows programa,
> itd.
Za male programe, živi i sa 8 MB. Za veće, nesnosan je bez 16.
Mogućnosti.. velike, ali je C++ za Windows ipak NAJTEčI način razvoja
aplikacija, primeren samo profesionalcima (ne računam "suvi" C i ASM, to
su već "fundamentalistički" pristupi ;) ). Kome ne trebaju neke
"posebne usluge" bolje da se drži nečeg manje teškog.. VB ili Delfi.
cccc.433smarkov,
> Da li takve datoteke postoje i u C-u?
> Ako sam dobro shvatio...
> U C-u postoje tekstualne i binarne datoteke.
C nasledjuje metod rada sa datotekama od UNIX-a. Misli se, naravno,
na funkcije standardne biblioteke. UNIX predstavlja datoteke kao prost
niz byte-ova. Nema dakle nikakve vise strukture, odnosno slogova
specificiranog tipa.
Upis/citanje proizvoljnog podatka/grupe je moguc u C-u konstrukcijama
tipa:
fread(fp, sizeof(var), 1, &var)
fwrite(fp, sizeof(var), 1, &var)
gde je 'var' promenljiva bilo kog tipa.
cccc.434nbatocanin,
>>>> Jel ima ovde neko ko zna nesto o PRO C-u?
>
>>> Koliko znam to je varianta C-a sa dodacima za pristup
> ORACLE-u.
>
> Hm, radi se o C-kod generatoru za rad sa bazama podataka,
> izmedju ostalih i sa Oracle-om. Ali sad si me zbunio,
> u jednoj knjizi o Oracle-u bilo je reci o njihovom gene-
> ratoru maski, dal se bese to isto zove ili je slucajnost.
Da, postoje najmanje dva proizvoda sa sličnim imenom: Pro*C je
(koliko mi je poznato) pretprocesor za Oracle iskaze i služi za
povezivanje sa Oracle-om. Ono što sam ja imao (pa izbrisao :( ) je
generator programa: zadaju se razne opcije i on generiše C-kod.
Verzija koju sam imao nije ozbiljnije podržavala rad sa bazama
podataka. Za novije ne znam. Znam da ista firma proizvodi niz
dodataka koji imaju zajednički prefiks "pro": Pro-BASIC i sl.
cccc.435oper,
>>> malo više za DOS (barem dok sam na 4MB). Zbog Windows-a me
>>> i interesuje koji je paket bolji - MSVC ili BC++.
>>
>> Za 4 MB rama, nijedan nije dobar.
Možda ipak može da posluži BC++ 3.1. Meni je sasvim lepo
radio na 386/4M.
>>> izuzeci nisu implementirani. Da li ih ima u nekoj od
>>> sledećih verzija?
>>
>> Da, 4.5 ima.
Kao što su imali i 4.0 i 4.2.
>>> Zanima me i da li BC++ 4.5 traži više memorije od BC++
>>> 4.0, kakve su mu mogućnosti pri razvoju Windows programa,
>>> itd.
>>
>> Za male programe, živi i sa 8 MB. Za veće, nesnosan je bez 16.
Evo i malo konkretnih iskustava sa 4.02 i 4.5. Imam
projekat koji se sastoji od 26 cpp nodova. Sve u svemu 6500
linija c++ koda i 1500 linija mojih hedera. Takođe se
koristi Paradox Engine i Crystal Reports. Uz osrednju
optimizaciju prekompajliranih zaglavlja (ceo OWL ide u .csm
fajl, a ostalo se izuzima) - make posle izmene u jednom
sorsu traje od 45 do 90 sec, zavisno od sorsa na mojoj
DX266 mašini (Cyrix :( sa 8M RAMa i CFS540 diskovima uz 256K
za keširanje. Posle startovanja Win, inače, imam 16.8M
slobodne memorije uz swap od 10.000.000. Pri prevođenju i
linkovanju količina memorije nikad ne pada ispod 9.8M. Ovo
su podaci sa 4.02. Uz 4.5, koji, čini mi se, nešto brže
kompajlira (nedavno sam instalirao i neće baš da radi kako
treba :( pri identičnim uslovima slobodna memorija pada do
8.7M. Jedini pravi problem jeste što posle prevođenja treba
da sačekam par sekundi da mi se pojavi message window ;)
BTW, sa 4M RAMa na 486DX33 prekinuo sam kompajliranje
posle 25 minuta ;)
Pz, Pera...
cccc.436postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Cccc
Date: Thu, 20 Jul 1995 15:02:43
-+=+- Zoran Rilak rece : -+=+-
ZR> From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
ZR> zanimljivosti, ja imam tekst knjige gosp. Kratice sa puno zanimljivih
ZR> zadataka (znate vi njega! ;) ) , ali kako je to povece cak i kad se
ZR> arhivira (oko 126 Kbajata) a ja imam 2400 modem i istekla mi je
VEOMA me interesuje, VEOMA.
Ako ima neka dobra dusa ili Zoran ;) da mi to posalje na donje adrese
bio bih mu mnogo zahvalan :
Mladen Adamovic (adamm@elf.bl.ac.yu, madamovic@sezam.co.yu).
Pozdrav, unapred VEOMA hvala.
... Tata, vidi .... TAG!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
cccc.437janko,
>>>> malo više za DOS (barem dok sam na 4MB). Zbog Windows-a
>>>> me i interesuje koji je paket bolji - MSVC ili BC++.
>>>
>>> Za 4 MB rama, nijedan nije dobar.
>
> Možda ipak može da posluži BC++ 3.1. Meni je sasvim lepo
> radio na 386/4M.
žovek je pitao za poslednje verzije, i programiranje pod Windowsom.
>>>> Zanima me i da li BC++ 4.5 traži više memorije od BC++
>>>> 4.0, kakve su mu mogućnosti pri razvoju Windows
>>>> programa, itd.
>>>
>>> Za male programe, živi i sa 8 MB. Za veće, nesnosan je
>>> bez 16.
>
> Evo i malo konkretnih iskustava sa 4.02 i 4.5. Imam
> projekat koji se sastoji od 26 cpp nodova. Sve u svemu
> 6500 linija c++ koda i 1500 linija mojih hedera. Takođe se
> ..
> fajl, a ostalo se izuzima) - make posle izmene u jednom
> sorsu traje od 45 do 90 sec, zavisno od sorsa na mojoj
> DX266 mašini (Cyrix :( sa 8M RAMa i CFS540 diskovima uz
> 256K
Kad me baš vučeš za jezik... Projekat na kome radim (o kome ne mogu dati
detaljnije podatke osim da je to komercijalni produkt, potpuno razvijan
u našoj zemlji i ne koristi druge biblioteke osim OWL) ima trenutno
nekih 75.000 linija koda u oko dvesta modula. Skoro svaki modul radi
include OWL-a. :( Na 486/66 Build All traje preko 50 minuta, a samo
linkovanje par minuta *kada nije prevođeno debug info* (8 minuta sa
debug info u svim modulima), .OBJ fajlovi, po prevođenju, zauzimaju
nekih 40 MB (kada sadrže debug info), .CSM ("prekinut strateški") je
preko 20 MB, aplikacija je 8 MB sa debug informacijama itd. Između
ostalog, 16 MB RAM-a mu nije dosta za linkovanje. Posle Bulid All,
izveštaj je "prevedeno je 3 i po miliona linija".
Tek da se zna na šta mislim kada kažem "za veće programe".
cccc.438oper,
>>> Možda ipak može da posluži BC++ 3.1. Meni je sasvim lepo
>>> radio na 386/4M.
>>
>> žovek je pitao za poslednje verzije, i programiranje pod
>> Windowsom.
Pa i mislio sam da mi je 3.1 radio za Win. Što se tiče
najnovijih verzija, tu smo se svi složili.
>> Kad me baš vučeš za jezik... Projekat na kome radim (o kome ne
Izvini, možda smo ti ili ja nešto pogrešno shvatili :(
>> ...
>> za linkovanje. Posle Bulid All, izveštaj je "prevedeno je 3 i
>> po miliona linija".
>>
>> Tek da se zna na šta mislim kada kažem "za veće programe".
Nisam ja mislio da je ovo što ja radim "veliki" ili "mali"
projekat. Samo sam želeo da kažem - "u tim i tim uslovima
radi tako i tako". I fino je što sad svi znamo kako se
ponaša u dva realna okruženja.
Pz, Pera...
cccc.439postmast,
From: rsasa@fon (Radetic Aleksandar)
Subject: Re: cccc
Date: Wed, 26 Jul 1995 05:50:40 GMT
Janko Stamenovic (janko@sezam.UUCP) wrote:
: 75.000 linija koda u oko dvesta modula. Skoro svaki modul radi
: include OWL-a. :( Na 486/66 Build All traje preko 50 minuta, a samo
: linkovanje par minuta *kada nije prevodeno debug info* (8 minuta sa
: debug info u svim modulima), .OBJ fajlovi, po prevodenju, zauzimaju
: nekih 40 MB (kada sadrze debug info), .CSM ("prekinut strateski") je
: preko 20 MB, aplikacija je 8 MB sa debug informacijama itd. Izmedu
: ostalog, 16 MB RAM-a mu nije dosta za linkovanje. Posle Bulid All,
: izvestaj je "prevedeno je 3 i po miliona linija".
: Tek da se zna na sta mislim kada kazem "za vece programe".
Izvinjavam se zbog upada u diskusiju, ali sudeci prema ovim podacima,
iskustva Laboratorije za informacione sisteme FON-a u radu sa MS VC++
1.5 professional su mnogo bolja od Vasih sa Borland-ovim proizvodima.
Windows aplikacija koja se ovde razvija "teska" je preko 100000 linija
koda u 150 modula. Obavezne header datoteke su vece od 300 Kb, ali se
to prilicno dobro resava pomocu PrecompiledHeader opcije.
Ranije se sve to kompajliralo oko 70 minuta, a sada se RebuildAll
izvrsava za manje od 10 minuta. Osim ovoga, za aplikaciju se po
zavrsetku kompajliranja dobija izuzetno dobar Browse katalog (sve
informacije o promenljivim, funkcijama) i sl.
Za "pocetnike", a i za one druge u Windows okruzenju vrlo je
pogodna stvar sto se moze izabrati Template za novi projekat (aplikaciju).
MSVC automatski izgenerise kostur aplikacije. Vase je samo da je
doradite i eventualno napravite nove dijaloge, ikone i ostale resurse.
Pocetna aplikacija (debug) je uvek velika oko 1 Mb, ali u release modu
velicina pada na 100-200 Kb, zavisno od izabranih opcija.
Vrlo lako se privikava na ovo okruzenje, posto je prilicno user-friendly
orijentisano, a Help je vise nego detaljan (primeri i ostalo).
Pozdrav,
Sasa
cccc.440postmast,
From: rsasa@fon (Radetic Aleksandar)
Subject: Re: TLINK 2.0
Date: Wed, 26 Jul 1995 05:55:28 GMT
KLIMENT ANDREEV (KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu) wrote:
: Imam jedan mali problem. Koristim Turbo C 2.0, zajedno za
: TLINK-om 2.0, ali nije instalaciona verzija, nego onako
: skinuto sa diska.
: i linker me pozdravlja sa porukama u stilu da je nessto
: nedefinirano u modulu c0t.obj.
Pokusaj da promenis memorijski model (ne Tiny) i da setujes
environment promenljive za biblioteke, a ne da ih navodis u
komandnoj liniji. Cudno, ali i mene je nesto slicno zezalo.
Pozdrav,
Sasa
cccc.441mitar,
>> Da, postoje najmanje dva proizvoda sa slicnim imenom: Pro*C je
>> (koliko mi je poznato) pretprocesor za Oracle iskaze i sluzi za
>> povezivanje sa Oracle-om. Ono sto sam ja imao (pa izbrisao :( ) je
>> generator programa: zadaju se razne opcije i on generise C-kod.
>> Verzija koju sam imao nije ozbiljnije podrzavala rad sa bazama
>> podataka. Za novije ne znam. Znam da ista firma proizvodi niz
>> dodataka koji imaju zajednicki prefiks "pro": Pro-BASIC i sl.
To je pravi odgovor. Blagodarim.
Posto vidim da si veoma upoznat :), a sta znaci ono
"nije ozbiljnije podrzavala"? Ne znam da li da
pisem sta ova verzija sto ja imam moze, ali bas
bi me zanimala tvoja definicija "dobrog" kod
generatora za baze podataka.
Imam prijatelja koji misli da zna Clipper. :)
Kada je video neke od ovih C-kod generatora bio
je vrlo zainteresovan za to isto ali na Clipper-u.
Sta bi mu ti preporucio?
Pozdrav.
cccc.442postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Nova knjiga
Date: Thu, 27 Jul 1995 14:11:11
U izdanju Mikro Knjige priprema se naslov:
OBJEKTNO ORIJENTISANO PROGRAMIRANJE
NA JEZIKU C++
od osnovnih pojmova do naprednih tehnika
Dragan Milicev
480str. Format 23,5x16,5cm
Najkompletniji udzbenik na nasem jeziku za objektno
orijentisano programiranje (OOP) i jezik C++. Na lagan i postupan
nacin uvodi vas u osnovne principe programiranja i jezika C++, kao
modernog sredstva za realizaciju softvera. Prikazuje i objasnjava
sve detalje jezika, kako bi citalac bio sposoban da analizira i
najslozenije tudje programe i biblioteke klasa, kao i da pise
kompleksne sopstvene programe u bilo kom okruzenju. Prikazan je
jezik u celini, tako da knjigu mogu citati i oni koji
uopstenepoznaju jezik C. Knjiga sadrzi i prikaz jedne objektne
metodologije. Na nizu primera objasnjavaju se naprednije tehnike
programiranja na jeziku C++. Iako su objasnjenja jasna, potpuna i
detaljna, nivo izlaganja je izuzetno visok.
Knjiga polazi od pretpostavke da citalac zna osnovne pojmove
tradicionalnog, strukturiranog programiranja ijezika, kao sto je,
na primer, Pascal.
Misljenja o knjizi
"Knjiga je prvenstveno namenjena ljudima koji se profesionalno
bave programiranjem a zele da se upuste u vode objektne
metodologije kao nove strategijeu programiranju. Medjutim,
namenjena je i mladjim, ambicioznim ljudima koji imaju smisla,
sposobnosti i predznanja da se upuste u jedan nov izazov."
prof. Dušan Velasavec, recezent
"Pojava ove knjige je znacajan dogadjaj, jer je prvi put u
literaturi na nasem jeziku spojena metodologija objektno
orijentisanog programiranja i projektovanja sa samom
implementacijom u jeziku C++."
prof. dr. Zoran Jovanovic, recezent
"Prva knjiga kod nas kja se iscrpno bavi svim detaljima jezika
C++, cak i onima o kojima se nije moglo naci nista u do sada
izdatim knjigama."
Janko Stamenovic, saradnik casopisa Racunari
... They catched me writing on the wa...
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.443.djn,
> Upis/citanje proizvoljnog podatka/grupe je moguc u C-u konstrukcijama
> tipa:
>
> fread(fp, sizeof(var), 1, &var)
> fwrite(fp, sizeof(var), 1, &var)
>
> gde je 'var' promenljiva bilo kog tipa.
Svaka cast...
Pocecu da se kunem i u C.
Probao sam i radi (naravno). Upisivao sam i ucitavao jednu strukturu podataka.
fread(&student, sizeof(student), 1, fp);
Da li moze nekako da se odjednom ucita niz (veci broj ili bas niz) struktura?
Ona jedinica (size_t n - "number of items read") sluzi za to, ali mi nije
uspelo da
ucitam podatke u niz jednom komandom fread.
cccc.444nbatocanin,
> Posto vidim da si veoma upoznat :), a sta znaci ono
> "nije ozbiljnije podrzavala"?
Pa i nisam baš specijalno upoznat. Davno je bilo i Pro-C me je
interesovao u okviru oblasti generatora programa i korisničkih
interfejsa. Nisam detaljnije gledao, ali garant bi se sećao da je
bila neka ozbiljnija podrška. Koliko se sećam, akcenat je bio na
korisničkom interfejsu. Doduše, to me je tad više interesovalo, pa
sam možda i preskočio bazu.
> Kada je video neke od ovih C-kod generatora bio
> je vrlo zainteresovan za to isto ali na Clipper-u.
> Sta bi mu ti preporucio?
Pa, izbor je veoma širok. Pošto ne koristim ozbiljno ni jedan, ne mogu
dati preporuku bez rezerve. Obično se radi o razvojnim okruženjima,
ne o čistim generatorima. Od onoga što sam video najpoznatiji su
DBSee, Genifer, ... Po čuvenju bih isprobao UltimADE. Mada, svi oni gube
prvobitni smisao sa pojavom inegrisanih vizuelnih alatki.
cccc.445postmast,
From: nikola@fon (Nikola Mitrovic)
Subject: cccc
Date: Sat, 29 Jul 1995 21:08:51 GMT
EKSKLUZIVNO! EKSKLUZIVNO! EKSKLUZIVNO!
>> Partial DOOM Sources in C/C++ <<
Skoro sve rutine iz popularne igre DOOM!
[sve bitne rutine: vektori, timing,
scaling, grafika, delimicno zvuk, mape,
konzola, i/o, joystick, sprajtovi,
hi-score, main, i jos mnogo toga...]
Rutine ne poseduju komentare, ali su sve
varijable i funkcije vise nego jasno
krstene; veliki broj 'inline' instrukcija
Za sve informacije mail na:
<nikola@cherokee.hobbiton.co.yu> ili
<nikola@fon.fon.bg.ac.yu>
DOOM! DOOM! DOOM! DOOM! DOOM! DOOM! DOOM!
cccc.446mitar,
>> DBSee, Genifer, ... Po cuvenju bih isprobao UltimADE. Mada, svi oni gube
>> prvobitni smisao sa pojavom inegrisanih vizuelnih alatki.
Vrlo dobro. Prenecu, mada za ovaj poslednji nikad cuo.
Pozdrav.
cccc.447postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Nova knjiga
Date: Mon, 31 Jul 1995 11:39:01
PS> U izdanju Mikro Knjige priprema se naslov:
PS> OBJEKTNO ORIJENTISANO PROGRAMIRANJE
PS> NA JEZIKU C++
A cena? Sumnjam da ce biti 'sitnica' ;)
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.448postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: STA RADI...
Date: Tue, 1 Aug 1995 22:02:34 GMT
Jugoslav Stojanov je napisao:
>> Sta treba staviti umesto znaka pitanja (?) u sledecem programu:
>> ...
>> printf("%?",2["ABCD"]);
>> ...
>> i sta ce biti ispisano ...
Jesi li ti siguran da ce to da prodje kroz kompajler? Mislim, cak i ako se
ona dvojka shvati kao pointer cija je integer vrednost 2, kompajleru
nedostaje informacija o tipu koji gadja pointer da bi mogao da adresira
pravi element niza, ciji je indeks jednak lokaciji u memoriji u koju je
loader smestio literal "ABCD"? Ili se mozda zezas?
--
Nisam zgodan al sam plodan
cccc.449postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: ACK & BUSY
Date: Tue, 1 Aug 1995 22:10:15 GMT
Dejan Jovanovic je napisao:
>> AG> for(c=0;string[c]!='\0';c+=1){}
>> AG> Ja tu nevidim neku mogucu optimizaciju (prosvetli me ako gresim :)).
>> Nema tu vise neke vece optimizacije. Vreme je da iskoristis integrisani
>> assembler (ako neznas uci obavezno) . Procitaj pomalo sta rade oni momci sa
Ima tu jos ohoho mesta za optimizaciju i bez asemblera. Glavna nezgoda
je sto ljudi zaboravljaju da C ima pointersku aritmetiku. brojacka
promenljiva je sasvim suvisna, a tek adresiranje elementa niza pomocu nje!
string[c] ce prvo izazvati sabiranje c-a i string-a, pa tek onda zahvatanje
u memorijsku lokaciju koja se dobije sabiranjem. I posle svega, jos
izvrsavas c += 1. Malocas na nekom drugom mestu u ovoj konferenciji napisah
bolje resenje, ali evo sad cu da ga ponovim:
size_t strlen( const char *s )
{
char
*local = s;
while( *(local++) )
;
return local - s - 1;
}
Ovo je vec blizu granice brzine koja moze da se izvuce iz cistog C-a.
--
Integer out of range
cccc.450postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: Nova knjiga
Date: Tue, 1 Aug 1995 22:13:29 GMT
Predrag Supurovic je napisao:
>> U izdanju Mikro Knjige priprema se naslov:
>>
>> OBJEKTNO ORIJENTISANO PROGRAMIRANJE
>> NA JEZIKU C++
>>
>> od osnovnih pojmova do naprednih tehnika
>>
>> Dragan Milicev
>>
>> 480str. Format 23,5x16,5cm
>>
Jedno banalno pitanje: da li znas koliko kosta?
--
Mala, mala, mala grupa hedera
cccc.451mkaralic,
> From: rsasa@fon (Radetic Aleksandar)
>
> Izvinjavam se zbog upada u diskusiju, ali sudeci prema ovim podacima,
> iskustva Laboratorije za informacione sisteme FON-a u radu sa MS VC++
> 1.5 professional su mnogo bolja od Vasih sa Borland-ovim proizvodima.
Kad smo već kod toga, zanima me kakve su razlike između MSVC 1.0 i 1.5.
Kod mene na 386SX/40/4MB MS VC 1.0 prilično fino radi (samo okruženje radi
veoma brzo u odnosu na druge programe). Kompajliranje mi deluje malo sporo, a
rezultati su sledeći:
Kada napravim,pomoću Application Wizzard-a, aplikaciju koja podržava OLE, sve
se bilduje oko 6 minuta, koliko i aplikacija stvorena uz pomoć App Expert-a, s
tim što App Expert iz BC++ 4.0 ne podržava OLE.
Inače, čini mi se da se sitniji programi brže bilduju u BC++.
Zanima me još jedna stvar, a to je šta, ustvari, sadrži MFC?
I još jedno. Da li su u MSVC 1.5 implementirane klase za rad sa datumima, i
da li je iko radio sa ovim čudom na 4MB? Bio bih vrlo zahvalan svima koji mi
odgovore.
Pozdrav // Mik !!!
cccc.452sikima,
>> knjiga OBJEKTNO ORJENTISANO PROGRAMIRANJE NA JEZIKU C++
>> izdanje Mikro knjige
Koliko znam zadnja cena bila je 70 din. Knjiga treba da izadje do
kraja augusta. Vise informacija na 542 516 Mikro knjiga.
Puno pozdrava od
Sikime
P.S. Nadam se da neko ovo cita iz Mikro knjige i da ce me imati u
vidu prilikom pretplate (((((:
cccc.453nbatocanin,
> Vrlo dobro. Prenecu, mada za ovaj poslednji nikad cuo.
UltimADE su na poslednjem takmičenju razvojnih timova koristile čak
dve od tri prvoplasirane ekipe (ako se dobro sećam).
cccc.454postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Nova knjiga
Date: Tue, 01 Aug 1995 11:27:41
PS> U izdanju Mikro Knjige priprema se naslov:
PS> OBJEKTNO ORIJENTISANO PROGRAMIRANJE
PS> NA JEZIKU C++
VS> A cena? Sumnjam da ce biti 'sitnica' ;)
Pa i nije. U pretplati, cena je 70 dinara. Kasnije ce biti visa.
... Pusenje ili zdravlje. Odlucite sami.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.455rrad,
> UltimADE su na poslednjem takmicenju razvojnih timova koristile
> cak dve od tri prvoplasirane ekipe (ako se dobro secam).
OK, preuzimam na svom rodjenom uzeru, tj. stigao sam sa
odmora. :) Posto ja nemam blagog pojma o Clipperu,
dzaba mi to. No bez obzira, kako stici doticnog?
Jedno uopsteno pitanje, mada nije mnogo izvan dosadasnje price,
- ne odnosi se specijalno na tebe, mozda neko zna:
Zbog cega je C dir najneazuriraniji direktorijum na SEZAM-u?
Ili, kada ce vec jednom da stignu nove verzije DFlat-a,
EasyVision-a itd?
Ne zelim da budem neprijatan, ali mi se cini da smo
(mi, zainteresovani za C i C++ pogotovu) malko zapostavljeni.
Pozdrav,
RRadovanovic.
cccc.456smarkov,
> Da li moze nekako da se odjednom ucita niz (veci broj ili bas niz)
> struktura?
> Ona jedinica (size_t n - "number of items read") sluzi za to, ali mi nije
> uspelo da
> ucitam podatke u niz jednom komandom fread.
Naravno, ali uz dele date ograde. Jezik ne garantuje da su elementi strukture
složeni bez "rupa" (zbog performansi - čitanje int-a na adresi deljivoj sa
četiri je na 32-bitnim mašinama obično mnogo brže nego sa adrese n*4+1).
Vidi na svom kompajleru rezultat sledećeg programa:
struct fali1 {
int a;
char c[1];
} niz[2];
main() {
printf("%d\n", (char *)&niz[1] - (char *)&niz[0]);
printf("%d\n", sizeof(struct fali1));
}
Ako arhitektura ciljnog procesora dozvoljava da prosti podaci (char, int,
long) budu na proizvoljnim adresama, za kompajler obicno postoji #pragma
direktiva kojom je moguće spakovati strukture tako da nema popunjavanja (eng.
padding). Kod MSC kompajlera pragma je :
#pragma pack(1).
Ova osobina se može kontrolisati na nivou delova izvornog koda jer
#pragma pack() vraća na podrazumevano stanje.
Konačno, ovakva kontrola je pored opisanog slučaja sa upisom/čitanjem
podataka od značaja za komunikacioni softver (kada je tačno specificirano
šta ide na "žicu").
cccc.457postmast,
From: rsasa@fon (Radetic Aleksandar)
Subject: Re: cccc
Date: Thu, 3 Aug 1995 12:41:11 GMT
Milorad Karalic (mkaralic@sezam.UUCP) wrote:
: Kad smo vec kod toga, zanima me kakve su razlike izmedu MSVC 1.0 i 1.5.
Razlika izmedju svake verzije Microsoft Visual kompajlera je u MFC-u
(Mirosoft Foundation Classes). Konkretno, radi se o C++ funkcijama koje
su dostupne i u source-u, a koriste se prilikom "automatskog" generisanja
kostura aplikacije. Konkretno, MSVC 1.5 ima nesto poboljsane Wizard-e za
klase, a razlike u MFC-u su znacajne (vece mogucnosti). Uopste, samo
okruzenje je mnogo pristupacnije (lakse za koriscenje). Za klase za rad sa
datumima nisam siguran (znam da postoje standardne funkcije u C-u za rad sa
datumima) a osnovni problem je sto kompletan softver jedva da se mrda ispod
6 Mb RAM-a (preporucljivo je 8 Mb). Verzija 1.5 moze da generise samo 16-bitne
aplikacije, dok 2.0 moze i 32-bitne. Kompletna instalacija koja moze da odradi
veci deo posla oduzima 80 Mb na hardu, a full instalacija (velicina CD-a je
oko 240 Mb).
Pozdrav, Sasa
cccc.458postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: cccc
Date: Wed, 02 Aug 1995 17:07:02
>>> Sada mene zanima kako si uspeo da citas stanja pojedinih
>>> izvoda (pinova) ?
>> PORT:379H Read-only: Printer Status
>> 7 6 5 4 3 2 1 0
>> 0 0 0
>> bit
>> 3: -ERROR (pin 15) 0=printer signals an error
>> 4: +SLCT (pin 13) 1=printer is selected
>> 5: +PE (pin 12) 1=out of paper
>> 6: -ACK (pin 10) 0=ready for next character
>> 7: -BUSY (pin 11) 0=busy or offline or error
Thanx, vec sam provalo iz knjige PC/ROM BIOS :) , ali nema za seriske
portove :(
>> Izvor: TechHelp (imas ga na Sezamu)
Nazalost nemam pristup sezamu (uskoro idem na fax pa mi se ne isplati),
ako ga imas jevi pa da skinem od tebe ako nemas nista protiv :)
>> dragan
BTW sta nameravas da radis sa stampacem (grafika ili text) ?
ĐŠč█ Pozdrav Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.459postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: TLINK 2.0
Date: Sat, 29 Jul 1995 18:07:00
RA>Pokusaj da promenis memorijski model (ne Tiny) i da setujes
RA>environment promenljive za biblioteke, a ne da ih navodis u
RA>komandnoj liniji. Cudno, ali i mene je nesto slicno zezalo.
RA> Pozdrav,
RA> Sasa
Hvala na odgovoru. Sad sam pressao na BC++2.0 i sa istom sintaksom
nema problema. TLINK u ovoj verziji ima i *.CFG fajl, dok
u TC 2.0 (skinutoj sa diska) ovog fajla nije bilo.
Chombe KAN
___
■ OLX 2.1 TD ■ Bel Spagette.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.460postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: Nova knjiga
Date: Sat, 29 Jul 1995 18:07:00
PS>U izdanju Mikro Knjige priprema se naslov:
PS>OBJEKTNO ORIJENTISANO PROGRAMIRANJE
PS>NA JEZIKU C++
Dali znass mozzda koja cce biti cena (otprilike)?
10x
Chombe KAN
___
■ OLX 2.1 TD ■ Dragstor Maxtor.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.461postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: Problem sa BP
Date: Sat, 29 Jul 1995 18:09:00
Jednom sam ovde postavio pitanje, zassto prvi deo ne radi
a drugi radi. Pretpostavlja se da koristite ili prvi deo ili drugi deo.
#include <dos.h>
#include <conio.h>
struct REGPACK preg;
unsigned char bukva[16]={255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255};
main()
{
preg.r_ax=0x1100;
preg.r_bx=0x1000;
preg.r_cx=0x0001; (1 DEO)
preg.r_dx=65;
preg.r_es=FP_SEG(bukva);
preg.r_bp=FP_OFF(bukva);
intr(0x10,&preg);
asm mov ax,0x1100;
asm mov bx,0x1000;
asm mov cx,0x0001;
asm mov dx,0x0041; (2 DEO)
asm push ax
asm mov ax,SEG bukva
asm mov es,ax
asm pop ax
asm mov bp,OFFSET bukva
asm int 0x0010;
}
To je zato ssto sam kompajler koristi BP registar za svoje namene,
tako da petljanje sa njim nije bass preporuccljivo. Obiccno se to mozze
izbecci korissccenjem nekog drugog registra, ali u ovom primeru mora
da postoji bass BP registar, possto funkcija za redefinisanje slova trazzi
BP registar kao parametar za ofset. Zato ako koristite BP registar, obavezno
to treba da bude asemblerska instrukcija.
Jedino mi nije jasno zassto MSC 5.1 ne podrzzava uopsste korisccenje
BP registra. Dali je to "popravljeno" u nekim narednim verzijama?
Chombe KAN
___
■ OLX 2.1 TD ■ ENVER LYNN - Albanski porno glumac
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.462visnja,
> Zbog cega je C dir najneazuriraniji direktorijum na SEZAM-u?
> Ili, kada ce vec jednom da stignu nove verzije DFlat-a,
> EasyVision-a itd?
Verovatno sto je i C najneazurniji jezik :)
cccc.463smarkov,
>>> Sta treba staviti umesto znaka pitanja (?) u sledecem programu:
>>> ...
>>> printf("%?",2["ABCD"]);
>>> ...
>>> i sta ce biti ispisano ...
>
> Jesi li ti siguran da ce to da prodje kroz kompajler? Mislim, cak i ako se
> ona dvojka shvati kao pointer cija je integer vrednost 2, kompajleru
> nedostaje informacija o tipu koji gadja pointer da bi mogao da adresira
> pravi element niza, ciji je indeks jednak lokaciji u memoriji u koju je
> loader smestio literal "ABCD"? Ili se mozda zezas?
Sve je u redu. Specifikacija jezika kaže da je konstrukcija a[b] ekvivalentna
sa *(a+b). Ovo se induktivno proširuje i na višedimenzonalne nizove.
Time je 2["ABCD"] "ABCD"[2] = 'C' = 67.
cccc.464postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: cccc
Date: Fri, 4 Aug 1995 13:11:43 GMT
WARNING!!!
Pre nekoliko meseci sam primetio da Turbo C (TC) 2.00 pogresno
alocira blokove u Large u Huge modelu i da brka segment:offset
ukoliko je ukupno alocirani prostor veci od 64K (naravno za
razlicite pointere: recimo, imate niz od deset pointera na
karaktere i za svaki zakacite po 10K * 10 pointera = 100K =>
TC 2.00 se sludi nacisto!).
Eh, juce mi covek javlja da se slicno desava i sa BC++ 2.0.
Pretpostavljam da je stvar ista i sa BC++ 1.0. Ukoliko se cudite
zasto vam program brljavi na TC 2.00 i na BC++ 2.0 promenite
kompajler!!! Posto ja koristim K&R C pa mi je TC sasvim dovoljan,
probao sam i problema nema na TC 2.01. Ne znam za BC++ 3.x ++.
Problema nema ni na Microsoft C 5.0 (verujem ni na ostalim).
Uzgred, verzija TC se prikaze u boksu koji se javi ukoliko nema
TCCONFIG.TC fajla, a ukoliko nema boksa pokusajte da pozovete TCC
i on ce ispisati verziju. Ukoliko imate TC 2.00 menjajte odmah
sa TC 2.01 !!!!
cccc.465postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: Nova knjiga
Date: Sat, 29 Jul 1995 18:07:00
PS>U izdanju Mikro Knjige priprema se naslov:
PS>OBJEKTNO ORIJENTISANO PROGRAMIRANJE
PS>NA JEZIKU C++
Dali znass mozzda koja cce biti cena (otprilike)?
10x
Chombe KAN
___
■ OLX 2.1 TD ■ Dragstor Maxtor.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.466postmast,
From: anubis@ELF.bl.ac.yu (Igor Loncarevic)
Subject: password hasher (crypt()) replacement
Date: Sat, 5 Aug 1995 01:32:09 GMT
[ Article crossposted from sci.crypt,comp.os.linux.development ]
[ Author was Cees de Groot ]
[ Posted on 1 Aug 1995 23:46:09 +0200 ]
Hi all,
I've been working on a better password hasher for Linux, because I think
standard crypt() is a kind of an anachronism for this system. I think I
came up with something workable, but I would like to have the opinion
of other people before I start patching half the system. The new system
will have a version indicator in the first byte of the hashed password and
a standard compare function; this will make implementing other (better)
algorithms much easier.
The basic idea was to use MD5 for quality hashing, and a very slow random
number generator for bringing speed to it's knees (MD5 is far to fast in
order to be useable as a password hasher). I'll post the main loop here
in order to illustrate the code I have written until now:
---------------------------
char *
crypt_md5 (const char *key, const char *salt)
{
MD5_CTX ctx;
unsigned char digestbuf[16];
char *resbuf, *resptr;
unsigned int saltlen, keylen;
unsigned long randval;
int i, rounds;
/*
* Sanity checks. We put _some_ limits on the fun:
*/
if (key == NULL || salt == NULL)
return NULL;
saltlen = strlen (salt);
keylen = strlen (key);
if (keylen > 0xf000 || saltlen > 0xf000)
return NULL;
/*
* Set-up stuff for the loops
*/
MD5Init (&ctx);
resptr = malloc (saltlen + keylen + 10);
if (resptr == NULL)
return NULL;
/*
* Do a couple of rounds of sending data to MD5
*/
for (rounds = 0; rounds < 5; rounds++)
{
/*
* Hash password and salt
*/
MD5Update (&ctx, key, keylen);
MD5Update (&ctx, salt, saltlen);
/*
* Attach salt and password to each other, and
* seed the LFSR generator with it.
*/
sprintf (resptr, "%04X", rounds);
strcat (resptr, key);
strcat (resptr, salt);
lfsr_seed (resptr, strlen (resptr));
/*
* Hash password and salt, but now byte by byte, alternating with
* random numbers from the LFSR generator.
*/
for (i = 0; i < keylen; i++)
{
MD5Update (&ctx, key + i, 1);
randval = lfsr_rand ();
MD5Update (&ctx, (char *) &randval, sizeof (randval));
}
for (i = 0; i < saltlen; i++)
{
MD5Update (&ctx, salt + i, 1);
randval = lfsr_rand ();
MD5Update (&ctx, (char *) &randval, sizeof (randval));
}
/*
* Repeat for a second time, with slight differences.
*/
sprintf (resptr, "%04X", 9999 - rounds);
strcat (resptr, salt);
strcat (resptr, key);
lfsr_seed (resptr, strlen (resptr));
for (i = 0; i < saltlen; i++)
{
MD5Update (&ctx, salt + i, 2);
randval = lfsr_rand ();
MD5Update (&ctx, (char *) &randval, sizeof (randval));
}
for (i = 0; i < keylen; i++)
{
MD5Update (&ctx, key + i, 2);
randval = lfsr_rand ();
MD5Update (&ctx, (char *) &randval, sizeof (randval));
}
}
MD5Final (digestbuf, &ctx);
/*
* Look how long the result will be and calloc a buffer for it
* 2 + the salt + the MD5 key.
*/
resbuf = calloc (4 + saltlen + 24, 1);
if (resbuf == NULL)
return NULL;
/*
* Fill the buffer with: length of salt, salt, MD5 digest
*
* For easier access, we don't compress the salt length. Note that
* we store the salt length in a host-independent format.
*/
resbuf[0] = CRYPT_METHOD_MD5;
resbuf[1] = ((saltlen & 0x000f) ) + 'A';
resbuf[2] = ((saltlen & 0x00f0) >> 4) + 'A';
resbuf[3] = ((saltlen & 0x0f00) >> 8) + 'A';
resbuf[4] = ((saltlen & 0xf000) >> 12) + 'A';
strcat (resbuf, salt);
resptr = resbuf + strlen (resbuf);
tobase64 (digestbuf, 16, resptr); /* Could delete two zeroes here... */
return resbuf;
}
-----------------
(you can get the latest version as
ftp.lake.de:/homepages/s2449/passwd-0.xy.tar.gz, where xy is a version number)
Comments:
- MD5 is the standard implementation; I took it from PGP;
- lfsr_rand is my (hopefully correct) implementation of an alternating
stop-and-go combination of three LSFR's, which has the nice property
of being slow (BBS would probably be an even better candidate here,
but I don't know the legal status of that one). The seed function just
mixes up the bits from the input a little bit and feeds the registers
with them.
- In this implementation, salt is a 72bit number represented in base64
notation; it can have any length but that is what my salt-generator
generates.
What I would like to have as feedback:
A) On the algorithm:
- Does this method make cryptological sense? Is my slow-down with
the RNG undermining MD5, maybe ?
- Tentative here is that one can simply increase the loop count in
order to slow down attacks. With the current loopcount, it already
performs 10 times slower than standard crypt(). But again: does it
make sense, does it make the algorithm any weaker, when I increase
the loopcount (I was thinking of increasing it so you need at
least around a second for one hash on an average 486) ?
B) On the implementation (you probably want full sources for this):
- I did my best to implement a reasonable fast version of the
algorithm in order to try to prove that this algorithm is inherently
slow (ie., isn't vulnerable to attacks with better algorithms like
fcrypt()). Are there _BIG_ optimizations I overlooked ?
C) To the Linux community:
- Do you care for such a new system? Do the guys who have developed
stuff like login/passwd/ftpd/telnetd/... care to build this in?
Thanks for any comments. If you respond through a follow-up, I would be
very glad with the Cc: per mail, because my news-connections are quite
flaky this time of year (I got two NNTP and one UUCP connection, none
of them works :-(). If you don't have FTP access, I'll be glad to send
a copy of the sources by mail (it's only 18k as gzipped, uuencoded tar.
small enough to post?).
And you Linux guys: please follow-up only to comp.os.linux.development
if you have comments on point C).
Regards
Cees
--
Cees de Groot, OpenLink Software <cg@bofh.lake.de>
PGP26ui: 14 C4 B3 B6 97 7F CA 4F FC 7D E8 B1 AB 25 03 19 [Key on servers]
--
-+-
Igor Loncarevic, anubis@elf.bl.ac.yu
cccc.467iznogud,
:: Zbog cega je C dir najneazuriraniji direktorijum na SEZAM-u?
:: Ili, kada ce vec jednom da stignu nove verzije DFlat-a,
:: EasyVision-a itd?
I ja se pridružujem vapaju :)))
BTW, pre nekog vremena je Maksa u temi razno (čini mi se) okačio
jedan prilično dobar help za C/C++. Ima li šanse da se taj help
prebaci u INFOPROG, pošto su tamo prilično dobro dati odgovori
na većinu pitanja u ovoj konferenciji?
BTW 2: Koliko često se usklađuju direktorijumi Sezama i Sezama PRO?
Pre neki dan sam se prilično neprijatno iznenadio... :(
(primer: Telix4Win, SuperPad...)
cccc.468dejanr,
>> BTW 2: Koliko često se usklađuju direktorijumi Sezama i Sezama PRO?
>> Pre neki dan sam se prilično neprijatno iznenadio... :(
Ne usklađuju se uopšte, osim što Bulaja ponekad prenese neki zanimljiv
fajl. Gledaću da tokom sledeće nedelje ponovo prenesem kompletno stablo
kataloga na test sistem, tako da će onda biti sinhronizovani.
cccc.469mkaralic,
> Razlika izmedju svake verzije Microsoft Visual kompajlera je u MFC-u
> (Mirosoft Foundation Classes). Konkretno, radi se o C++ funkcijama
Da li si radio nešto više sa ovim? Uspeo sam malo da se snađem sa Help-om i
našao sam neke klase CTime i CTime??? (ovde ide neka reč koja asocira na
vremensku razliku). Uključio sam afx.h i stvorio objekat datog tipa, ali
program nije hteo uopšte da se izlinkuje :(. Linkej javlja više grešaka
>>Unresolved External<<. Inače, uključena mi je opcija MFC, ali ništa ne vredi,
a što je još luđe, kada ovo podesim da da DOS EXE, javi mi da ne može da
pronađe neke biblioteke. Da li je iko imao iskustva sa ovim? Bio bih zaista
srećan kada bih mogao da rešim problem.
Pozdrav // Mik !!!
cccc.471postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: cccc
Date: Mon, 07 Aug 1995 14:21:00
IG>Pre nekoliko meseci sam primetio da Turbo C (TC) 2.00 pogresno
IG>alocira blokove u Large u Huge modelu i da brka segment:offset
IG>ukoliko je ukupno alocirani prostor veci od 64K (naravno za
IG>razlicite pointere: recimo, imate niz od deset pointera na
IG>karaktere i za svaki zakacite po 10K * 10 pointera = 100K =>
IG>TC 2.00 se sludi nacisto!).
Interesantno! Ja joss ne radim u Large i Huge modelima, ali
desio mi se sliccan problem. (TC2.0) Naime, dobio sam neki
source koji treba da pravi prozore koji mogu da se preklapaju.
Sve je bilo OK, ali ako zatvorim prozor i otvorim opet isti,
umesto sadrzaja prozora dobijam na ekranu djubre. Lepo sam
analizirao program i gresske nije bilo. Onda sam umesto
malloc stavio calloc i sve je proradilo.
Chombe KAN
___
■ OLX 2.1 TD ■ IF X YOK 10 SURGUN 30 - T°˘§ýŕ BASIC
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.472postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: cccc
Date: Thu, 10 Aug 1995 13:56:00 GMT
KLIMENT ANDREEV pise:
>> analizirao program i gresske nije bilo. Onda sam umesto
>> malloc stavio calloc i sve je proradilo.
Aha! Znaci 'malloc' je lose napisan, u tome je stvar. Svejedno,
'malloc' radi ocito dobro na TC2.01. Uzgred, simptomi koji su
se pokazali kod tebe su tacno ono sto sam ja primetio: meni je
snimao posle alokacije djubre na disk iako sam ja punio blok
ispravnim sadrzajem, tebi je pucao djubre na ekran, a sve u
pocetku izgleda da radi kako treba. To je tacno to. :-)
cccc.473varsic,
Da li neko moze da mi da Windows.h datoteku za Borland C v2.0 !
Vlada
cccc.474ikordic,
RE: BC vs. MSC
=> 2.0, exception handling...), MS ima bolju prateću biblioteku funkcija
=>( MFC - Microsoft Foundation Classes). Oba zauzmu po 50-70 MB na disku
=>( BC 4.5 vs. MS VC 1.5), tako da je bolje imati help i primere na CD-u.
Da napomenemo da postoji jedna strašna stvar koja će ozbiljnim koderima
neviđeno olakšati život. Zove se Microsoft Developers Network, periodično
CD izdanje slavne (ili "slavne" ;)) kuće iz Redmonda. Sadrži kompletna
uputstva za sve izdate alatke za razvoj u čitljivoj i printabilnoj formi (C,
Basic, MASM, Fortran, ...), najnovije novosti po pitanju bug-lists, API
dogradnje, tips 'n' tricks, totalno izkrosreferencirana, kompletne knjige
("Programing Windows", Petzold) itd. zzivotic je o pisao o starijem izdanju
u "Računarima" pre nekog vremena. MS-ov, Borland-ov i Watcom-ov help je nula
u poređenju sa ovime.
Iako može da se koristi i uz BC, meni sasma dovoljan razlog da se prešaltam
preko... Nemam puno OWL koda, a dosta ti govori o odnosu firme prema kupcu i
tome kako će ga ubuduće podržavati.
cccc.475iznogud,
Re: Re: MS vs BC
:: Iako može da se koristi i uz BC, meni sasma dovoljan razlog da se
:: prešaltam preko... Nemam puno OWL koda, a dosta ti govori o odnosu firme
:: prema kupcu i tome kako će ga ubuduće podržavati.
Izgleda da MS i Borland različito shvataju odnos prema kupcu. Sa jedne
strane je Borland, koji nudi savršeno ušminkane i manje zahtevne
programe, uz cenu da ispod te šminke nije uvek najsjajnija 'mašina'
(engine). Sa druge strane je MS, čiji programi zahtevaju enormne
resurse (ko ima para za mašinu na kojoj MSVC 'leti', verovatno ne
živi od programiranja ;))), ali je kasniji odnos prema kupcu bez
greške.
BTW, kad smo već kod biblioteka, ima li uopšte nekog ko radi sa MFC??
OWL poklonika još i može da se 'nahvata' ;)) a rad bih bio da čujem
neke uporedne utiske.
cccc.476szdravko,
szdravko
Interesuje me jedan problem. U dodatku racunara "Moja skola C-a" Z. Zivotic
navodi da je pogodno globalno vidljive promenljive grupisati u header file i
ukljucivati ih svuda gde treba da su vidljivi. Medjutim, rekose mi neke kolege
da se negde u Stroustrup-u moze procitati da ovo i nije najbolja praksa. Sta je
od svega ovoga tacno? Inace, mislim da bi bilo korisno da izadje nastavak
Zivoticeve skole
cccc.477pyramid,
>> Interesuje me jedan problem. U dodatku racunara "Moja skola C-a" Z.
>> Zivotic navodi da je pogodno globalno vidljive promenljive grupisati u
>> header file i ukljucivati ih svuda gde treba da su vidljivi. Medjutim,
>> rekose mi neke kolege da se negde u Stroustrup-u moze procitati da ovo
>> i nije najbolja praksa. Sta je
Mislim da je najveci problem sto Zivotic pise o C-u, a Stroustrup o C++ jeziku.
U principu, u C-u se skoro uvek globalne promenljive grupisu u header file
(primer je standardna C biblioteka i standardni header-i), a logika objektnog
programiranja izbegava globalne promanljive...
cccc.478janko,
>>> Interesuje me jedan problem. U dodatku racunara "Moja
>>> skola C-a" Z. Zivotic navodi da je pogodno globalno
>>> vidljive promenljive grupisati u header file i
>>> ukljucivati ih svuda gde treba da su vidljivi. Medjutim,
>>> rekose mi neke kolege da se negde u Stroustrup-u moze
>>> procitati da ovo i nije najbolja praksa. Sta je
> Mislim da je najveci problem sto Zivotic pise o C-u, a
> Stroustrup o C++ jeziku. U principu, u C-u se skoro uvek
> globalne promenljive grupisu u header file (primer je
> standardna C biblioteka i standardni header-i), a logika
> objektnog programiranja izbegava globalne promanljive...
Ne baš...
Nekada su se pravili mali programi, i bila je praksa da se sve što treba
svi da vide strpa u isti heder.
Međutim, to obavezno dovodi do izuzetno velike međuzavisnosti modula.
Cilj je imati module koji se, jednom napisani, mogu iskoristiti i u
drugom programu BEZ IZMENA. To se postiže time što u svakom modulu
ili, čak, grupi modula, treba uočiti funkcije INTERFEJSA i razlikovati
ih od onih implementacije. Samo INTERFEJS modula prema drugim modulima
treba da ide u heder. Dakle umesto jednostavnog koncepta "heder za sve"
treba razraditi podelu nadležnosti delova sorsa tako da niko ne izlaže
javnosti ono što javnost ne mora da zna.
To važi i za C i za C++, kada neko želi da kvalitetno programira.
cccc.479postmast,
From: vvlada@orao.etf.bg.ac.yu (Vladimir Vucinic)
Subject: Re: Nova knjiga
Date: Wed, 16 Aug 1995 21:53:36 GMT
ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) wrote:
>>> U izdanju Mikro Knjige priprema se naslov:
>>>
>>> OBJEKTNO ORIJENTISANO PROGRAMIRANJE
>>> NA JEZIKU C++
>>>
>>> od osnovnih pojmova do naprednih tehnika
>>>
>>> Dragan Milicev
>>>
>>> 480str. Format 23,5x16,5cm
>>>
Uz rizik da ne polozim nekoliko ispita, ja mislim da je knjiga
prilicno 'bliska' Stroustrup-ovom II izdanju knjige Programming
language C++. Dobro je sto je knjiga na nasem jeziku, takve knjige kod
nas jos nema, to je svakako pozitivno. Uostalom, kod C++ i ne moze
nesto novo da se izmisli.
Vladimir Vucinic
ETF Beograd
vvlada@orao.etf.bg.ac.yu
cccc.480szdravko,
Zahvaljujem se kolegama Pyramid-u i Janku Stamenovic-u na odgovorima na moje
pitanje. Uzgred, sta biste preporucili od literare za++?
cccc.481evlad,
TO: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
<> Uzgred, verzija TC se prikaze u boksu koji se javi ukoliko nema
<> TCCONFIG.TC fajla, a ukoliko nema boksa pokusajte da pozovete TCC
<> i on ce ispisati verziju. Ukoliko imate TC 2.00 menjajte odmah
<> sa TC 2.01 !!!!
Za TC 2.0 Shift+F10 daje box sa verzijom :)
cccc.482iznogud,
:: Uzgred, sta biste preporucili od literare za++?
Ako znaš engleski, 'The C++ Programming Language - second edition',
od samog autora jezika.
Za razliku od drugih knjiga o C++-u koje sam imao u rukama, ova
obrađuje i stvari koje su tek sada uvrštene u ANSI/ISO standard
(recimo, namespaces i sl.). Nije zanemarljiv ni deo o objektnom
dizajnu u C++-u. Takođe, knjiga u sebe uključuje i čuveni ARM
kao dodatak.
cccc.483szdravko,
:: Iznogud-ov odgovor
Da li je to ona knjiga sa Margaret *? Da li je mogla nekako da se nabavi kod
Sta mislis o knjizi Stanley Lipman-a? Da li postoji neka knjiga koja daje
primere primene na tehnicke sisteme. Meni C++ izmedju ostalog treba da radim
neke simulacije u okviru doktorata koji radim na Masinskom faksu. Bilo bi
pogodno da mogu da utvrdim kako su dristili C++ u takvom kontekstu (nije vazno
u kojoj oblasti tehnike).
Hvala na odgovoru!
cccc.484pyramid,
>> Nekada su se pravili mali programi, i bila je praksa da se sve sto treba
>> svi da vide strpa u isti heder.
>>
>> Medutim, to obavezno dovodi do izuzetno velike meduzavisnosti modula.
Ko kaze da se radi o malim programima? Zasto bi ukljucivanjem externe
definicije neke globalne promenljive iz drugog modula javila zavisnost medju
modulima?
>> ih od onih implementacije. Samo INTERFEJS modula prema drugim modulima
>> treba da ide u heder. Dakle umesto jednostavnog koncepta "heder za sve"
>> treba razraditi podelu nadleznosti delova sorsa tako da niko ne izlaze
>> javnosti ono sto javnost ne mora da zna.
"heder za sve"? Ako iz nekog modula hoces da iskoristis _globalnu promenljivu_
(a to s vremena na vreme _moras_ u C-u da uradis) ukljucices njegov header
file. Tako je i nastalo nesto sto se zove header file. U tom file-u se nalaze
sve _public_ definicije - znaci javne - koje jedan modul zeli da ponudi drugim
modulima. To ukljucuje funkcije, enum-e, konstante i _globalne promenljive_.
Podvlacim ovo "globalne promenljive" jer se samo njihovim izbacivanjem moze
smanjiti medjuzavisnost koda, ne samo od ostalih modula tog programa, vec i
ostalih koji rade na OS (kod pravih multitasking sistema)...
Ovo sto si napisao je, sa druge strane, tacno i u potpunosti se slazem, ali to
je i bio razlog za nastajanje Cpp-a...
cccc.485maksa,
>> Da li postoji neka knjiga koja daje primere primene na tehnicke
>> sisteme. Meni C++ izmedju ostalog treba da radim neke simulacije
>> u okviru doktorata koji radim na Masinskom faksu. Bilo bi pogodno
>> da mogu da utvrdim kako su dristili C++ u takvom kontekstu (nije
>> vazno u kojoj oblasti tehnike).
Postoji, u knjizi Roberta Lafora ima primer za water-distribution
sistem. Može da posluži kao ideja/model za druge aplikacije koje
imaju veze sa kontrolom procesa, na pr. hidrauličke sisteme u
mašinstvu, i sl.
cccc.486iznogud,
:: Da li je to ona knjiga sa Margaret *? Da li je mogla nekako da se nabavi
Ne, ta Margaret je kol'ko se se sećam (mrzi me sada da preturam ;) )
bila jedan od koautora ARM-a, tj. reference jezika koja je, praktično,
više bila namenjena piscima kompajlera nego bilo kom drugom te jako
teška za čitanje.
'The C++ Programming Language - second edition' je, kako mu i ime kaže,
dopuna prvog izdanja čiji se prevod pojavio i kod nas, u izdanju Mikro
Knjige. Mnoge stvari su u drugom izdanju izmenjene i osavremenjene
(između ostalog i citati ispred svakog poglavlja ;) ), a, kao što
rekoh, uključuje i neke stvari koje se tek sada pojavljuju u ISO C++.
Za mašinstvo ne znam, bilo bi lepo da se javi neko sa MF. žuo sam
da se tamo dosta radi u C++.
cccc.487postmast,
From: smilic@fon (Sasa Milic)
Subject: Re: cccc
Date: Fri, 18 Aug 1995 08:49:01 GMT
Zdravko Stojanovic (szdravko@sezam.UUCP) wrote:
: Zahvaljujem se kolegama Pyramid-u i Janku Stamenovic-u na odgovorima na moje
: pitanje. Uzgred, sta biste preporucili od literare za++?
Pokusaj negde (fon, ubbg, ...) da pronadjes 'FAQ about C++' (ima i za C).
Sasa
cccc.488postmast,
From: damir@osmeh.fon.bg.ac.yu (Damir Barjaktarevic)
Subject: Re: Nova knjiga
Date: Fri, 18 Aug 1995 16:32:42 GMT
> U izdanju Mikro Knjige priprema se naslov:
>
> OBJEKTNO ORIJENTISANO PROGRAMIRANJE
> NA JEZIKU C++
>
> od osnovnih pojmova do naprednih tehnika
>
> Dragan Milicev
>
> 480str. Format 23,5x16,5cm
>
A jel su u knjizi objasnjeni izuzeci, rtti i sabloni(templates)?
Vozdra, Damir
--
damir@unitop.elfak.ni.ac.yu
cccc.489janko,
>>> Nekada su se pravili mali programi, i bila je praksa da
>>> se sve sto treba svi da vide strpa u isti heder.
>>>
>>> Medutim, to obavezno dovodi do izuzetno velike
> meduzavisnosti modula.
>
> Ko kaze da se radi o malim programima? Zasto bi
> ukljucivanjem externe definicije neke globalne promenljive
> iz drugog modula javila zavisnost medju modulima?
Nisi razumeo šta sam pisao. Ja jedno, ti drugo. Da li si ikada gledao
tuđe velike C programe? Koliko veliki C program si sam napisao? Koliko
je imao linija, a koliko heder fajlova? Kako su bili organizovani heder
fajlovi? Ovo pitam samo da bih znao koliko detaljno da objašnjavam,
pošto očigledno nisi shvatio šta sam hteo da kažem... pogotovu mogu
imati dobar uvod u tvom odgovoru na posledenje pitanje...
cccc.490pyramid,
>> Nisi razumeo sta sam pisao. Ja jedno, ti drugo. Da li si ikada gledao
>> tude velike C programe? Koliko veliki C program si sam napisao? Koliko
>> je imao linija, a koliko heder fajlova? Kako su bili organizovani heder
>> fajlovi? Ovo pitam samo da bih znao koliko detaljno da objasnjavam,
>> posto ocigledno nisi shvatio sta sam hteo da kazem... pogotovu mogu
>> imati dobar uvod u tvom odgovoru na posledenje pitanje...
Mozda stvarno nisam razumeo. Koliko sam ja razumeo, hteo si da kazes da je
pogresno ukljucivati definicije globalnih promenljivih u header file jer kod
velikih programa to dovodi do medjuzavisnosti modula. Moj odgovor je trebalo
razumeti: Da, dolazi do medjuzavisnosti, ali to nije posledica ukljucivanja
definicije globalne promenljive u header file vec samo postojanje globalnih
promenljivih. Globalna promenljiva je po samoj svojoj definiciji (pa i imenu) -
globalna, sto znaci da se koristi medju vise funkcija koje mogu biti u vise
razlicitih modula (K&R su zamislili da je svaka funkcija jedan modul, sto znaci
da svaka funkcija ukljucuje odredjeni header file). Sama namena header file-ova
je da definise nesto sto je u nekom drugom modulu deklarisano. Zato mi veoma
ruzno zvuci pominjati male i velike programe, jer ja ne pravim razliku izmedju
manjih i vecih programa. Samo koriscenje funkcija standardne biblioteke
pretvara mali program u veliki jer time ukljucujem funkcije i _globalne_
promenljive stdlib-a koje te funkcije koriste. Ako ovako nesto nazivas
medjuzavisnosti (a sa tim se ne bih slozio prvo zato sto rec medjuzavisnost
znaci da su oba subjekta u radnji zavisna medju sobom) onda je tvoja
konstatacija tacna i to ne sporim (ako sam je, naravno, ja dobro shvatio). Ali
sa druge strane moj programcic je zavistan od standardne biblioteke, ali ona
nikako nije zavisna od mog programa. U projektovanju programa, ja UVEK gledam
na zavisnost modula po hijerarhiji, sto znaci da zavisnoscu ne mogu nazvati
kada jedan modul viseg hijerarhiskog nivoa (kao sto je moj program u prethodnom
primeru) koristi _BILO KOJI_ resurs modula nizeg hijerarhijskog nivoa (u
primeru standardna biblioteka).
Ne znam da li C++ objekte mozda nazivas medjuzavisnim. Sama sintaksa i nacin
pisanja objektno orjentisanih programa te navodi da stvaras zavisnost nekog
objekta viseg hijerarhijskog nivoa od objekta cije je osobine nasledio. Cak sta
vise, sama rec "naslediti" mene asocira na zavisnost.
Najveci program koji sam sam napisao u C-u bio je sastavljen od 106 .c
file-ova, 107 header file-ova (svaki .c ima svoj .h + defs.h sa standardnim
definicijama). Ne znam za broj linija, to sam davno prestao da brojim...
cccc.491janko,
>>>>> Nekada su se pravili mali programi, i bila je praksa da
>>>>> se sve sto treba svi da vide strpa u isti heder.
>>>>>
>>>>> Medutim, to obavezno dovodi do izuzetno velike
>>> meduzavisnosti modula.
>>>
>>> Ko kaze da se radi o malim programima? Zasto bi
>>> ukljucivanjem externe definicije neke globalne
>>> promenljive iz drugog modula javila zavisnost medju
>> modulima?
>>
>> Nisi razumeo šta sam pisao.
>
> Mozda stvarno nisam razumeo. Koliko sam ja razumeo, hteo
> si da kazes da je pogresno ukljucivati definicije
> globalnih promenljivih u header file jer kod velikih
> programa to dovodi do medjuzavisnosti modula.
Kao što se vidi, ja nisam govorio o "definicijama globalnih
promenljivih". Pričao sam o principu "jedan heder za sve". Recimo,
aplikacija se zve "drn", onda imaš "drn.h" i recimo dvadeset ".c" Ovo,
opet da ponovim, vodi do toga da svaki ".c" može da iskoristi bilo šta
iz bilo kog drugog ".c". Kod malog programa, to nije kritično. Kod
velikih, to znači da osim "podele na funkcije" nije urađena nikakva
globalnija podela nadležnosti delova programa.
Sličan efekat postižu i programeri i dizajneri programa i danas, čak i
kada ne naprave baš "jedan .h". To postižu na sledeći način: Unutar
svagog .h ugrade seriju "include" naredbi, a unutar, recimo, prvi.c
urade samo "include prvi.h".
Ti si dao ilustraciju svog programa: 100 .c, 100 .h. To je zdraviji
koncept, no... Ne znam složenost problema koji se rešava u programu, ali
se, za neke probleme, u praksi događa da i to nije dovoljno dobar
dizajn.
Recimo da je unutar .c neki složeni podsistem, jedan od elemenata celog
programa. Taj .c je blisko vezan za još dva .c, a neke njegove servise
koristi veći deo aplikacicije (još pedeset .c). Očigledno je da ona
dva blisko vezana .c treba da znaju puno više o podsistemu, od onih
ostalih pedeset .c Ako si za podsistem napravio samo jedan .h, onda
će i onih pedeset .c imati na raspolaganju servise koje ne bi smeli da
imaju. "Ali ja ih nigde neću koristiti u onih pedeset .c" ćeš možda
reći. Ako već nećeš, zašto se to onda ne bi videlo iz samog koda? Jer
sva pravila koja su upisana kao "komentar" se lako krše. Cilj je program
koncipirati tako da pri prevođenju budu otkrivene SVE bitne greške, pa
čak i ovakve -- onemogućiti ono što po prirodi stvari ne sme da se
dogodi.
U dobro dizajniranom programu, makar on bio napisan i u C-u, mora da se
prepoznaje da je dizajner mislio o INTERFEJSIMA, IMPLEMENTACIJAMA i
PODSISTEMIMA. To što jezik nema takve jezičke konstrukcije ne sme da
bude opravdanje za dizajnera da izbegne da uopšte razmišlja o tim
konceptima.
Ali, opet da ponovim, sve ovo ne mora da se radi kada je program
dovoljno mali. Mada je i tada korisno, jer se tako povećava šansa da će
u nekom drugom programu moći da se iskoristi neki čitav PODSISTEM iz
onog prvog, bez izmene u tekstu celog podsistema.
> U projektovanju
> programa, ja UVEK gledam na zavisnost modula po
> hijerarhiji, sto znaci da zavisnoscu ne mogu nazvati kada
> jedan modul viseg hijerarhiskog nivoa (kao sto je moj
> program u prethodnom primeru) koristi _BILO KOJI_ resurs
> modula nizeg hijerarhijskog nivoa (u primeru standardna
> biblioteka).
Vidiš, problem i jeste taj, da ne možeš ni svoj program uvek gledati kao
jedan jedini hijerarhijski nivo, pogotovu ako je program dovoljno
veliki.
Da li smo se sada razumeli?
cccc.492madamovic,
> From: arhimedčlucid.junis.ni.ac.yu (Bogdan Kecman)
> VIVA MODULA 2 (M3 mi se ne svidja)
Ma modula-x mi se ne sviđa, čim sam saznao da se "raspoloživi kompajler
za modulu-3 može naći (u obliku C sorsa) na ftp*******"
VIVA C(++).
cccc.493pyramid,
>> Kao sto se vidi, ja nisam govorio o "definicijama globalnih
>> promenljivih". Pricao sam o principu "jedan heder za sve". Recimo,
OK. Tu si upravu. Oduvek sam se jezio kad vidim all.h koji ukljuci sve ostale
header-e. Doduse, ne znam odakle sad diskusija o "jednom header-u za sve"?
Koliko se secam, sve je ovo pocelo pitanjem - da li je pametno ukljucivati
definicije globalnih promenljivih u header file.
>> Slican efekat postizu i programeri i dizajneri programa i danas, cak i
>> kada ne naprave bas "jedan .h". To postizu na sledeci nacin: Unutar
>> svagog .h ugrade seriju "include" naredbi, a unutar, recimo, prvi.c
>> urade samo "include prvi.h".
Upravo sam ovo pomenuo. Jedna stvarno idiotska stvar koja se sasvim kosi sa
samom namenom header file-ova.
>> Ti si dao ilustraciju svog programa: 100 .c, 100 .h. To je zdraviji
>> koncept, no... Ne znam slozenost problema koji se resava u programu, ali
>> se, za neke probleme, u praksi dogada da i to nije dovoljno dobar
>> dizajn.
? Kada se dogadja da i to nije dovoljno dobar dizajn?
>> Recimo da je unutar .c neki slozeni podsistem, jedan od elemenata celog
>> programa. Taj .c je blisko vezan za jos dva .c, a neke njegove servise
>> koristi veci deo aplikacicije (jos pedeset .c). Ocigledno je da ona
>> dva blisko vezana .c treba da znaju puno vise o podsistemu, od onih
>> ostalih pedeset .c Ako si za podsistem napravio samo jedan .h, onda
>> ce i onih pedeset .c imati na raspolaganju servise koje ne bi smeli da
Velika greska u projektovanju! To se u (po meni) dobro projektovanom sistemu ne
moze dogoditi... Zasto? Zato stoservise onog prvog .c file-a (.c najnizeg
nivoa) NE MOGU koristiti jos 50 .c visokog nivoa. Oni bi mogli koristiti neki
treci .c koji je samo veza izmedju 1. i npr. 3. hijerarhijskog nivoa.
>> imaju. "Ali ja ih nigde necu koristiti u onih pedeset .c" ces mozda
>> reci. Ako vec neces, zasto se to onda ne bi videlo iz samog koda? Jer
>> sva pravila koja su upisana kao "komentar" se lako krse. Cilj je program
Ako bih krsio takve stvari, mogao bih to bez obzira na to kako su uredjeni .h
file-ovi (jednostavno lokalno definises externu promenljivu)...
>> sva pravila koja su upisana kao "komentar" se lako krse. Cilj je program
>> koncipirati tako da pri prevodenju budu otkrivene SVE bitne greske, pa
Tako je, ali ovoga puta govoris o programu, a ne o header file-ovima... Nikada
ne mozes otkriti sve bitne greske. Ja sam, doduse, mislio da pricamo o
organizaciji .h file-ova, a time se samo otkrivaju neke manje greske koje
nastaju usled npr. kreiranja promenljivih istog imena i sl.
>> U dobro dizajniranom programu, makar on bio napisan i u C-u, mora da se
>> prepoznaje da je dizajner mislio o INTERFEJSIMA, IMPLEMENTACIJAMA i
>> PODSISTEMIMA. To sto jezik nema takve jezicke konstrukcije ne sme da
>> bude opravdanje za dizajnera da izbegne da uopste razmislja o tim
>> konceptima.
Ako mislis na jezicke konstrukcije unit, implementation i interface iz pascala,
C ima te konstrukcije i zovu se: library, object & header files. Slozio bih se
sa "podsistemi" i "interfejsi", ali samo u smislu programskog projekta, a ne
jezickih konstrukcija. Tu bi recimo podsistem bio grupa funkcija (struktura,
promenljivih itd.) koje vrse odredjenu namenu, a interfejsi - funkcije
(strukture itd.) za vezu medju podsistemima (naveo sam primer ranije - pravi se
.c file koji bi predstavljao vezu izmedju hijerarhijskih nivoa)...
>> Vidis, problem i jeste taj, da ne mozes ni svoj program uvek gledati kao
>> jedan jedini hijerarhijski nivo, pogotovu ako je program dovoljno
>> veliki.
To nikada nisam pomenuo (da je moj program jedan hijerarhijski nivo). Jedan
PROBLEM, u vecini slucajeva jeste, mada se on opet moze deliti na vise problema
- hijerarhijskih nivoa...
Nebojsa
cccc.494postmast,
From: poki@efnis.elfak.ni.ac.yu (Dragoljub Pokrajac)
Subject: C vs. FORTRAN
Date: Wed, 23 Aug 1995 23:48:22 GMT
Ima li neko nekakve podatke o uporednom testiranju C-a i FORTRANA na numerici
Hvala
cccc.495postmast,
From: Ilija.Djorgoski@f108.n108.z38.setnet.setnet.co.yu (Ilija Djorgoski)
Subject: Turbo C 4.5
Date: Mon, 21 Aug 1995 16:15:59
NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW ! NEW !
Izasao je novi Turbo C kompjajler ver. 4.5 Ima li neko ovaj kompjaler ?
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.496postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: obj
Date: Tue, 22 Aug 1995 19:33:03
Hi.
Posto pojedine f-je za grafiku nerade u modovima sa 256 boja,
mislio sam da izvadim iz graphics.lib obj fajl koji sadrzi tu f-ju i
da je izmenim.
Mene zanima da li to moze i kako da dobijem spisak svih .obj u
biblioteci ?
ĐŠč█ Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.497iznogud,
:: Izasao je novi Turbo C kompjajler ver. 4.5 Ima li neko ovaj kompjaler ?
Borland je odavno prestao da priozvodi C 'kompjajlere' ;), i prebacio
se na C++ (kao i svi ostali proizvođači softvera, uostalom). A BC++ 4.5
je izašao već odavno. Na šta konkretno misliš?
cccc.498sikima,
> Turbo C 4.5
Covek je u pravu.U PC magazinu video sam reklamu za Turbo C 4.5. Koja je
razlika u odnosu na Borland C++ 4.5 stvarno ne znam.
Puno pozdrava od
Sikime
cccc.499janko,
>>> Recimo da je unutar .c neki slozeni podsistem, jedan od
>>> elemenata celog programa. Taj .c je blisko vezan za jos
>>> dva .c, a neke njegove servise koristi veci deo
>>> aplikacicije (jos pedeset .c). Ocigledno je da ona dva
>>> blisko vezana .c treba da znaju puno vise o podsistemu,
>>> od onih ostalih pedeset .c Ako si za podsistem napravio
>>> samo jedan .h, onda ce i onih pedeset .c imati na
> raspolaganju servise koje ne bi smeli da
>
> Velika greska u projektovanju! To se u (po meni) dobro
> projektovanom sistemu ne moze dogoditi... Zasto? Zato
> stoservise onog prvog .c file-a (.c najnizeg nivoa) NE
> MOGU koristiti jos 50 .c visokog nivoa. Oni bi mogli
> koristiti neki treci .c koji je samo veza izmedju 1. i
> npr. 3. hijerarhijskog nivoa.
Otkud ti sad treći nivo?
>>> Vidis, problem i jeste taj, da ne mozes ni svoj program
>>> uvek gledati kao jedan jedini hijerarhijski nivo,
>>> pogotovu ako je program dovoljno veliki.
>
> To nikada nisam pomenuo (da je moj program jedan
> hijerarhijski nivo). Jedan PROBLEM, u vecini slucajeva
> jeste, mada se on opet moze deliti na vise problema -
> hijerarhijskih nivoa...
Normalno.
>>> Ti si dao ilustraciju svog programa: 100 .c, 100 .h. To
>>> je zdraviji koncept, no... Ne znam slozenost problema
>>> koji se resava u programu, ali se, za neke probleme, u
>>> praksi dogada da i to nije dovoljno dobar dizajn.
>
> ? Kada se dogadja da i to nije dovoljno dobar dizajn?
Sam si odgovorio. :) Zašto bi jedan modul imao samo jedan interfejs, ako
je za njega prirodno da ih ima, recimo, dva? Razmišljaj malo šire.
> header-e. Doduse, ne znam odakle sad diskusija o "jednom
> header-u za sve"?
Pa na to si mi replicirao, ja ni o čemu drugom nisam ni pisao,
što sam ti DVAPUT citirao, a ti nisi ni primetio. :(
cccc.500janko,
> Ima li neko nekakve podatke o uporednom testiranju C-a i
> FORTRANA na numerici
C nema rad sa kompleksnim brojevima. C++ ima. Treba njih porediti.
cccc.501pyramid,
>> >>> Recimo da je unutar .c neki slozeni podsistem, jedan od
>> >>> elemenata celog programa. Taj .c je blisko vezan za jos
>> >>> dva .c, a neke njegove servise koristi veci deo
>> >>> aplikacicije (jos pedeset .c). Ocigledno je da ona dva
>> > Velika greska u projektovanju! To se u (po meni) dobro
>> Otkud ti sad treci nivo?
Treci (cetvrti, peti itd.) nivo su onih "pedeset .c" file-ova. Prvi nivo bi bio
"slozeni podsistem" koji bi po meni morao da bude razbijen na dva hijerarhijska
nivoa (prvi i drugi za vezu), a drugi nivo su "dva .c" file-a sa kojima je
"slozeni podsistem blisko vezan".
>> >>> Ti si dao ilustraciju svog programa: 100 .c, 100 .h. To
>> >>> je zdraviji koncept, no... Ne znam slozenost problema
>> >
>> > ? Kada se dogadja da i to nije dovoljno dobar dizajn?
>> Sam si odgovorio. :) Zasto bi jedan modul imao samo jedan interfejs, ako
>> je za njega prirodno da ih ima, recimo, dva? Razmisljaj malo sire.
Podrzaumevao sam da se misli na organizaciju header file-ova. Tacnije, ako bi
trebalo da postoje dva interfejsa, postojalo bi dva .c file-a, kao i dva .h
file-a (koji bi cinili interfejs (vezni modul))...
Tako bi opet dobili 102 .c i 102 .h file-a...
Nebojsa
cccc.502szdravko,
Zahvaljujem se kolegama koji su poslali odgovore na moja pitanja i ujedno
izvinjavam sto se pre nisam javio (bio sam na odmoru).
Sto se tice MAKSA-inog odgovora, sjajno! Ja se upravo bavim hidraulickim
sistemima. Gde bi Lafor-ova knjiga mogla da se nabavi?
Sto se IZNOGUD-ovog odgovora rtice, nazalost mislim da se pored mene C++ na
Masincu bave jos samo 2-3 coveka (Sasa Markovic, koji povremeno pise za
Racunare i Mateja Opacic, koji se bavi neuralnim mrezama, kao i kolege sa
Katedre za Matematiku, ali su njihove oblasti interesovanja drugacije od moje).
Sto se tice pitanja o poredjenju C i FORTRAN-a, koliko ja znam time se na mom
faksu bavio Dr N. Mladenovic, koji je obicno dobijao rezultate da je FORTRAN
brzi za oko 10-15% u numerici (FORTRAN 5.1 vs. MSC , ali ne pretenduje na to da
se radilo o BENCHMARK testovima - samo o onome sto je njemu bilo konkretno
potrebno. Mislim da poredjenje ima smia samo ako se resavaju problemi "ciste"
numerike. U problemima kojima se sada bavim FORTRAN bas nije prihvatljiv zbog
jer se u simulacijama gubi predstava o tome sta se desava - samo objektno
programiranje tu moze da pomogne, kako se programerskog stanovista, tako i sa
stanovista razumevanja fizickog proce. Cak i kada bi FORTRAN bio brzi 100% (sto
sigurno nije), u takvim situacijama ga nije smisleno primenjivati (nazalost,
sam sam to probao).
cccc.503maksa,
>> Sto se tice MAKSA-inog odgovora, sjajno! Ja se upravo bavim
>> hidraulickim sistemima. Gde bi Lafor-ova knjiga mogla da se
>> nabavi?
Ne verujem da je kod nas negde ima u prodaji (eventualno da probaš
kod CET-a, no oni deru tako bezobrazno da ja kod njih ne bi ni kokice
kupio ;). Od mene možeš uvek da je dobiješ na kopiranje. Kad poželiš,
javi se mailom.
cccc.504rrad,
Treba mi mala pomoc.
Pre izvesnog vremena naleteo sam u nekoj od interapt lista ű
Hna opise poziva interapta za semafore ispod Novela, ali sada
ne mogu iste da iskopam. Da li bi neko bio ljubazan, ako mu je pri
ruci da mi okaci to ovde ili na majl.
Pozdrav,
RRadovanovic
cccc.505postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: Cccc
Date: Sat, 02 Sep 1995 12:22:26
-+=+- Zoran Rilak rece : -+=+-
ZR> From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
ZR> manje vaznog u datom momentu). Ako se radi o implementacijama jezika,
ZR> opet je FORTRAN superiorniji zbog istog razloga: njegove
ZR> "promatematicke" orijentisanosti. Ne, podatke o testiranju nemam ;)
Hm, ... ja bih rekao da bi C trebao da ga sije, jer je C
jezik srednjeg nivoa, koji ima sposobnost da se spusti do najnizeg
nivoa, i takodjer koji se koristi za sistemsko programiranje.
Kao jezik koji se koristi za sistemsko programiranje, smesno je
da bude u matematickim operacijama sporiji od Fortrana...
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... MA> Obavezan si da ukrades ovaj TAG.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
cccc.506postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: Paradox Engine Bug!
Date: Mon, 4 Sep 1995 12:14:47 GMT
Riste Panovski je napisao:
>> Neko vreme radim sa PXEngine + BC++ 3.1 i danas sam otkrio da aplikacija
>> na koju radim mesec dana ne radi svakog 31-vog u mesecu.
>> Posle nekoliko sata singl'stepovanja sorsom otkrio sam da je problem u
>> PX funkciji PXDateEncode();
>>
Koju verziju Engine-a koristis? Po BBS-ovima moze da se nadje bug-fix za
verziju 3.0, novi LIB-ovi i DLL-ovi sa verzijom 3.01 (sve to bas i nije tako
novo, ti update-ovi su iz marta '93.)
--
I only dream in infrared
cccc.507postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: Paradox Engine Bug!
Date: Mon, 4 Sep 1995 12:17:44 GMT
Riste Panovski je napisao:
>>
>> Neko vreme radim sa PXEngine + BC++ 3.1 i danas sam otkrio da aplikacija
>> na koju radim mesec dana ne radi svakog 31-vog u mesecu.
>> Posle nekoliko sata singl'stepovanja sorsom otkrio sam da je problem u
> PX funkciji PXDateEncode();
>>
Koju verziju Engine-a koristis? Po BBS-ovima moze da se nadje update sa
verzije 3.0 na 3.01, koji bi trebalo da ima sredjene neke bagove.
--
Integer out of range
cccc.508postmast,
From: glisin@orao.etf.bg.ac.yu (Ivan Glisin)
Subject: Re: cccc
Date: Sun, 27 Aug 1995 20:29:32 GMT
Janko Stamenovic pise:
>> C nema rad sa kompleksnim brojevima. C++ ima. Treba njih porediti.
Ne razumem? Shvatam da se radi o operator-overloading za tipove
complex koji se uvedu naknadno, kao i overload na kraju krajeva,
ali zasto bi to bilo presudno u komparaciji FORTRAN i C jezika?
Kompleksni brojevi na kraju krajeva mogu da se naprave i u C-u
(i ima takvih biblioteka) pa ne vidim nikakvu prednost C++ jezika
u tom slucaju.
Covek pita sta mu bolje resava problem, a da li se resenje pise
R = A*B
r := a*b;
r = mul (a, b);
(setq r (times a b))
to ga verovatno ne interesuje, jer pitanje nije bilo sta od biblioteka
koji jezik ima, nego koji je bolji sa numerikom. Ne u smislu da li
je ovaj ili onaj jezik 1-1 svodljiv na neki drugi, nego u smislu
numericke preciznosti rada sa brojevima u pokretnom zarezu (greske
kod rada sa skupom racionalnih brojeva koji treba da zamene realne).
Tu je FORTRAN i dalje #1, i sto je najlepse, medjusobno su kompatibilni
po pitanju rezultata jer postoji jasan standard za implementaciju
numerike jezika.
cccc.509postmast,
From: milos.tomic@shadow.herkules.co.yu (MILOS TOMIC)
Subject: Prinf()
Date: Tue, 25 Jul 95 01:21:00 +0100
Da li neko zna kako se prosledjuju podaci printf funkciji, odnosno
kako se ista moze pozvati iz asemblera recimo da odstampa float.
Milos
... Back up my hard disk? I can't find the reverse switch!
2.12
cccc.510postmast,
From: Riste.Panovski@f132.n108.z38.setnet.setnet.co.yu (Riste Panovski)
Subject: Paradox Engine Bug!
Date: Fri, 01 Sep 1995 01:51:07
Neko vreme radim sa PXEngine + BC++ 3.1 i danas sam otkrio da aplikacija
na koju radim mesec dana ne radi svakog 31-vog u mesecu.
Posle nekoliko sata singl'stepovanja sorsom otkrio sam da je problem u
PX funkciji PXDateEncode();
Originalna dekalracija je:
// encodes a date value to a long value in Paradox format
PXFUNC PXDateEncode(
int month, // month value to encode
int day, // date value to encode
int year, // year value to encode
TDATE far *adate); // encoded date value
Ova funkcija daje sasvim blesave rezultate za svakog 31-vog u mesecu.
Totalno ssasavo, zna li neko u ccemu je problem ?
I ako zna, ccare je ? :)
Unapred hvala,
PaNtaRiSTo
-+- OLMS 2.5 UNREG
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
cccc.511postmast,
From: Petar.Djukic@f123.n103.z38.setnet.setnet.co.yu (Petar Djukic)
Subject: Find
Date: Thu, 31 Aug 1995 06:26:11
Jel nije tesko nekom da napise prg u C ili C++ -u koji
pretrazuje datoteku i ispituje koliko se puta string
pojavljuje u datoteci npr
c:\trazi a.txt racunari
Hvala PeTaR
... Drop your carrier ... we have you surrounded!
___ ■■ANGEL■■/QWK v2.12
* Origin: HELLAS BBS (Tel 28-31-387) Belgrade SETNET (38:103/123)
cccc.512postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: obj
Date: Mon, 28 Aug 1995 02:55:00
AG>Hi.
AG>Posto pojedine f-je za grafiku nerade u modovima sa 256 boja,
AG>mislio sam da izvadim iz graphics.lib obj fajl koji sadrzi tu f-ju i
AG>da je izmenim.
AG>Mene zanima da li to moze i kako da dobijem spisak svih .obj u
AG>biblioteci ?
Mozzda cce ti ovo pomocci.
If you want to see what functions are in library, use this basic
TLIB command:
TLIB library_name, outputfile.lst
Notice that the comma is essential in this command.
Chombe
___
■ OLX 2.1 TD ■ ÓńÓ÷ ĆÓ˘ý ŕ üÝŠý Ľ÷ŠÓ.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
cccc.513postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 31 Aug 1995 09:04:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.C-LANG maintained on 03.08.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 112
Number of messages covered in report: 45
Processed period from: 3-8-1995 to 27-8-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Damir Barjaktarevic...... 38:103/120 1 18 11 61.11%
2. "Janko Stamenovic"....... 38:103/120 4 150 74 49.33%
3. Vladimir Vucinic......... 38:103/120 1 23 11 47.83%
4. "Vladislav Erdelji"...... 38:103/120 1 9 4 44.44%
5. "Milos Visnjic".......... 38:103/120 1 7 3 42.86%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. "Nebojsa Mihovilovic" 5 11.1% 2008 37.74%
2. "Aleksandar Petrovic" 5 11.1% 652 0.00%
3. "Janko Stamenovic" 4 8.9% 1876 49.33%
4. "Zdravko Stojanovic" 4 8.9% 694 0.00%
5. Ivan Glisin 3 6.7% 934 5.36%
------------------------------------------------------------------------------
Top 2 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 44 97.8%
2. Ivan Glisin 1 2.2%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. cccc........................................................ 39
2. Nova knjiga................................................. 2
3. password hasher (crypt()) replacement....................... 1
4. Turbo C 4.5................................................. 1
5. obj......................................................... 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 6 13.3% ***********************
Monday 5 11.1% *******************
Tuesday 3 6.7% ***********
Wednesday 3 6.7% ***********
Thursday 13 28.9% ***************************************************
Friday 10 22.2% ***************************************
Saturday 5 11.1% *******************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 3 6.7% *******************
2:00- 3:59 3 6.7% *******************
4:00- 5:59 6 13.3% ***************************************
6:00- 7:59 2 4.4% *************
8:00- 9:59 5 11.1% ********************************
10:00-11:59 1 2.2% ******
12:00-13:59 3 6.7% *******************
14:00-15:59 3 6.7% *******************
16:00-17:59 8 17.8% ****************************************************
18:00-19:59 2 4.4% *************
20:00-21:59 4 8.9% **************************
22:00-23:59 5 11.1% ********************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
cccc.514postmast,
From: dusan.djordjevic@rstones.durlan.co.yu (Dusan Djordjevic)
Subject: Re: cccc
Date: Wed, 30 Aug 1995 10:02:00 CET
QWK To: Sasa Sikimic
SS> Covek je u pravu.U PC magazinu video sam reklamu za Turbo C 4.5. Koja
SS> je
SS> razlika u odnosu na Borland C++ 4.5 stvarno ne znam.
Pa u samom imenu pise Turbo C i Borland C++, i toliko o tome...
Ako se secas starijih verzija kompajlera, Turbo su obicno bili oni manji, a
Borland oni profesionalniji...
... Svako uspesan ima padove, ali svaki pad ne znaci uspeh.
--- Blue Wave/Max v2.12 [NR]
* Origin: Rolling Stones BBS (2:382/105.5)
cccc.515visnja,
> Da li neko zna kako se prosledjuju podaci printf funkciji,
> odnosno kako se ista moze pozvati iz asemblera recimo da
> odstampa float.
Hm... neznam tacno, ali pogledaj iz dibagera.
Prvo se bace dva parametra na stek pa onda zove printf. Ta dva parametra
su verovatno odresa stringa koji se stampa. Naravno pre toga
adekvatno formatizuje float.
cccc.516vitez.koja,
#=> Jel nije tesko nekom da napise prg u C ili C++ -u koji
#=> pretrazuje datoteku i ispituje koliko se puta string
#=> pojavljuje u datoteci npr
#=> c:\trazi a.txt racunari
Imaš grep uz Borlandove jezike, a i kao standardni deo svih
unix-like operativnih sistema, koji između ostalog ume i da
izbroji pojavljivanja stringa u datoteci.
cccc.517oper,
Subject: Re: printf parametri
>> > Da li neko zna kako se prosledjuju podaci printf funkciji,
>> > odnosno kako se ista moze pozvati iz asemblera recimo da
>> > odstampa float.
>>
>> Hm... neznam tacno, ali pogledaj iz dibagera.
>> Prvo se bace dva parametra na stek pa onda zove printf. Ta dva
>> parametra su verovatno odresa stringa koji se stampa. Naravno
>> pre toga adekvatno formatizuje float.
Ovo, naravno, nije tačno ;)
printf je, kao što se može videti u stdio.h, deklarisana kao:
int printf(const char *__format, ...);
Funkcija printf je funkcija koja prima "variable number of
arguments". Mora joj se proslediti char* na format string, a posle
toga može doći proizvoljan broj argumenata. Na osnovu prosleđenog
format stringa sama printf funkcija određuje kako će štampati ono
što (na osnovu format stringa misli da ;) joj je prosleđeno.
O tome kako konkretno za tvoj kompajler i asembler da pozoveš
printf da odštampa float, najviše ćeš saznati ako kompajleru zadaš
da generiše .asm listing. Uopšteno - na stek se smeštaju svi
argumenti sa desna na levo i tako sve do adrese format stringa.
Zatim se poziva printf. Stek, kao i kod svake c funkcije, čisti
funkcija koja je pozvala printf.
Pz, Pera...
cccc.518postmast,
From: vinko@impex.durlan.co.yu (Vinko Velinov)
Subject: Re: Cccc
Date: Tue, 05 Sep 1995 08:27:00 GMT+2
Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic) writes:
> ZR> manje vaznog u datom momentu). Ako se radi o implementacijama jezika,
> ZR> opet je FORTRAN superiorniji zbog istog razloga: njegove
> ZR> "promatematicke" orijentisanosti. Ne, podatke o testiranju nemam ;)
> Hm, ... ja bih rekao da bi C trebao da ga sije, jer je C
> jezik srednjeg nivoa, koji ima sposobnost da se spusti do najnizeg
Na FORTRAN-u sam jako puno programirao. Prema mojim iskustvima FORTRAN je
jedino brzi u pozivu funkcija koji standardno ide po adresi, dok u C-u
standardno ide po vrednosti.
Nisam radio neka konkretna merenja ali sam puno programa "prepevao".
Razlika se vidi golim okom. Jedno sam na primitivan nacin uporedjivao
brzinu rada sa fajlovima. FORTRAN programima je trebalo jos oko 50%
vremena potrebno C programu da zavrsi isti posao.
Drugo, cak da su mat. fukcije u FORTRANU radjene u asembleru i maksimalno
optimizovane on je sporiji jer radi svakojake provere (recimo granice
nizova), tako da tu gubi puno vremena, pa je C opet brzi. U vezi sa tim
hocu da napomenem da meni zbog greske u FORTRAN programu masina __nikada__
nije zaglavila. Uvek se dobije neki run-time error. U C-u je zaglavljivanje
kao dobar dan. To dokazuje da C ne vrsi skoro nikakve provere sto ga cini
veoma brzim.
Sem toga FORTRAN ima jos sijaset mana. Kao najvecu mogu da pomenem da su
svi objekti staticki. To ima i svojih prednosti ali programer je veoma
skucen zbog nemogucnosti dinamckog kreiranja objekata. Ja sam to uvek
resavao kroz privremene fajlove sto je vodilo daljem padu performansi.
Dalje staticki objekti onemogucavaju pravljenje rekurzivnih funkcija
(moguce je uz pomoc jednog trika i to prevazici ali uz velika ogranicenja.
Ako nekog zanima mogu da napisem kako se to radi). Sledeci veliki
nedostatak u poredjenju sa C-om je nedostatak pokazivaca na objekte. Zatim
tu je izostanak bilo kakvih rutina za rad sa ekranom. Ako se programer
ogranici samo na koriscenje WRITE i PRINT naredbe njegovi programi ce
izgledati jadno. Znaci osudjen je na koriscenje ANSI drajvera, koji je
izuzetno spor i prevazidjen. Resenje moze da se potrazi u C ili ASM
rutinama, ali jezik kao jezik znaci nista nije obezbedio. U knjigama o C++
se mnogo ekspolatise termin "notaciona pogodnost". Ja cu ovde da kazem par
reci o "notacionim nepogodnostima" FORTRAN-a. Pre svega tu je "drveni"
nacin pisanja programa (7 - 72 kolona, 6-ta za prenos itd.). Zatim
izostanak struktura, pa obaveza da se procedura pozove posebnom naredbom
CALL. Po meni je velika mana podrazumevani tip promenljive. Cesto uvedemo
promenljivu u program i ostavimo za kasnije da je deklarisemo (da nam ne bi
pobegla misao dok se vracamo na pocetak programa), posle to zaboravimo i
promenljiva obicno bude tipa kojeg nismo zeleli.
Ovo su mane koje sam ovako, spontano, uz pisanje uocio. Detaljnijom
analizom sigurno mogu da se nadju jos neke inferiornosti FORTRAN-a u odnosu
na C. U svakom slucaju FORTRAN je zastareo jezik i valja ga penzionisati.
Da se ogradim. Ja sam ovde govorio o standardu FORTRAN 77. Mnogi
prevodioci dodaju razne ekstenzije jeziku u cilju prevazilazenja
njegovih mana. Tako, recimo MS FORTRAN 5.0 ima i strukture i unije i
dinamicke objekte i jos sto sta sto ga priblizava C-u.
Na kraju da kazem i neku lepu o FORTRANU-u. To je veoma jednostavan
jezik i pogodan je ucenje programiranja. Po meni bolji od BASIC-a.
BASIC je slozen jezik i cesto odvraca ljude. Njegova (BASIC) prednost
kod ucenja jezika se istice u interpretatorskom nacinu rada. Po meni
to je mana. Covek se navikne na takav nacin rada, a kad predje na
"pravi" jezik (C :)), od toga nema nista i biva totalno isfrustiran.
Ovako pocinje sa jezikom koji je jenostavniji ali odmah radi
modularne programe, koristi kompajler, linker itd, tj. sve ono sto ga
ceka kada krene sa nekim drugim jezikom. Zato je on za mene najbolji
za uvod u programiranje.
I jos nesto. FORTRAN programi jesu efikasni, ali ne kao C.
Nemoj da lazes da si hteo iz nehata. (Neposlusni B)
-----
Vinko Velinov * Impex Promet * 25. Maj 81 * 18000 Nis * tel. 018/43-671
cccc.519postmast,
From: pop@galeb.etf.bg.ac.yu (Aleksandar Popovic)
Subject: Re: Find
Date: Thu, 7 Sep 1995 09:32:35 GMT
Petar Djukic wrote:
> Jel nije tesko nekom da napise prg u C ili C++ -u koji
> pretrazuje datoteku i ispituje koliko se puta string
> pojavljuje u datoteci npr
> c:\trazi a.txt racunari
Koliko placas :>>
Pop.
+-------------------------------------------------------------------+
| pop@galeb.etf.bg.ac.yu popa@osmeh.fon.bg.ac.yu |
| popovi78891d@buef31.etf.bg.ac.yu e1popova@rcub.rcub.bg.ac.yu |
| http://galeb.etf.bg.ac.yu/~pop/ |
+-------------------------------------------------------------------+
cccc.520postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: _
Date: Tue, 05 Sep 1995 20:05:01
AG>Mene zanima da li to moze i kako da dobijem spisak svih .obj u
AG>biblioteci ?
>> Mozzda cce ti ovo pomocci.
>> If you want to see what functions are in library, use this basic
>> TLIB command:
>> TLIB library_name, outputfile.lst
>> Notice that the comma is essential in this command.
>> Chombe
Thanx, mrzelo me da gledam po helpovima :)
ĐŠč█ Thanx & Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.521postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: BC
Date: Mon, 04 Sep 1995 15:44:50
Zna li neko kako je moguce da se izvede nesto ovako u C++:
main()
{
_asm{
jmp mika
mika:nop
}
}
Ovo nece kompajler da proguta. Znam da moze ovo da se sredi ako se
zatvori blok, pa se stavi labela, pa se ponovo otvori blok. Moze li
nekako drugacije?
Shadow
... Bas su sasavi ti Rimljani!
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
cccc.522postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: BC
Date: Fri, 8 Sep 1995 12:49:32 GMT
Ivan Jocic je napisao:
>> Zna li neko kako je moguce da se izvede nesto ovako u C++:
>> main()
>> {
>> _asm{
>> jmp mika
>> mika:nop
>> }
>> }
>> Ovo nece kompajler da proguta. Znam da moze ovo da se sredi ako se
>> zatvori blok, pa se stavi labela, pa se ponovo otvori blok. Moze li
>> nekako drugacije?
Nije mi ovde kompjuter, pa ne mogu da probam, ali mozes da pokusas
sledecu varijantu: ukljuci opcije 'Generate assembler source' i 'Compile via
assembler' (mozda i ne moraju obe da se ukljuce, eksperimentisi malo).
Trebalo bi da tada ceo _asm { ... } prodje netaknut kroz kompajler i stigne
do Turbo asemblera. Pretpostavka je da imas Turbo assembler, sto se u
verzijama BC++ 3.x podrazumeva.
--
Integer out of range
cccc.523postmast,
From: MILICEV@BUEF31.ETF.BG.AC.YU (Milicev Dragan)
Subject: Re: Nova knjiga
Date: Sun, 10 Sep 1995 16:45:51 GMT
Postovane kolege,
Nisam imao nameru da se ukljucujem u diskusiju o svojoj knjizi, ali
moram da odgovorim na komentar kolege Vladimira Vucinica.
Kolega Vucinic kaze da je moja knjiga "bliska" knjizi Stroustrupa
"The C++ Programming Language, Second Edition". Termin "bliska"
ja sam protumacio u negativnom kontekstu, kao "prepisana,
prilicno po ugledu" i slicno. Ako gresim, molim, ispravite me.
Kao prvo, sasvim je nekorektna primedba kolege Vucinica da
"rizikuje nekoliko ispita". Posao u nastavi nimalo ne mesam
sa ovim, tako da kolega Vucinic nema razloga za strah.
Drugo, knjiga je izasla iz stampe dana 16. avgusta 1995., a ja
sam uz dosta truda dosao do prvih primeraka istog dana. Kolega
Vucinic svoju tvrdnju iskazuje istog dana, 16.8. u 21:53.
Da li je moguce da se ovakva tvrdnja iskazuje samo na osnovu
letimicnog pogleda na knjigu? Ne secam se da sam kolegi Vucinicu
dao neku verziju rukopisa?!
Dalje, ako je kolega Vucinic zakljucio da je moja knjiga "bliska"
sa pomenutom knjigom samo na osnovu sadrzaja, onda to moze da
se opravda time sto moja knjiga, ali samo u svom srednjem delu
u kome predstavlja jezik C++ u celini, lici na Stroustrupa samo
po kompletnosti prikaza jezika i donekle po redosledu naslova.
Ipak, ova slicnost potice od oslanjanja knjige na knjigu "The C++ An-
notated Reference Manual" istog autora, sto se odmah u predgovoru
jasno istice. Ostavljam auditorijumu da presudi o mom doprinosu
u izlaganju.
Najzad, iskreno da priznam, pomenutu knjigu sam dobio tek oko
mesec dana pre izdavanja svoje knjige, a kada je ona bila
u potpunosti napisana, pa sam iz Stroustrupa samo proverio neke
stvari.
Koristim ovu priliku i da odgovorim kolegi Barjaktarevicu:
knjiga sadrzi detaljan opis izuzetaka i sablona, ali ne i rtti,
jer je taj koncept deo nacrta novog standarda ISO, a nema ga u ARM.
Mozda u nekom novom izdanju...
Izvinjavam se zbog duzeg izlaganja i molim auditorijum da
prokomentarise celu diskusiju.
S postovanjem,
Dragan Milicev
milicev@buef31.etf.bg.ac.yu
cccc.524rrad,
Zdravo.
Posto ne stizu nove verzije DFlat-a :) probao sam ove.
Izgleda da je plasplas varijanta prebagovita, dok je
C ver19 veoma stabilna, ali veoma teska za upotrebu.
Elem, pitanje za narod :
Ima li ikoga ovde ko je iole ozbiljnije koristio
DFlat19 i da li je raspolozen za razmenu iskustava?
KKKKHHHHHKKKKKKK Pozdrav
RRadovanovic.
cccc.525ikordic,
RE: Nova knjiga
=> Izvinjavam se zbog duzeg izlaganja i molim auditorijum da
=> prokomentarise celu diskusiju.
Evo, ja:
* Mene zabole za "diskusiju".
* Sviđa mi se knjiga.
Sledeći...
cccc.526mkaralic,
> Dalje staticki objekti onemogucavaju pravljenje rekurzivnih funkcija
> (moguce je uz pomoc jednog trika i to prevazici ali uz velika ogranicenja.
> Ako nekog zanima mogu da napisem kako se to radi). Sledeci veliki
Napiši, mene bi zanimalo!
Pozdrav // Mića
cccc.527postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: Find
Date: Fri, 08 Sep 1995 11:37:00
***> Citiram 'Aleksandar Popovic' za 'All' <***
> Jel nije tesko nekom da napise prg u C ili C++ -u koji
> pretrazuje datoteku i ispituje koliko se puta string
> pojavljuje u datoteci npr
> c:\trazi a.txt racunari
AP> Koliko placas :>>
Trebalo bi sramota da te bude sto ti je i palo na pammet da
naplatis to ;-)
■ Blue Wave/QWK v2.20 [NR] ■
* Origin: Exodus Music Collection, Bgd #22-09# (011) 137-477 SETNet: (38:103/130)
cccc.528postmast,
From: Zeljko.Jovanovic@f122.n103.z38.setnet.setnet.co.yu (Zeljko Jovanovic)
Subject: PALETA&MIS
Date: Sat, 09 Sep 1995 16:29:11
Imam jedan vrlo mali , ali zeznut problem. Naime, kad u WATCOM-u
promenim RGB komponente neke boje on mi istovremeno promeni i
okvir(BORDER). Sta da radim? Drugo da li bi neko mogao da mi napise
konkretno kako da pokrenem misa u grafickom modu 640x480x256boja odnosno
video mode 101h. Imam microsfot mouse drajver 9.x. Help me please!!
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
cccc.529postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: BC
Date: Sat, 09 Sep 1995 11:32:25
IN> eksperimentisi malo). Trebalo bi da tada ceo _asm { ... } prodje
IN> netaknut kroz kompajler i stigne do Turbo asemblera. Pretpostavka je da
Ma vise nije ni bitno. Napravio sam prg. koji konvertuje tako nesto u:
_asm{
jmp mika
}
mika: _asm{
Tako da je problem resen, a ovo radi i u MSC-u i u BC-u.
Svejedno, hvala.
Shadow
... Biti realan? Kakav uzasan pesimizam !
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
cccc.530postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: cccc
Date: Thu, 14 Sep 1995 19:20:00
>> Imam jedan vrlo mali , ali zeznut problem. Naime, kad u WATCOM-u
>> promenim RGB komponente neke boje on mi istovremeno promeni i
>> okvir(BORDER). Sta da radim?
Meni se isto desava u 320x200x256 kada menjam RGB (da li preko setrgbpalette
f-je ili preko portova, neznam) tako da bi i mene zanimalo.
Kada "rucno" promenim border ekran pobrljavi (BTW koriscene su 2 video str)
>> Drugo da li bi neko mogao da mi napise
>> konkretno kako da pokrenem misa u grafickom modu 640x480x256boja odnosno
>> video mode 101h. Imam microsfot mouse drajver 9.x. Help me please!!
Kada se pokrene mis u modovima sa 256 boja , on pravi probleme (ili ga nema
ili postane AND-ovan sa pozadinom) tako da sam ja napravio image kojeg
pomeram sa :
Petlja:
putimage(xo,yo,bkg,COPY_PUT) ; // prikaz stare pozadine
...... // ovde bi isle operacije sa x i y zavisno da li je mis pomeren
// verovatno znas , ali ipak , za proveru koristis f-je int-a 33h
getimage(x,y,x+10,y+10,bkg); // uzmem novu pozadinu, kurzor je veliki 10x10
putimage(x,y,mish,XOR_PUT);
xo=x,yo=y; // ovo se moze cak izostaviti , ali da u prvom redu stavis
// x i y umesto xo,yo . Ovo se moze koristiti da proveris da li
// je mis pomeran , ako jeste crtaj kurzor ako ne necrtaj. Tako
// ces imati manje treperenja, a mozes i da cekas vertical retrace
// za jos bolji efekat.
goto Petlja;
Sada, meni je mis pravio probleme , npr ide samo da pola ekrana , cak sam
menjao drajvere i nista, pa sam mu "zaskocio" i sada radi odlicno :)
Ako budes imao jos problema , javi mi ;)
ĐŠč█ Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.531postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: cccc
Date: Tue, 12 Sep 1995 16:53:00
Hi,
zanima me dali ja mogu prostim _SS=xx,_SP=yy; da promenim adresu stacka
unutar funkcije koju sam deklarisao kao void interrupt , u BC++ v3.1 .
ĐŠč█ Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.532postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: C PITALICA
Date: Thu, 14 Sep 1995 12:48:48 GMT
Jugoslav Stojanov je napisao:
>> Evo jos jedne C pitalice:
>> ...
>> printf("\n %p, \n %p, \n %p",&x, x, *x);
>> ...
>>
>> PITANJE:
>> Sta x treba da bude pa da se ispisu 3 ista pointera ???
Pointer na samog sebe, tj.
void*
x;
x = (void*)&x;
--
Program too big to fit in memory
cccc.533.sima,
║║ konkretno kako da pokrenem misa u grafickom modu 640x480x256boja
║║ odnosno video mode 101h. Imam microsfot mouse drajver 9.x. Help me
║║ please!!
Ja sam upravo rešio taj problem. Možda moje rešenje nije najsrećnije,
ali evo ga pa ti proceni. Postoje ustvari dva rešenja. Prvo i malo
jednostavnije je korišćenje jednog programa iz svga256.bgi v5.5, koji je
okačen na brzi Sezam zahvaljujući evlad-u. Taj program radi nad
drajverom za miša. Naravno on je TSR. Drugo rešenje je da sam definišeš
rutine za iscrtavanje miša. Verovatno postoje i bolja i vrlo bih voleo da
ih čujem. Iscrtavanje miša sam uradio tako što sam definisao default
handler za miša takav da reaguje na pomeranje miša. Kada se miš pomeri,
on na staru lokaciju vrati original, a na novu nacrta miša. Kod nije baš
poželjan da se piše u telu poruke pa ću ga za zainterecovane ili
zakačiti ili poslati na mail. Neki Microsoftovi drajveri podržavaju svga
modove, ali ne znam niti koji niti kako.
cccc.534postmast,
From: Jugoslav.Stojanov@f122.n103.z38.setnet.setnet.co.yu (Jugoslav Stojanov)
Subject: C PITALICA
Date: Tue, 12 Sep 1995 18:56:11
Evo jos jedne C pitalice:
...
printf("\n %p, \n %p, \n %p",&x, x, *x);
...
PITANJE:
Sta x treba da bude pa da se ispisu 3 ista pointera ???
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
cccc.535postmast,
From: rsasa@fon (Radetic Aleksandar)
Subject: Re: cccc
Date: Fri, 15 Sep 1995 11:48:28 GMT
Radosav Radovanovic (rrad@sezam.UUCP) wrote:
: Ima li ikoga ovde ko je iole ozbiljnije koristio
: DFlat19 i da li je raspolozen za razmenu iskustava?
Pre otprilike dve godine sam trebao da napisem neku
aplikaciju u DOS-u gde se DFLAT (samo naizgled) ucinio
prilicno pogodan. Medjutim, na kraju se ispostavilo da
njihov demo primer radi samo ako se ne menja, sto znaci
da je "nastiman". Mozda gresim, ali nisam uspeo nista
dobro da uradim s njime, pa sam se vratio na C i C++ i
zavrsio posao. Ako ti trebaju neke druge informacije (bez
DFLAT-a), javi se.
Pozdrav, Sasa
cccc.536postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: C PITALICA
Date: Fri, 15 Sep 1995 13:23:17 GMT
Ivica Nikolic je napisao:
>> >> printf("\n %p, \n %p, \n %p",&x, x, *x);
>> >> PITANJE:
>> >> Sta x treba da bude pa da se ispisu 3 ista pointera ???
>>
>> Pointer na samog sebe, tj.
>>
>> void*
>> x;
>>
>> x = (void*)&x;
Moram da se ispravim:
void **
x;
x = (void*)&x;
U prethodnoj varijanti se kompajler buni, jer ako je x pointer na void,
ne sme da se napise *x.
--
Nisam zgodan al sam plodan
cccc.537postmast,
From: CIRIC_37893D@BUEF31.ETF.BG.AC.YU (Ciric Vladimir)
Subject: BC++4.02
Date: Sun, 17 Sep 1995 09:07:20 GMT
Ako neko ima BC++4.02 i voljan je da ga da na COPY, da mi posalje poruku na
mail. Dobio sam PowerPack bas za tu verziju pa mi je hitno neophodna. Ako je
imalac sa ETFa bilo bi jos lepse. Moja adresa je CIRIC_37893d@buef31.etf.bg.ac
Hvala unapred.
cccc.538postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: BC++4.02
Date: Sun, 17 Sep 1995 14:00:40 GMT
Ciric Vladimir je napisao:
>> Ako neko ima BC++4.02 i voljan je da ga da na COPY, da mi posalje poruku na
>> mail. Dobio sam PowerPack bas za tu verziju pa mi je hitno neophodna. Ako je
>> imalac sa ETFa bilo bi jos lepse. Moja adresa je CIRIC_37893d@buef31.etf.bg.ac
>> Hvala unapred.
Ako je samo do PowerPack-a, nemoj da brines: radi i na BC+4.5 . 4.0 ne
preporucujem zbog bagova.
--
Mala, mala, mala grupa hedera
cccc.539rrad,
> zavrsio posao. Ako ti trebaju neke druge informacije (bez
> DFLAT-a), javi se.
Trebaju, trebaju. Jos kad bih znao da ce ova poruka da ode
gde treba?
Rec je zapravo o korisnickom interfejsu za baze podataka. Ako
imas iskustva o tome, pogotovu kada je C++ u pitanju, potrebne
su mi sve moguce i nemoguce informacije.
Najbolje bi bilo kada bi mi ostavio telefon, jer mi se cini da
je ovaj nacin komunikacije malko spor.
Pozdrav,
RRadovanovic.
cccc.540omega,
Postoji li velika razlika izmedju BC++ v4.02 i v4.5 po
pitanju memorijskih zahteva i brzine kompajliranja?
cccc.541deimos,
Da li je neko radio sa interapt rutinama u Watcom C-u?
Naime, rutina FAR tipa treba da bude vezana za interapt.
Iz Borland/Turbo C-a, f-ja bi glasila ovako:
void interrupt far rutina()
{
...
}
U Watcom C-u, ovo ne prolazi, vec ispisuje poruku tipa
'Pointer truncated'. Sta treba uciniti pa da ovo funkcionise?
Naravno, radi se u Protected modu.
.dEiMoS.
cccc.542postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: obj
Date: Tue, 19 Sep 1995 13:32:00
Howdy svima,
kako mogu da najdem pocetak neke f-je iz nekog .obj fajla.
Ja ga lepo debug-ujem ali nikako ne mogu gde je koja f-ja :(
Thanx u-napred :)
ĐŠč█ Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.543postmast,
From: Aleksandar.Glumac@f119.n111.z38.setnet.setnet.co.yu (Aleksandar Glumac)
Subject: obj
Date: Tue, 19 Sep 1995 13:32:00
Howdy svima,
kako mogu da najdem pocetak neke f-je iz nekog .obj fajla.
Ja ga lepo debug-ujem ali nikako ne mogu gde je koja f-ja :(
Thanx u-napred :)
ĐŠč█ Pozdrav, Ace B) █čŠĐ---
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
cccc.544postmast,
From: Sasa.Sekulic@f110.n103.z38.setnet.setnet.co.yu (Sasa Sekulic)
Subject: Re: Cccc
Date: Thu, 21 Sep 1995 00:57:34
MA> Kao jezik koji se koristi za sistemsko
MA> programiranje, smesno je da bude u matematickim operacijama
MA> sporiji od Fortrana...
Ne sjecam se ko je radio testove, samo su nasli da je Fortan cak i sada
mnogo brzi od C-a (50-100%), posto ima potpuno optimizovane biblioteke, sto
za C ne moze da se nadje, osim ako neces da pises u asembleru.
mad.max
... I.m.a.m...z.e.c.i.t.i.t.i.s...
* Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
cccc.545postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: Cccc
Date: Tue, 12 Sep 1995 18:16:17
-+=+- Vinko Velinov rece : -+=+-
VV> From: vinko@impex.durlan.co.yu (Vinko Velinov)
VV> Na FORTRAN-u sam jako puno programirao. Prema mojim iskustvima FORTRAN
VV> je jedino brzi u pozivu funkcija koji standardno ide po adresi, dok u
VV> C-u standardno ide po vrednosti.
Sto je i logicno :).
VV> Drugo, cak da su mat. fukcije u FORTRANU radjene u asembleru i
VV> maksimalno optimizovane on je sporiji jer radi svakojake provere
VV> (recimo granice nizova), tako da tu gubi puno vremena, pa je C opet
VV> brzi. U vezi sa tim hocu da napomenem da meni zbog greske u FORTRAN
VV> programu masina __nikada__ nije zaglavila. Uvek se dobije neki run-time
VV> error. U C-u je zaglavljivanje kao dobar dan. To dokazuje da C ne vrsi
VV> skoro nikakve provere sto ga cini veoma brzim.
XM, skoro sam naletio u nekom FAQ-u sa Internet-a da C moze biti
sporiji od Fortrana sto se tice matemtickih operacija - obrazlozenje
je jednostavno - C mora da pazi na redosled operacija, dok
Fortran ne mora, jer u Fortanu, za operaciju je najvaznije da
se MATEMATICKI izvrsi tacno, a u C-u, mora se postovati zadati
sled operacija (sleva na desno, ili suprotno), inace, kompajler nece
biti ANSI :(.
VV> Ovo su mane koje sam ovako, spontano, uz pisanje uocio. Detaljnijom
VV> analizom sigurno mogu da se nadju jos neke inferiornosti FORTRAN-a u
VV> odnosu na C. U svakom slucaju FORTRAN je zastareo jezik i valja ga
VV> penzionisati.
UX, bre, valjda inferniornosti C-a u odnosu na Fortran :).
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... Imam 64785 arhiviranih poruka kao dokaz!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
cccc.546postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 28 Sep 1995 07:58:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.C-LANG maintained on 31.08.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 160
Number of messages covered in report: 45
Processed period from: 31-8-1995 to 22-9-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Marko Milivojevic........ 11:0/137 1 9 6 66.67%
2. Mladen Adamovic.......... 38:135/135 2 43 19 44.19%
3. Kliment Andreev.......... Invalid Origin 1 14 6 42.86%
4. Ivica Nikolic............ 38:103/120 6 103 43 41.75%
5. "Vladimir Maric"......... 38:103/120 1 10 4 40.00%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Ivica Nikolic 6 13.3% 588 41.75%
2. Igor Loncarevic 6 13.3% 1051 23.70%
3. Aleksandar Glumac 4 8.9% 578 29.79%
4. "Radosav Radovanovic" 3 6.7% 495 5.56%
5. Ivan Jocic 2 4.4% 326 9.52%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 36 80.0%
2. Zeljko Jovanovic 2 4.4%
3. Jugoslav Stojanov 1 2.2%
4. Kliment Andreev 1 2.2%
5. Aleksandar Popovic 1 2.2%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. Cccc........................................................ 18
2. C PITALICA.................................................. 4
3. self reproducing programs................................... 4
4. BC.......................................................... 3
5. Paradox Engine Bug!......................................... 3
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 3 6.7% *********
Monday 5 11.1% ***************
Tuesday 6 13.3% *******************
Wednesday 2 4.4% ******
Thursday 7 15.6% **********************
Friday 16 35.6% **************************************************
Saturday 6 13.3% *******************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 7 15.6% ***************************************************
2:00- 3:59 0 0.0%
4:00- 5:59 2 4.4% **************
6:00- 7:59 0 0.0%
8:00- 9:59 5 11.1% *************************************
10:00-11:59 6 13.3% ********************************************
12:00-13:59 7 15.6% ***************************************************
14:00-15:59 5 11.1% *************************************
16:00-17:59 6 13.3% ********************************************
18:00-19:59 3 6.7% **********************
20:00-21:59 2 4.4% **************
22:00-23:59 2 4.4% **************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)