PCSOFT

08 Nov 1989 - 22 Sep 1991

Topics

  1. bios (50)
  2. ms.dos (492)
  3. unix (322)
  4. os.2 (5)
  5. jezici (125)
  6. cccc (343)
  7. clipper (273)
  8. turbo.pascal (247)
  9. tools (219)
  10. grafika (189)
  11. programiranje (156)
  12. tekst.procesori (164)
  13. word.perfect (222)
  14. ventura (216)
  15. windows (270)
  16. spec.softver (212)
  17. virusi (255)
  18. zastita (44)
  19. knjige (61)
  20. razno (668)
  21. mreze (75)
  22. ms.word (42)
  23. nabavka (153)
  24. baze.podataka (60)
  25. radne.tabele (2)
  26. van.teme (17)
  27. 4dos (25)

Messages - cccc

cccc.209 nkbog, -> #207, nkbog
>> _asm retf Umesto _asm za TC treba asm. Ovo bi trebao da prevede i TC sam. NB.
cccc.210 ljupco,
Kada kompajliram sa tcc, koje opcije su znacajnije: one upisane u fajl turboc.cfg ili one koje zadam u komandnoj liniji (ukoliko se "sudare")?
cccc.211 djelovic, -> #210, ljupco
One iz komandne linije.
cccc.212 djelovic,
Mučilo me je što u čatu ne vidim šta drugi kori- snici pišu dok ja otkucavam svoju poruku. Zato sam napra- vio chatter.exe koji deli ekran na dva dela: Gornji prozor prikazuje šta se dešava u sistemu, a u donjem se vrši editovanje linije koja će sledeća biti poslata. Mogu se koristiti i kursorski tasteri. Iz programa se izlazi sa ESC. Usage: chatter <port> Primer: chatter 4 U Telix-u je program najbolje instalirati kao download protokol, jer se tako najlakše startuje. Čujem da telemate-u ovako nešto nije potrebno, ali njega izbega- vam zbog bug-a u ZMODEM-u. Uz program ide i source. Chantrajte.
cccc.213 igor.mil,
Imam problem sa povezivanjem modula pisanih u Turbo C-u i asembleru Da ne bih mnogo objasnjavao, evo konkretnog primera: /**** TESTASM.C ***********************************************/ #include <stdio.h> int asmfunc(int); /* funkcija pisana u asembleru, prihvata argument po vrednosti i vraca ga pomnozenog sa 2 */ main() { int i; float f = 2.5; /* ovo dummy promenljiva */ i = asmfunc(4); /* poziv koji vreca rez. 2*4 = 8 */ printf("%d\n", i); /* ova naredba se normalno izvrsi */ printf("%f", f); /* ova naredba daje gresku (vidi dole u tekstu) */ } ;**** ASMFUNC.ASM ********************************************* dosseg .model small .code _asmfunc proc push bp mov bp,sp mov ax,[bp+4] add ax,ax pop bp ret _asmfunc endp public _asmfunc end ;******************************************************************** Glavni program je preveden sa: tcc -c -ms -f testasm Modul ASMFUNC je preveden sa: tasm /e /mx asmfunc Povezani su sa: tlink /c c0s testasm asmfunc,,testasm,cs maths emu Navedene operacije ne daju nikakve greske ili upozorenja. Kada se ovako dobijen program izvrsi na ekranu se dobije: 8 printf : floating point formats not linked Abnormal program termination Ukratko, ukoliko je neki od modula asemblerski, sve normalno radi dok ne dodje do prve printf naredbe koja ispisuje vrednost neke floating-point promenljive kada se dobija navedena run-time greska, bez obzira na to kakvi su ti asemblerski moduli, odnosno dali pozivaju emulator fp-a ili ne. Korisceni softver je: TASM v1.01, TLINK v2.0 i TCC v2.01. Pozdrav ---Igor
cccc.214 braca, -> #213, igor.mil
Uzmi novi Borland C++ 2.0 :)) Ja sam ga skoro dobio i čisto iz radoznalosti sam probo i sve radi ok, napominjem da nisam ništa pipnuo osim imena kompajlera (sad se zove bcc). Ne znam da li si uradio patch za taj TC, ima nekih bugova koje je čini mi se Borland sam "ispravio", tj. skoro na svim BBS-ovima ima patch koji sređuje bugove, a koliko se sećam, ovo je upravo jedan od njih. Pozdrav, Braca
cccc.215 ljupco,
Kako da fout (FILE *fout) nekako "usmerim" na ekran (i da li se ekran naziva stream stdout?), pa da kasnije svi ispisi u programu koji stampaju u fout u stvari stampaju na ekran?
cccc.216 djelovic, -> #212, djelovic
Dobio sa kritiku da chatter ne radi sa 2400 modemima. Ko ima source neka izbaci comm_setparam (131) - on pravi sranja, a ionako je nepotreban kada se program poziva iz telix-a (program koristi LCOMM koji je modifikovan da radi i sa COM3 i COM4). Za one koji nemaju sve što treba za rekompilaciju, evo nove EXE verzije: chatter.zip
cccc.217 igor.mil, -> #214, braca
> skoro na svim BBS-ovima ima > patch koji sreduje bugove Gde da ga nadjem? Pozdrav ---Igor
cccc.218 drakce, -> #216, djelovic
Hvala djelovicu za CHATTER. To je ono sto je falilo Telix-u da postane najbolji :). Prilazem mali script file kojim mozemo definisati makro za pozivanje CHAT-a. Pozdrav od Dragana chat.zip
cccc.219 beast,
Dali Turbo c++ ima svoj editor?Ja nikako da ga nadjem :)
cccc.220 nkbog, -> #125, kanda
> Kako da fout (FILE *fout) nekako "usmerim" na ekran (i da li se > ekran naziva stream stdout?), pa da kasnije svi ispisi u programu koji > stampaju u fout u stvari stampaju na ekran? Sa: fout=fopen("CON","w"); "stdout" je standardni "stream" izlaza, a to je CON, ili ono na sta preusmeris u komandnoj liniji. NB.
cccc.221 ljupco, -> #215, ljupco
fout=stdout
cccc.222 nesavic,
Pozdrav svim C-easima,imam jedan problem. Nabavi sam skoro novi TC i kada otkucam C:\TC on mi javi nesto u stilu nije pronasao *.TC,e pa lepo. Ja sad uzmem TCINST pa lepo prepravim sve a ono opet nema *.TC, startujem ja TCCONFIG i sve lepo on zavrsi i stvori fajl TCCONFIG.TC,i ja sav srecan ocekujuci da ce sada raditi ponovo startujem TC,a on opet nema *.TC. Pomagajte,ortaci,sta da radim. Pozdrav,NESA!
cccc.223 djelovic, -> #222, nesavic
>> Nabavio sam skoro novi TC... Piratu. Sramoto. Komunisto. :). Ti nam leb uzimaš. Sada ćemo svi da te bojkotujemo i ti ćeš da se mučiš sa tim TC-om. :)
cccc.225 djelovic, -> #224, nesavic
Sorry. Počinjem sve više da ličim na svoju majku :). U meniju Options/Directories unesi gde ti se nalaze fajlovi, a zatim snimi konfiguraciju.
cccc.226 ljupco,
Postoji li nacin da pre nego sto izadjem iz turbo dibagera snimim sve prekidne tocke i promenjive koje pratim, da ne bih morao sledeci put kad udjem u td da sve opet rucno postavljam.
cccc.227 ivujanic, -> #226, ljupco
> Postoji li nacin da pre nego sto izadjem iz turbo dibagera snimim sve >prekidne tocke i promenjive koje pratim, da ne bih morao sledeci put kad >udjem u td da sve opet rucno postavljam. Ne stigoh celo uputstvo da pročitam (ispiti..), ali ta stvar je i mene mučila i mogu ti reći da, po svemu sudeći, ne može. Ljudi iz Borlanda su za tu svrhu namenili nešto drugo: Execution History & Keystroke Recording Turbo Debugger has a special feature called the execution history that keeps track of each instruction as it is executed (provided you are tracking into the code), adn also, if you want, recordes the keystrokes you intpu to get to a given point in your program. ... The execution history only keeps track of instructions that have been executed with the Trace Into (F7) or the Instruction Trace command (Alt-F7). It also tracks for Step Over, as long as you donžt encounter one of the instruction listed on page 89. As soon as you use the Run command or execute an interrupt, the execution history is deleted. (To već znaš, tako u stvari funkcioniše bactracking) The Keystroke Recording pane ... you can quickly execute back to a given point in your program, if you have keystroke recording enabled. Keystroke recording works in conjuction with the reverse program execution capability to give you different ways of recovering to a previous point in your debbuging session. It keeps a record of all the keys that you press, both when youžre issuing commands to Turbo Debbuger and when youžre interacting with the program you are debbuging. The keystrokes are recorded ina file named progname.TDK, where progname is the name of the program you are debbuging. Use the bottom pane of the Execution History window to reply keystrokes and recover to a previos point in your session. ... The -k command-line option enables keystroke recording. You can also use TDINST to set the default to On. Eto toliko! Ako ti tlika kompleksnost ne treba, uvek ostaje ono neelegantno petljanje sa Macro-ima, koji rade na vrlo sličan način kao i Keystroke Recording. Ivica
cccc.228 ppekovic,
Mali bug u MSC 6.0 compiler-u. ========================== microsoft/msc #4469, from blaszczak, 677 chars, Sun Jun 9 08:51:47 1991 -------------------------- TITLE: Compiler Bug I found a bug in the Microsoft C compiler. You have these files in your directory: MYFILE.C MYFILE.OBJ and you have MYFILE.OBJ write-protected. If you go in and change MYFILE.C, and then recompile it, the compiler will not be able to open MYFILE.OBJ to overwrite the old version and compile the new version. The problem is that the compiler makes an error message about the temporary directory being out of space, rather than not being able to open the object file. Not likely to bite you, but you're also not likely to see "compiler out of temporary space" and think "Oh, I must have left my old .OBJ file write-protected". .B ekiM Paya
cccc.229 ljupco, -> #227, ivujanic
Hvala ti!
cccc.230 nesavic,
Hello World, Problem : TC 2.00 Resenje : Neka mi se javi neko ko ima sve odgov. .H datoteke i neka mi objasni ovu gresku koja se javlja i kod najprostijeg programa. Invalid Obj record in C0S.OBJ Unapred zahvalan,NeSa!
cccc.231 igor.mil, -> #230, nesavic
> Problem : TC 2.00 > Neka mi se javi neko ko ima sve odgov. .H datoteke imam ih. > Invalid Obj record in C0S.OBJ daj malo vise podataka, na primer, dali se desava u radu sa integrated env. ili iz komandne linije i.t.d. pozdrav ---igor
cccc.232 jtitov,
Ako bi neko bio ljubazan da ovaj program iz Rxx prevede i vrati ga u exe (com) obliku. Nemam C compiler, a program mi se čini korisnim. cal.c
cccc.233 igor.mil, -> #232, jtitov
═> Ako bi neko bio ljubazan da ovaj program iz Rxx prevede i vrati ga u exe (com) > obliku. Izvoli pozdrav ---igor cal_exe.zip
cccc.234 alexa, -> #230, nesavic
> Invalid Obj record in C0S.OBJ Verovatno ti ne valja linker (tj. koristiš neku bajatu verziju). Druga mogućnost je da ti ne valja C0S.OBJ :)
cccc.235 jtitov, -> #233, igor.mil
> igor.mil, 15.06.Sub 16:53, 160 chr > Odgovor na 6.232, jtitov, 15.06.Sub 15:18 >Izvoli Igore, tvoj sam dužnik. HVALA! Pozdrav, Jura.
cccc.236 nesavic, -> #234, alexa
Ma valja sve,rekao sam Invalid OBJ record... I to kaze i kod najjednostavnijeg programa... NeSa!
cccc.237 igor.mil, -> #236, nesavic
> Ma valja sve,rekao sam Invalid OBJ record... > I to kaze i kod najjednostavnijeg programa... Pre svega, ukoliko na ovakav nacin iznosis svoj problem, ne treba da ocekujes da ce neko biti u stanju da ti pomogne, s obzrom da jednostavo nemamo nikakvih podataka. Medjutim, posto sam ja covek dobre volje, evo pokusaj sa mojim C0S.OBJ. pozdrav ---igor c0s.obj
cccc.238 alexa, -> #236, nesavic
> Ma valja sve,rekao sam Invalid OBJ record... > I to kaze i kod najjednostavnijeg programa... Stariji DOS linkeri upravo ovo kažu za objektne module - proizvode novijih Microsoftovih kompajlera. Razlog je u tome što su uvedeni novi tipovi zapisa u objektnom modulu. Zato ipak nije bez veze moja pretpostavka. Pošto tvoj linker ima problema sa nekim modulom koji se UVEK linkuje, nije ni čudo što dobijaš tu poruku za svaki program. Naravno, postoji mogućnost i da je taj objektni modul stvarno oštećen.
cccc.239 nesavic, -> #237, igor.mil
Hvala,probacu sada!
cccc.240 nesavic, -> #237, igor.mil
Probao sam i tropa... Nece ni sa tvojim,tj javlja gresku Linkera,a zatim se izgubio i poceo da trazi GRAPHICS.LIB, ma dileja,poludeo totalno.... Moracu izgleda da uzmem ponovo sve... Ipak hvala,NeSa!
cccc.241 ljupco,
Dali je moguce komunikaciju sa nekom (odredjenom) datotekom preusmeriti da ide preko neke korisnicke rutine (uslovno receno drajver za tu datoteku)? Ne znam dali sam jasan, ali recimo zelim da uvek kad nesto zeli da uradi (cita/upisuje od/u) sa nekom datotekom, pre nego sto uradi to, skoci na neku moju rutinu? Mislim da je na turbo pascalu moguce legalno instalirati svoj drajver za ekran (svi writeln-ovi da idu preko njega - napis "Sedam prljavih trikova" (ZZ), pointer na drajver za ekran Usroutptr). Treba mi nesto takvo, ali za datoteke.
cccc.242 djelovic, -> #241, ljupco
Možeš da zameniš neki DOS-ov interrupt koji radi to što ti treba svojom rutinom. Ako ne znaš kako, piši. Takođe, budi malo precizniji što se tiče toga šta sa datotekom tačno želiš da radiš, tj., koje rutine ćeš koristiti za komunikaciju sa dat.
cccc.243 ljupco, -> #242, djelovic
> Takode, budi malo precizniji > sto se tice toga sta sa datotekom tacno zelis da radis, tj., Zelim da kada program X otvori datoteku pod imenom IME, program Y koji je rezidentan svu komunikaciju (citanje, zapisivanje, ispitivanje statusa eof) programa X recimo preusmeri u RAM - o tome prog X pojma nema i sto se njega tice upisuje/cita na disk a ne u RAM. Ali samo datoteka IME ide u RAM - ostale datoteke prog Y ne dira. > koje > rutine ces koristiti za komunikaciju sa dat. Hteo bih da koristim rutine koje operisu sa pointerom na datoteku FILE * , fopen, fprintf, fscanf, fclose i t.d.
cccc.244 zzivotic, -> #243, ljupco
>> Zelim da kada program X otvori datoteku pod imenom IME, program Y >> koji je rezidentan svu komunikaciju (citanje, zapisivanje, ispitivanje >> statusa eof) programa X recimo preusmeri u RAM - o tome prog X pojma nema i >> sto se njega tice upisuje/cita na disk a ne u RAM. Ali samo datoteka IME ide >> u RAM - ostale datoteke prog Y ne dira. Ono što je i dalje malo nejasno iz tvog pitanja je da li to treba da bude potpuno nezavisan program TSR tipa koji treba da radi ispod bilo kog drugog programa? Ako je tako, onda je problem rešiv ali sa nešto napora. Radi se o tome da bi trebalo preuzeti glavni DOS interapt 0x21 i dopisati kod koji kontroliše nekoliko funkcija - open/create/read/write/close. Ako treba da radi baš sa bilo kojim programom onda bi trebalo izmeniti ne samo funkcije bazirane na handle mehanizmu već i one starije FCB tipa. Takođe bi trebalo presresti i IOCTL funkciju zbog nekih njenih usluga koje mnogi programi koriste (pre svega da ispitaju tip uređaja na kome je datoteka - disk ili je character device u pitanju). Sve ovo ipak deluje malo 'sumnjivo' za realizaciju. Ono što me u stvari buni u tvom pitanju je analogija koji su pomenuo sa TP-om. Iz nje bi se moglo zaključiti da trebi treba zapravo modul koji možeš ulinkovati sa *svojim* programom tako da ostatak programa može biti nezavisan od njega a da se modul aktivira na specijalno ime datoteke. Ako je ovo tačno, problem je rešiv daleko lakše. Pozdrav, zz
cccc.245 djelovic, -> #244, zzivotic
Možda bi trebao da pogledaš C++, čiji tokovi (streams, manje-više isto što i FILE) mogu da budu i u memoriji. Ako je to ono što ti treba???
cccc.246 ljupco, -> #244, zzivotic
> Ono sto me u stvari buni u tvom pitanju je analogija koji su pomenuo sa > TP-om. Iz nje bi se moglo zakljuciti da trebi treba zapravo modul koji mozes > ulinkovati sa *svojim* programom tako da ostatak programa moze biti nezavisan > od njega a da se modul aktivira na specijalno ime datoteke. Ako je ovo tacno, > problem je resiv daleko lakse. Da, tacno tako - modul koji se ulinkuje sa glavnim programom i koji se aktivira na specijalno ime datoteke.
cccc.247 djelovic, -> #246, ljupco
Napravi u jednom fajlu tvoje rutine tipa: FILE *myopen (char *name, char *atr); char fgetc (FILE *fi)č . . . koje će da opšte sa memorijom. Onda u heder datoteku (.h) koju ćeš *uvek* uključivati poslednju staviš nešto kao: #define open(s,l) (strcmp (s, SPECNAME) ? open (s, l) : myopen (s, l) itd. Ne znam da li ovakav #define radi (open u def i u impl.), ali ako radi, onda bi trebalo da završi posao. Ipak ti preporučujem da pređeš na C++ jer on ima "legalne" mehanizme za ovo. p.s. fali zagrada u define
cccc.248 djelovic, -> #247, djelovic
u prethodnoj poruci treba da stoji mygetc (FILE *fi);. on-line :(
cccc.249 zonjic,
Na koji nacin se moze ostvariti (konverzioni karakter ili...?) da mi scanf vrati vrednost 0 kada ne unesem ni jedan broj? Unose se int-ovi... Uslov mi izgleda ovako i hteo bih izlazak iz petlje kada se samo <enter> otkuca : while(scanf("%d", &x)!=0) {... Probao sam sa while("%[^\n]d....... ali to vraca kodove karaktera (│49, 50.....
cccc.250 igor.mil, -> #249, zonjic
> Na koji nacin se moze ostvariti (konverzioni karakter ili...?) da mi scanf > vrati vrednost 0 kada ne unesem ni jedan broj? > Uslov mi izgleda ovako i hteo bih izlazak iz petlje kada se > samo <enter> otkuca : while(scanf("%d", &x)!=0) {... Funkcije scanf vraca broj promenljivih za koje je uspesno izvrseno ucitavanje i konverzija. Znaci 0 ce vratiti samo ako dodje do greske u ucitavanju prvog argumenta. Posto scanf ignorise white space, u koje spada i '\n' karakter, to sto ti zelis nije moguce izvesti na taj nacin. Ja sam za slican problem upotrebio sledece resenje: /*==== pocetak listinga ===============================*/ ... int x; char xstring[MAXDIGITS]; ... /* ovde pocinje tvoja while petlja */ while (1) { /* format %[^\n] znaci da je '\n' TERMINATOR ulaznog stringa */ fflush(stdin); scanf ("%[^\n]", xstring); if(xstring[0]=='\0') break; x = atoi(xstring); ... } ... /*==== kraj listinga ===============================*/ Poziv funkcije fflush je, bar u mom programu, i sa Turbo C kompajlerom bio neophodan, do cega sam dosao metodom pipanja, i nemam jasnu predstavo zabog cega. Bez njega je scanf ucitavao samo pri prvom prolazu kroz petlju (?!). Moduce da je to zbog toga sto sam nize u petlji koristio getche funkciju, pa je ona nekoga zbunjivala. Probaj bez fflush, mozda ce da radi. Treba obratiti paznju na to da ce atoi(xstring) vratiti 0 i ukoliko 'xstring' ne predstavlja broj. Ako je potrebna kontrola ulaza, treba umesto poziva atoi funkcije staviti: if(sscanf(xstring, "%d", &x)==0) input_error(); Pozdrav ---igor
cccc.251 mmihajlovic, -> #250, igor.mil
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Poziv funkcije fflush je, bar u mom programu, i sa Turbo C > kompajlerom bio neophodan, do cega sam dosao metodom pipanja, i > nemam jasnu predstavo zabog cega. Bez njega je scanf ucitavao samo > pri prvom prolazu kroz petlju (?!). Moduce da je to zbog toga sto > sam nize u petlji koristio getche funkciju, pa je ona nekoga > zbunjivala. Probaj bez fflush, mozda ce da radi. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Funkcija scanf() je prilicno neprijatna i razlicito se ponasa zavisno od implementacije (kompajlera). Ako imamo sledecu komandu: scanf("%d", &number); otkucamo li neki broj i <Enter> scanf ce nas broj dodeliti promenljivoj number ali ce ostaviti newline karakter u baferu. Ovo se moze prevazici na nekim sistemima ako eksplicitno zadamo citanje newline karaktera: scanf("%d\n", &number); ali na MSDOS-u ovo ne radi, bar ne sa kompajlerima sa kojima ja imam iskustava (MS, TC, TS, ZT, HC). Buduci da je u navedenom delu programa: scanf ("%[^\n]", xstring); eksplicitno zadato citanje stringa DO newline karaktera, koji je u drugom prolazu prvi karakter u baferu stdin, fflush() je neophodan. U svakom slucaju, funkciju scanf() treba izbegavati koliko god je moguce jer je ona jedna od najvecih funkcija run-time biblioteke i nepotrebno povecava (usporava) program. Navedeni primer je daleko bolje uraditi koristenjem gets() i atoi() funkcija: /*==== pocetak listinga ===============================*/ int x; char xstring[MAXDIGITS]; /* Ne zaboravi prostor za '\0' na kraju */ /* ovde pocinje tvoja while petlja */ while (1) { gets (xstring); if(xstring[0]=='\0') break; x = atoi(xstring); ... } /*==== kraj listinga ===============================*/ MM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= E
cccc.252 docke,
Ima li neko bilo kakvih iskustava sa Zortech C++ om.Šta može .kolko vredi , neko poređenje sa Borlandovim C++ i sl. Bilo šta da ste čuli napišite ,jer prema nekim napisima u inostranstvu (čittaj reklamama) izgleda da je na našim prostorima ovaj ptoizvod neopravdano zapostavljen. Pozdrav Docke P.S. nije ptoizvod nego proizvod
cccc.253 djelovic,
Imam AWK 3.00. Da li to nekoga zanima, jer ne bi da ga šaljem bez veze. Inače, stvar je strašna!
cccc.254 igor.mil, -> #253, djelovic
> Imam AWK 3.00. Da li to nekoga zanima, jer ne bi da ga saljem bez > veze. Ako je za neki MS-DOS compiler (preferably Turbo C), salji obavezno! pozdrav ---igor
cccc.255 djelovic, -> #254, igor.mil
Nemam source, već preveden program. Pošto smatram da program zaslužuje da se nađe u PCSOFT, nalepiću ga uz ovu poruku. Inače, što se tiče teme o piratstvu, mislim da je moderator bio u pravu što je uklonio fajl koji bi *možda* (mada je malo verovatno, ali treba imati princip) mogao da donese neprilike SEZAM-u. Ipak se slažem da je većina ljudi hipokritski (da li se tako kaže?? :) ) nastrojena po tom pitanju. Ko je poslao lovu za sav shareware koji ima? Ko je ikada poslao donaciju autoru PD programa? Budimo realni, čovek plaća samo ono što mora (svaka čast izuzecima)? Primer sa knjigama i video kasetama je sasvim u redu. awk300.zip
cccc.256 maleksic,
Hej! Da li netko zna: da li postoji translator sa FORTRAN77 sourca na ANSI C source, a da radi na PC-ju, naravno ?? Drugim rijecima: treba mi program koji za ulazne podatke ima standardni FORTRAN77 source fajl, a posle obrade da se dobije odgovarajuci source na ANSI C-u?
cccc.257 djelovic, -> #256, maleksic
Ne znam za FORTRAN, ali znam da ima za basic, pa ako te zanima, daću ti adresu. Ako nabaviš ovo za fortran, *obavezno* javi, i meni treba.
cccc.258 mmihajlovic, -> #256, maleksic
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Da li netko zna: da li postoji translator sa FORTRAN77 sourca > na ANSI C source, a da radi na PC-ju, naravno ?? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Naravno! Postoje bar dva vrlo dobra. PROMULA.FORTRAN ($495) FOR_C oko($600) PROMULA Developement Corporation COBALT BLUE Co. 3620 N. High St. Suite 301 2940 Union Ave, Suite C Columbus, Ohio 43214 San Hose, California 95124 tel (614)263-5454 tel (408)723-0474 fax (408)377-7648 Oba su (barem prema prikazima) izvrsna mada licno mislim da je PROMULA bolji izbor zbog sledeceg: Uz njega dobijate run-time lib. sa oko 150 funkcija za rad sa memorijom, posto je primarna namena ovog translatora da omoguci rad velikih FORTRAN aplikacija na 640K DOS-u. Npr. DIMENSION A(10000,20),B(10000,20) bukvalno preveden (sto FOR_C i radi) bi dao: static float a[20][10000], b[20][10000]; Pod DOS-om je ovo neupotrebljio. E, ovde PROMULA omogucava da se sve varijable koje su vece od neke zadate vrednosti tretiraju kao virtualne i njihovo referenciranje povlaci disk I/O (obzirom da je skoro izasla verzija 3.0 za pretpostaviti je da sad tu ima koristenja EMS, XMS itd). Pomocu ovog programa je nekakav model za distribuciju elektricne energije u nisko naponskoj mrezi spusten sa IBM mainframe-a gde je uzimao 3M core memorije na obican PC pod DOS-om, i davao identicne rezultate (bar prema prikazu proizvodjaca). Dalje, FORTRANSKA COMMON naredba, posebno ako je vezana sa EQUIVALENCE je izrazito neprijatna za prevod na C. PROMULA ovde nudi cak cetiri varijante prevoda, zavisno sta se desava sa COMMON blokom. FOR_C tretira COMMON blok uvek kao lokalni pointer na strukturu. Da se razumemo, ja NEMAM ni jedan od ovih translatora, ali imam gomilu prikaza i reklamnih materijala za oba. Prilicno je jednodusna ocena da je PROMULA.FORTRAN bolji. Sa druge strane COBALT BLUE ima FOR_C++ i FOR_STRUCT. Za prvi je jasno sta je, dok drugi od vaseg spageti FORTRANSKOG programa (a vecina ih je takva) pravi potpuno struktuirani kod. Ako bilo ko ima ove programe, OBAVEZNO neka mi se javi buduci da sam VRLO zainteresovan za tako nesto. Cak sam zainteresovan za, eventualnu zajednicku kupovinu uz podelu troskova, jer svaka investicija u software od preko $400 u nasim uslovima mi se cini suludom. Kod Prog. paradisea se moze naci i za ispod $400. MM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
cccc.259 maleksic, -> #257, djelovic
>> ...ali znam da ima za basic .. Na zalost, treba mi bas za FORTRAN
cccc.260 maleksic, -> #258, mmihajlovic
>> > Da li netko zna: da li postoji translator sa FORTRAN77 sourca >> > na ANSI C source, a da radi na PC-ju, naravno ?? >> Naravno! Postoje bar dva vrlo dobra. >> >> PROMULA.FORTRAN ($495) FOR_C oko($600) Meni je vazno da proizvedeni C source bude sto standardniji (strogo po ANSI-ju) da bi bio portabilan na razne sisteme. Podrska raznim FORTRAN-skim prosirenjima (do while, end do, ...i raznim drugim prosirenjima koja se stidljivo najavljuju za novi standard FORTRANA) takodje je dobrodosla. Naravno, podrazumeva se da je obavezno podrzan kompletan standardni FORTRAN77. Koji je translator bolji ako se ovo sve uzme u obzir?
cccc.261 mmihajlovic, -> #260, maleksic
> Meni je vazno da proizvedeni C source bude sto standardniji (strogo > po ANSI-ju) da bi bio portabilan na razne sisteme. Podrska raznim > FORTRAN-skim prosirenjima (do while, end do, ...i raznim drugim > prosirenjima koja se stidljivo najavljuju za novi standard FORTRANA) I jedan i drugi imaju mogucnost da izvrse translaciju u cist C. U kojoj meri je on ANSI (a u kojoj K&R) nisam uspeo da iskopam. U svakom slucaju ja bih uvek pre uzeo PROMULA.FORTRAN posebno zbog egzibicija sa COMMON blokovima (ko nije rucno prebacivao C u FORTRAN ne zna koje su to muke) a i zbog cene. Uz to PROMULA (nova verzija) nudi mogucnost rada sa gotovo svim dijalektima FORTRAN-a. MM P.S. Vec su polako poceli da se javljaju interesenti za zajednicku kupovinu.
cccc.262 mmihajlovic,
Prvo moram da se izvinim zbog nekih netacnosti u porukama 6.258 6.261. Cena PROMULA.FORTRAN-a za PC je neverovatnih $995 ! :(((( razgovarao sam sa vlasnikom i on tvrdi da sada (verzija 3.0)prevodi 100% bilo koji FORTRAN dijalekat u cist ANSI C (i ovo sam saznao). Za te pare se dobija izvorni kod za run-time lib. sada pitanje odnosa cena/pouzdanost (ili procennat dobrog prevodjenja) ostaje otvoreno. Cege, izgleda nista od nase kupovine. MM
cccc.263 sgopcevic,
Zdravo, Sa Sezama sam pruzeo datoteku r064ume.zip u kojoj su dati programi iz umetka racunara 64 - PROZORI NA C-U 1./ Prilikom kompajliranja programa MENU.C u message prozoru pojavile su mi se sledece poruke: Warning:d:\tc\exec\menu.c 556: non-portable pointer assignement in function directory Warning:d:\tc\exec\menu.c 755: non-portable pointer assignement in function ch_dir i kursor je u editor prozoru u oba slucaja stao na liniju u kojoj je pisalo: fblp=0x00ff; /*inicijalizacija pointera */ 2./ Posto sam predhodno uspesno kompajlirao datoteku lowfn.c pokusao sam da formiram biblioteku rac.lst samo od ove datoteke. Po izvrsenju naredbe: TLIB d:\tc\lib\rac.lib +d:\tc\exec\lowfn.c, rac.lst prijavljena mi je greska: error:record kind, 0x2E found, expected theadr or lheadr Sta znace ove greske i sta da radim? Sgopcevic
cccc.264 alexa, -> #263, sgopcevic
> Prilikom kompajliranja programa MENU.C u message prozoru > pojavile su mi se sledece poruke: > > Warning:d:ĐtcĐexecĐmenu.c 556: non-portable pointer > assignement in function directory > Warning:d:ĐtcĐexecĐmenu.c 755: non-portable pointer > assignement in function ch_dir > > i kursor je u editor prozoru u oba slucaja stao na liniju > u kojoj je pisalo: > > fblp=0x00ff; /*inicijalizacija pointera */ Pa, ovde je kompajler pošteno odradio svoj posao - ovo jeste neportabilno, ali nemoj mnogo oko toga da se sekiraš. Portabilno je u okviru PC-ja pod DOS-om. > TLIB d:ĐtcĐlibĐrac.lib +d:ĐtcĐexecĐlowfn.c, rac.lst > > prijavljena mi je greska: > > error:record kind, 0x2E found, expected theadr or lheadr Ja nisam nikad koristio TLIB, ali nešto mi govori da u biblioteku treba da ubaciš lowfn.obj, a ne lowfn.c :)
cccc.266 zonjic, -> #263, sgopcevic
A da nije to SW za MSC a ti pokusao da compilujes TC-om ili obratno?
cccc.267 zonjic,
Moze li neko da mi kaze sta ovde (ovdi) ne valja? DUMMYINT.C #include <stdio.h> #include <dos.h> #define INTR 0x1c void interrupt (*starivektor)(void); char *s; void interrupt novivektor(void) { int x, y; x=wherex(); y=wherey(); gotoxy( 1, 1); printf("Rade"); gotoxy( x, y); starivektor(); } void main() { starivektor = getvect(INTR); setvect(INTR, novivektor); }
cccc.268 zonjic, -> #267, zonjic
Verovatno zbog toga sto se DOS poziva i u printf (kad smo vec u DOS-u). Nesto manje problema proizvodi funkcija putch(char c), ali kada se izvrsi program, a zatim zatrazi dir racunar blokira... Ne znam gde je caka. (da li treba da ostane putch i da li uopste ovo moze da se lako izvede?)
cccc.269 sgopcevic, -> #264, alexa
>Ja nisam nikada koristio TLIB ali mi nesto govori da u biblioteku treba da >ubacis lownfn.obj umesto lownfn.c Primedba je bila OK. Umesto lowfn.c u naredbi TLIB stavio sam lownf.obj i uspeo sam da formiram biblioteku RAC.LIB. Medjutim sada mi se pojavio drugi problem.U fazi linkovanja programa dobijam poruku: Linking error:undefined symbol '_ime' in modul IME_MODULA iako su u programu u include naredbi navedene datotke ime.h sa path-om koje sadrze potrebne funkcije a formirana biblioteka se nalazi u odgovarajucem direktorijumu c:\tc\lib. Pri formiranju biblioteke drzao sam se upustva iz umetka u racunarima br 64 -Pozori na c-u od funkcije do biblioteke. Da mozda ne fali jos nesto u upustvu ? sgopcevic
cccc.270 sgoran,
Konacno !!! Postao sam vlasnik (registrovani) Borland C++. Svim nevernim Tomama u inat. Uzgred ako se neko cuje sa Bulajom, kazite mu da je i njegov paket stigao. _ Ushiceni pozdrav SGoran.
cccc.271 mmilosevic, -> #200, ljupco
Help! Zna li neko kako da setujem mod 0x13 -> ( dec ) 19( 320x200 ,256colors) u TC 2.00. u TC 2.00. U Help-u nema odgovarajuci mod , poludeo saCak sam bio primoran da radim u MSC 5.1 da bi uradio neki glupigramcic u tom modu. Ako neko ima resenje, neka napise poruku ili neka posalje na MMILOSEVIC. Unapred hvala, MMILOSEVIC Aleksandar Milosevic
cccc.272 mmihajlovic,
Evo moje varijente FileFind-a. U poredjenu sa Nortonivim FF-om postoje neke minimalne razlike u formatu ispisa i nacinu zadavanja parametara ali se one mogu prilagoditi obzirom da je dat izvorni kod. Program je pisan u C-u i regularno se kompajlira po MSC i TC uz postavljen normalni warning level. Komentari su dati na engleskom a formatiranje sourcea je radjeno u 'CLEAR+ for C'. Mozete ga prilagodjavati po svom ukusu. Pa, srecno. MM mff.zip
cccc.273 mmilosevic,
Imam jedan problem oko TC-a 2.00. Nedavno sam preuzeo drajver za VGA sa 256 boja, SVGABGI.ZIP ( valjda u konf. grafika ) . Instalirao sam ga u svom programu, i neki moji mali programi su normalno radili ali sa 256 boja. E, sad, uzeo sam BGIDEMO.C i tu instalirao mod 320x200 sa 256 boja. U pocetku je radilo, ali sto sam ga vise kompajlirao nisam dobijao INFO tekst na pocetku programa i nisam dobijao ni linije, nije ni radio putimage i getimage demo. Medjutim, nije tu problematika.Problem je u tome sto u TC-u nema adekvatna rutina za setovanje paleta.Takva jedina funkcija je setrgbcolor i setrgbpalette.Ali uvek kada ga ubacim u program LINKER prijavljuje gresku. ( mislim za setrgbcolor i setrgbpalette ). Onda sam pokusao da napisem program u asembleru koji RED,GREEN,BLUE komponentu pretapa u jednu boju preko interapta 0x10 i on je radio bez problema. Ali ne lezi vraze, BGI driver ne priznaje nikakve rutine koje ne koriste njegov drjver. Na kraju , da vas ne davim, kratko i jasno treba mi rutina koja ce tri komponente, RED , GREEN , BLUE pretvoriti u jednu boju. Sve sam pokusao i nista mi ne ide od ruke. Unapred HVALA , MMilosevic Milosevic Aleksandar
cccc.274 djelovic, -> #271, mmilosevic
Da ne idem previše opširno, imaš odgovarajući interrupt pod BIOS-om koji možeš da pozoveš sa int86 (...). Ako se u to ne razumeš, reci pa ću ja da se ovde rasplinem na par strana. Takođe, ako imaš vremena, download-uj ona tri fajla sa tekstovima o interruptima, pa šmekni malo - ima mnogo zanimljivih stvari.
cccc.275 mmihajlovic,
Ova (Turbo)C funkcija resetuje racunar (warm boot). reboot() { *(unsigned int far*)0x472=0x1234; /* Za cold boot promeniti 1234 u nesto drugo */ __emit__(0xea,0,0,0xff,0xff); /* Asemblerski kod za jmp FFFF:0000 */ } MM
cccc.276 mmilosevic, -> #274, djelovic
E, djelovicu, nisi morao da Úse ─mucis, nasao sam resenje jos odavno, sa intr 0x10, funkcija 0x10 i podfunkcija 0x10, ( valjda ide tako , akoÚ se jos secam ).Ono sto sam napisao su gluposti, ali coveka lako navede na to.Na primer pokusaj umesto initgraph() da upotrebis intr 0x10, ah=0x00, al=0x13( setuj bilo koji mod Ę, u ovom sl▀ucaju Šš.─320x200 , 256 boja ). I u programu ─upotrebi par njegovih funnkicija za crtanje, cirlce... Startujes program, i truba, javlja gresku, jer nisi isao preko initgraph() koji setuje DRIVER! To me je navelo da pomislim da je TC usko ogranicen samo na svoje funkcije koje su opet nadovezane za drajver.Medjutim, nijeako , nedavno sam napravio program za prikazivanj GIF slicica, i obicnih slicica skinuti sa nekimŇü GRABOM. Eto , to je to, a sto se tice oneÚ rutine preko Úintr 0x10 nemoras da brines takve prljave fore i trikove sam odavno prevaziso !!!! :))) ( he! he! he ! ). Ajde dosta sam zabalavio , pozdraqv od MMILOSEVIC-a Aleksandar Milosevic
cccc.277 mjova,
evo jednog zanimljivog pitanja za one koji se ovim bave. shell-ovanjem nekog programa pomoću funkcije spawn, child proces obavezno zauzme 64k. ima li možda neko rešenje koje zahteve manje memorije? nema potrebe da rezerviše ceo segment radi programa od nekoliko k. ili možda ima? mislim da se problem može rešiti brljanjem po standardnim bibliotekama, mada to nije neko rešenje. ----------------(child.c)---------------- #include<process.h> #include<stdio.h> main(void) { printf("vrno je %i", spawnl(P_WAIT, "mi.com", NULL)); } ----------------(child.c)---------------- Type Paragraphs Bytes Owner ---- ---------- ----- ------------- Prog 047B-0528h 2784 047Bh 4DOS 4DOS Prog 057C-0614h 2448 057Ch ANSI POFF /B50 /Q Prog 062B-162Ah 64k 062Bh CHILD E:\TC\FUNC\CHILD.COM:\TC\FUNC\MI.COM Prog 1641-9FFFh 551k 1641h MI E:\TC\FUNC\MI.COM Extended (AT/286/386) memory. Available: 912k XMS driver version 02.00 (05.11). HMA exists. Expanded memory (EMM 4.0) at page frame E000h 3680k total ( 2768k used + 912k free). vrno je 0 šule
cccc.278 djelovic, -> #277, mjova
Reci za šta ti to treba, pa da ga izbegnemo ako možemo. Takođe, probaj da pročitaš uputstvo za TC++/Izlazak u shell, jer je tu bilo nešto na tu temu. Znam i da može da se ostavi i manje, samo se ne sećam kako ide. Još jednom: Zašto?
cccc.279 zzivotic, -> #277, mjova
>> shell-ovanjem nekog programa pomoću funkcije spawn, child >> proces obavezno zauzme 64k. ima li možda neko rešenje >> koje zahteve manje memorije? nema potrebe da rezerviše >> ceo segment radi programa od nekoliko k. ili možda ima? >> mislim da se problem može rešiti brljanjem po standardnim >> bibliotekama, mada to nije neko rešenje. O ovome je bilo reči u "R". U startup modulu (CRT0.ASM) je difinisano da program uvek alocira 64K čak i ako mu treba manje - uglavnom zbog prostora na near heap-u. Ne znam kako bi se stvar rešila kod COM programa, ali ako generišeš EXE fajl, možeš da upotrebiš LINK prekidač /CP (CPARMAXALLOC ili tako nekako) kojim možeš ograničiti taj 'višak'. Nakon: link child /CP:1; Program će zahtevati samo jedan pasus više nego što mu je minimalno neophodno. Ovo se sve odnosi na Microsoft ali pretpostavljam da i TC radi slično. Pozdrav, zz
cccc.280 bojt, -> #279, zzivotic
>> link child /CP:1; >> Program će zahtevati samo jedan pasus više nego što mu je >> minimalno neophodno. Neće! Pokušaće da stavi samo jedan pasus, i ukoliko je to manje od broja potrebnih pasusa, usvojiće broj potrebnih pasusa. Medjutim, ovaj princip se, bar po mom iskustvu, pokazao prilično nepouzdanim, jer se dešava da program pukne kod otvaranja (više) fajlova i slično. Po onome koliko sam ja imao prilike da ispitam taj problem, optimum je staviti 30-50 pasusa više nego što je programu potrebno. To se ne može postići opcijom /CP kod linkovanja, već se pomoću EXEHDR pročita koliko je ekstra pasusa potrebno programu (Extra paragraphs needed), pa na to dodati 30-50 i onda promeniti traženi broj ekstra pasusa (Extra paragraphs wanted) sa EXEHDR /MAX:n file.exe Što se tiče opcije /CP, evo šta kaže dokumentacija: Syntax: /CP[ARMAXALLOC]:number This option sets the maximum number of 16-byte paragraphs needed by the program when it is loaded into memory. The field <number> can contain any integer from 1 to 65,535. This option is valid only when linking DOS programs. The operating system uses this value when allocating space for the program before loading it. The option is useful when you want to execute another program from within your program and you need to reserve space for it. Without this option, LINK sets the request to 65,535 paragraphs. This request always fails (it exceeds DOS limits); and the operating system allocates the largest possible contiguous block of memory. With the /CP option, you can adjust the allocation to the specific needs of your program. If you set <number> to less than the minimum number of paragraphs needed by the program, LINK ignores your request and sets the value equal to whatever the program requires. To free more memory for programs compiled in the medium- and large-memory models, link with /CP:1. This leaves no space for the near heap. NOTE: You can use the EXEHDR utility to change the maximum allocation space after a program has been linked.
cccc.281 mjova, -> #278, djelovic
>> Reci za šta ti to treba, pa da ga izbegnemo ako možemo. Takođe, >> probaj da pročitaš uputstvo za TC++/Izlazak u shell, jer je tu bilo >> nešto na tu temu. Znam i da može da se ostavi i manje, samo se ne >> sećam kako ide. Još jednom: Zašto? Originalno uputstvo nemam, ali imam Complete Reference Turbo C/C++ od (Herbert Schildt). U toj knjizi nisam našao ništa zanimljivije o tom problemu. A što mii to treba? Pa vidi ovako, radim nešto što ima svega nekoliko kb (oko 5). Takav program nema potrebe da zauzme 64k, naročito ako se poziva iz nekog programa. Osnovna ideja je da mi treba vrlo krtatak program u memoriji. mjova
cccc.283 zzivotic, -> #280, bojt
>> Neće! Pokušaće da stavi samo jedan pasus, i ukoliko je to >> manje od broja potrebnih pasusa, usvojiće broj potrebnih >> pasusa. U pravu si, moja greška. >> Medjutim, ovaj princip se, bar po mom iskustvu, pokazao >> prilično nepouzdanim, jer se dešava da program pukne kod >> otvaranja (više) fajlova i slično. Po onome koliko sam ja >> imao prilike da ispitam taj problem, optimum je staviti >> 30-50 pasusa više nego što je programu potrebno. Princip nije nepouzdan - ono što je nepouzdano je kod koji generiše kompajler (u tvom slučaju fortran?) kada se nađe u situaciji da nema ni bajta slobodne memorije. Ipak, kod C-a (MS) izgleda da stvari nisu tako čiste - skineš maxmem i nema više memorije na near heap-u. Pogledaću detaljnije o čemu se radi... Pozdrav, zz
cccc.284 mjova, -> #279, zzivotic
>> near heap-u. Ne znam kako bi se stvar rešila kod COM programa, ali ako >> generišeš EXE fajl, možeš da upotrebiš LINK prekidač /CP (CPARMAXALLOC >> ili tako nekako) kojim možeš ograničiti taj 'višak'. Nakon: da, program će biti EXE formata jer mi tako više odgovara, ali nisam baš ubeđen da TLINK ima takav prekidač :( mjova
cccc.285 zzivotic, -> #284, mjova
>> da, program će biti EXE formata jer mi tako više >> odgovara, ali nisam baš ubeđen da TLINK ima takav >> prekidač :( Bez obzira, sa EXEHDR-om možeš naknadno da uradiš na gotovom EXE fajlu isto. Pozdrav, zz
cccc.286 mmihajlovic, -> #267, zonjic
> Moze li neko da mi kaze sta ovde (ovdi) ne valja? > > DUMMYINT.C Priznajem da gledajuci ovaj program od sume nisam video drvece. Tek kad sam pogledao generisani asemblerski kod postalo je jasno. Problem je u tome sto interrupt service ne vrsi switch na lokalni stack, te se ne mogu koristiti lokalne varijable niti pozivi bibliotekama. MM
cccc.287 sgopcevic,
Da li moze neko da mi pomogne? U fazi linkovanja programa dobijam poruku: Linking error:undefined symbol '_ime' in modul IME_MODULA iako su u programu u include naredbi navedena datotka *.h sa path-om koji sadrzi potrebne funkcije a formirana biblioteka se nalazi u odgovarajucem direktorijumu c:\tc\lib. Biblioteku sam formirao na osnovu upustva iz umetka u racunarima br 64 -Prozori na c-u od funkcije do biblioteke od A. Radovanovica. Da mozda ne fali nesto u upustvu ? sgopcevic
cccc.289 djelovic, -> #287, sgopcevic
Sumnjam na dve stvari: 1) Nisi ubacio biblioteku u projekat. 2) Preveo si biblioteku iz *.C fajlova a pokušavaš da je koristiš iz *.CPP fajlova. Ovo ne radi zato što C++ koristi nešto što se zove name mangling, tj. funkciju look (int x, char *p) prevodi u nešto kao look_intchp. Ovo možeš izbeći ako koristiš extern "C" direktivu, šmekni malo *.h fajlove koji dolaze uz kompajler, imaš to u njima. P.S. Možda nešto zaista fali. Uradi search za to što ne dostaje u source-u biblioteke.
cccc.290 igor.mil, -> #287, sgopcevic
>> Biblioteku sam formirao na osnovu upustva iz umetka u racunarima br >> 64 -Prozori >> na c-u od funkcije do biblioteke od A. Radovanovica. >> >> Da mozda ne fali nesto u upustvu ? Rekao bih da si u pravu. Upravo sam pogledao taj umetak i nisam pronasao da je receno da za svaki program koji koristi funkcije iz bibloteke RAC.LIB ili bilo koje nestandardne biblioteke, a prevodi se iz integrisane okoline TC-a, treba formirati odgovarajuci .PRJ fajl. Na primer, ako se glavni program zove GLAVNI.C, tada treba formirati fajl GLAVNI.PRJ sa sledecim sadrzajem: GLAVNI RAC.LIB Ovaj fajl se aktivira preko opcije "Project Name" menija "Project", gde treba upisati "GLAVNI.PRJ". Sada ce sve lepo da radi, samo treba pritisnuti F9... Pozdrav od Igora
cccc.291 igor.mil,
Pitanje za poznavaoce TC-a: "Cemu sluzi opcija /E - create extended dictionary programa TLIB?" Pozdrav od Igora
cccc.292 sgopcevic, -> #290, igor.mil
Igore hvala. Uspeo sam da formiram exe fajl na osnovu tvoga uputstva pozdrav od spira
cccc.293 nesic, -> #273, mmilosevic
Rešavanje ovog problema sam već jednom objašnjavao (odgovor na poruku 8.199 u konferenciji PC.SOFT). Ali niko da sada nije bio ljubazan da mi da odgovor na pitanje "Da li je pomoću tog BGI drajvera moguće pozvati neki mod koji nije 300x200x256?". Imam VGA karticu sa 1MB memorije i valjda bih mogao sebi da priuštim i mod 800x600x256. Kako? Inače, ja nemam baš taj drajver koji ti spominješ, već neki VGA256 koji sam pokupio iz neke igre pisane u Turbo Pascal-u (ili Turbo C-u). Evo kako ja postavljam paletu u Turbo Pascal-u, a ti to prepevaj u C. uses dos, crt, graph; type colortype=record r,g,b:byte; end; vgapalettetype=array[0..255] of colortype; procedure vgasetallpalette(var p:vgapalettetype); var regs:registers; begin with regs do begin ax:=$1012; bx:=$0000; cx:=$0100; es:=seg(p); dx:=ofs(p); end; intr($10,regs); end; {$f+} function detectvga256:integer; var detecteddriver:integer; suggestedmode:integer; begin detectgraph(detecteddriver,suggestedmode); if (detecteddriver=vga) or (detecteddriver=mcga) then detectvga256:=grok else detectvga256:=grerror; end; {$f-} var autodetectpointer:pointer; driver,mode:integer; errorcode:integer; colornum:integer; palette:vgapalettetype; begin autodetectpointer:=@detectvga256; driver:=installuserdriver('vga256',autodetectpointer); driver:=detect; mode:=3; initgraph(driver,mode,''); errorcode:=graphresult; if errorcode<>grok then begin writeln('Error:',grapherrormsg(errorcode)); halt; end; for colornum:=0 to getmaxcolor do begin palette[colornum].r:=colornum div 1; palette[colornum].g:=colornum div 2; palette[colornum].b:=colornum div 4; end; vgasetallpalette(palette); for colornum:=0 to getmaxcolor do begin setcolor(colornum); line(colornum,0,colornum,getmaxy); end; repeat until keypressed; closegraph; end. Pozdrav, Nešić
cccc.294 iri.ic,
Pronasao sam u Dr.Dobb's Journal - u prikaz jednog, izgleda, izvrsnog library-a za user interface ( u C-u) od Al Stevens-a. Library je public domain i dostupan je na Telepathu i na CompuServe-u ( Library 0, DDJ forum). Zove se DFLATn.ARC (n oznacava verziju). Probao sam ga pokupiti sa TELEPATH-a (jer je besplatan), ali ne ide . Losa je komunikacija i na ekranu dobijam samo zvrljotine. Ako neko zeli doci do ovog library-a, a uspije pristupiti TELPATHU ili ima pristup na CompuServe bilo bi dobro da ga pokupi i stavi ga na SEZAM ili da mi barem ostavi poruku, pa da se dogovorimo kako ga mogu dobiti Broj telepatha je 991 415 364 8315 (1200/2400 N 8 1 ).... Unaprijed hvala na pomoci..... Pozdrav od IRI.IC
cccc.295 braca, -> #294, iri.ic
Eve ga DFLAT3. Stvarno izgleda majstorski!
cccc.296 bulaja, -> #295, braca
DFLAT3 je prebacen u \ibmpc\misc direktorijum. Hvala na prilogu.
cccc.297 iri.ic, -> #296, bulaja
Hvala Bulaji i Braci na pomoci ! Kada dobijem i uputstva za DFLAT3, ostaviti cu ih na SEZAMU.
cccc.298 braca, -> #297, iri.ic
Uputstva su nekoliko poslednjih (i budućih) članaka Ala Stivensa u DDJ!
cccc.299 rakim,
Kako ugasiti cursor na terminalu (terminfo - unix C)? rakim
cccc.300 zkehler, -> #294, iri.ic
Vrlo je frustrirajuće kada na izgled odličnu telefonsku vezu sa USA pokvari brojač impulsa. Glas ide, ali modem preživljava teške trenutke. Što je vrlo interesantno, izgleda da na američkoj strani modem ne prima toliko đubreta, jer se BBS-ovi ne bune.  Zoran
cccc.303 djelovic,
Viva C! Pre neki dan sam uzeo program iz ATARIST direktorijuma i prebacio ga na PC-a za 10 min., a program je imao i grafiku. Ex, kolko mi treba da jedan program prebacim sa 360-ice na PC fortran...
cccc.304 ppekovic,
Evo liste i opisa bug-ova MSC-a 6!!! Paya c60probs.zip
cccc.305 djelovic,
Kako se interpretiraju naredbe tipa *c = *c++? (tj. kojim redosledom?). Da li je ovo definisano standardom ili zavisi od kompajlera?
cccc.306 georgd,
Da li neko koristi cross C za mikroprocesor 8051, mene bi narocito radovao susret sa nekim ko koristi implenentaciju C-51 firme Keil GmbH (ili Franklin Softvare USA). Pozdrav! GeorgD
cccc.307 igor.mil, -> #305, djelovic
> Kako se interpretiraju naredbe tipa *c = *c++? Ne vidim kakvog bi smisla imala ova naredba, ali po mom misljenju, redosled akcija je sledeci: - kopira se sadrzaj memorijske lokacije na koju u kazuje c u lokaciju na koju ukazuje c (isto kao *c = *c;) - inkrementira se sadrzaj lokacije na koju ukazuje c. sve u svemu *c = *c++ je ekvivalentno sa *c++ pozdrav od Igora
cccc.308 ivujanic,
Da se ljudi ne bi palili i trošili impulsne na niztovarenje mc20.zip, source-a C kompajlera, da vas obavestim da tamo do source-a nema ni traga ni glasa. To je samo demo, dakle već preveden kompajler, .EXE program, i već prevedena biblioteka. Ako hoćete source, tamo stoji jedna adresa na koju treba da kanete neki US$ autoru... E, sysadmi, sram vas bilo! Promenite onaj tekst uz file... Ivica
cccc.309 ppekovic, -> #308, ivujanic
>> Da se ljudi ne bi palili i trošili impulsne na niztovarenje mc20.zip, >> source-a C kompajlera, da vas obavestim da tamo do source-a nema ni traga >> ni glasa. To je samo demo, dakle već preveden kompajler, .EXE program, i >> već prevedena biblioteka. Ako hoćete source, tamo stoji jedna adresa na >> koju treba da kanete neki US$ autoru... Sorry 10E2000 puta. Greška je moja. Ni sam neznam koliko me je ljudi molilo da im nađem negde source za neki C kompajler. Našao sam na TRICKLE-u ali tamo se uopšte ne pominje da je to samo 'demo' source. Pošto ovih dana i nemam baš preterano vremena (ispiti) nisam detaljno pogledao o čemu se radi već sam samo proverio ispravnost arhive, pokrenuo sve exe-e i com-ove i ustanovio da nema grešaka i pogledao početka onof text fajla i u njemu, na početku, piše lepo da je unutra kompletan source i tralalala. Uz to još sam video gomilu .C i .H -ova i eto... Ko bi sve predvideo. Izvinjavam se svima još jednom, ali ... Paya
cccc.310 bulaja, -> #308, ivujanic
│Da se ljudi ne bi palili i trosili impulsne na niztovarenje mc20.zip, │source-a C kompajlera, da vas obavestim da tamo do source-a nema ni traga │ni glasa. To je samo demo, dakle vec preveden kompajler, .EXE program, i │vec prevedena biblioteka. Ako hocete source, tamo stoji jedna adresa na │koju treba da kanete neki US$ autoru... │ │E, sysadmi, sram vas bilo! Promenite onaj tekst uz file... └─── Ne da ce biti promenjen text uz file nego se file (najverovatnije) biti obrisan. Ali cu zato verovatno staviti Small C u direktorijum (nisam gledao da li je onaj u orci kompletan, ali svejedno cu nabaviti ceo).
cccc.311 todorp,
Hi! Da li neko zna kako se poziva interrupt iz C-a (turbo C-a)? Pozdrav od Todora.
cccc.312 djelovic, -> #311, todorp
Imaš više f-ja za pozivanje interrupta, sve počinju sa int, pa potraži u helpu TC-a. Npr int86x...
cccc.313 vasiljevic,
Zna li neko neki dobar nacin za pribavljanje neke literature ili bilo cega u vezi sa grafikom u C-u> Marko (the asker)
cccc.314 alexa, -> #307, igor.mil
Radi se o naredbi (izrazu) *c = *c++ > - inkrementira se sadrzaj lokacije na koju ukazuje c. E pa neće biti - ni na jednom C-u na koji sam naišao nije se inkrementirao sadržaj lokacije, nego se inkrementirao c. Ubeđen sam da je ovo 'zakucano' u listi prioriteta (++ pre * dereferencing-a), samo mi se ne da da sada kopam po knjigama. Upravo zato i originalno pitanje - da li će se inkrementiranje izvršiti pre ili posle dodeljivanja. Mislim da će se uvek prvo izračunati desna strana, pa tek posle leva (lvalue), i na kraju izvršiti dodeljivanje (ovo sve, naravno, na apstraktnom - konceptualnom nivou).