🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

6 total messages Started by ab15... Aleksander Buczynski Thu, 23 Oct 1997 00:00
rozlaczna kompilacja pod TC 2.0
#139
Author: ab15... Aleksander Buczynski
Date: Thu, 23 Oct 1997 00:00
38 lines
1862 bytes

	Witam

	Ostatnio zdarzylo mi sie uzywac antyku pod tytulem 
Turbo C 2.0. Jak dotad wspolpraca ukladala sie nie najgorzej, 
z malym wyjatkiem: kiedy kompiluje program skladajacy sie 
z kilku modulow, pojawiaja sie problemy z przekazywaniem parametrow
typu float miedzy funkcjami znajdujacymi sie w roznych modulach.
Konkretnie: jezeli w pliku a.c mam zadeklarowana funkcje np.
	set_frequency(float a) { ... }
a w pliku b.c uzyje tej funkcji, np. 
	set_frequency(1234.56);
to calosc kompiluje sie bez problemow, ale podczas wykonywania
wartosc parametru a wewnatrz funkcji set_frequency() jest zupelnie
nieskorelowana z rzeczywiscie przekazana wartoscia. Zazwyczaj jest 
to 0 (raz zdarzylo mi sie zaobserwowac inna wartosc, wygladajaca 
dosyc losowo) - tak jakby funkcja pobierala a spod zlego adresu
(albo funkcja wywolujaca wpisywala wartosc w zlym miejscu).

	Jezeli umiescimy funkcje wywolujaca i wywolywana w tym
samym pliku, program dziala bez zarzutu - jednakowoz kazdorazowa
kompilacja paru tysiecy linii kodu jest dosyc uciazliwa.

	Parametry typu int przekazywane sa prawidlowo, niezaleznie
od rozmieszczenia w plikach - ale emulowanie float dwoma intami
rowniez nie jest zbyt wygodne.

	Czy ktos moze zetknal sie juz z tym problemem, i ma jakies 
informacje/sugestie co do przyczyny i/lub ewentualnego remedium ?


PS. Oba moduly maja dostep do protytypow funkcji.


Pozdrawiam
--
Aleksander...@students.mimuw.edu.pl
Re: rozlaczna kompilacja pod TC 2.0
#140
Author: Stanislaw Bochnak
Date: Thu, 23 Oct 1997 00:00
51 lines
2429 bytes
Aleksander Buczynski wrote:
> 
>         Witam
> 
>         Ostatnio zdarzylo mi sie uzywac antyku pod tytulem
> Turbo C 2.0. Jak dotad wspolpraca ukladala sie nie najgorzej,
> z malym wyjatkiem: kiedy kompiluje program skladajacy sie
> z kilku modulow, pojawiaja sie problemy z przekazywaniem parametrow
> typu float miedzy funkcjami znajdujacymi sie w roznych modulach.
> Konkretnie: jezeli w pliku a.c mam zadeklarowana funkcje np.
>         set_frequency(float a) { ... }
> a w pliku b.c uzyje tej funkcji, np.
>         set_frequency(1234.56);
> to calosc kompiluje sie bez problemow, ale podczas wykonywania
> wartosc parametru a wewnatrz funkcji set_frequency() jest zupelnie
> nieskorelowana z rzeczywiscie przekazana wartoscia. Zazwyczaj jest
> to 0 (raz zdarzylo mi sie zaobserwowac inna wartosc, wygladajaca
> dosyc losowo) - tak jakby funkcja pobierala a spod zlego adresu
> (albo funkcja wywolujaca wpisywala wartosc w zlym miejscu).
> 
>         Jezeli umiescimy funkcje wywolujaca i wywolywana w tym
> samym pliku, program dziala bez zarzutu - jednakowoz kazdorazowa
> kompilacja paru tysiecy linii kodu jest dosyc uciazliwa.
> 
>         Parametry typu int przekazywane sa prawidlowo, niezaleznie
> od rozmieszczenia w plikach - ale emulowanie float dwoma intami
> rowniez nie jest zbyt wygodne.
> 
>         Czy ktos moze zetknal sie juz z tym problemem, i ma jakies
> informacje/sugestie co do przyczyny i/lub ewentualnego remedium ?
> 
> PS. Oba moduly maja dostep do protytypow funkcji.

Na pewno???

> 
> Pozdrawiam
> --
> Aleksander...@students.mimuw.edu.pl


Druga mozliwosc jaka mi przychodzi do glowy (raczej wspomnienie),
nalezy wylaczyc opcje optymalizujaca uzycie floatow. Kiedys
w Borlandzie wlasnie, bardzo dlugo szukalem dziwnego bledu
zwiazanego z floatami. 
Moze brakuje innych opcji dotyczacych floata???

Mam nadzieje, ze to Ci choc troche pomoze.

Stanislaw Bochnak
Re: rozlaczna kompilacja pod TC 2.0
#141
Author: Qrczak
Date: Thu, 23 Oct 1997 00:00
14 lines
858 bytes
On 23 Oct 1997, Aleksander Buczynski wrote:

> 	Parametry typu int przekazywane sa prawidlowo, niezaleznie
> od rozmieszczenia w plikach - ale emulowanie float dwoma intami
> rowniez nie jest zbyt wygodne.

Spr�buj mo�e double. Nie znam si� na tym, ale double jest chyba jakie�
bezpieczniejsze. 

                                QRCZAK
    __("<             Marcin Kowalczyk
    \__/             qrc...@knm.org.pl
     ^^      http://kki.net.pl/qrczak/
Re: rozlaczna kompilacja pod TC 2.0
#143
Author: slo... Tomasz Slodkowicz
Date: Thu, 23 Oct 1997 00:00
21 lines
1196 bytes
Aleksander Buczynski (ab15...@students.mimuw.edu.pl) wrote:

> to calosc kompiluje sie bez problemow, ale podczas wykonywania
> wartosc parametru a wewnatrz funkcji set_frequency() jest zupelnie
> nieskorelowana z rzeczywiscie przekazana wartoscia. Zazwyczaj jest 
> to 0 (raz zdarzylo mi sie zaobserwowac inna wartosc, wygladajaca 
> dosyc losowo) - tak jakby funkcja pobierala a spod zlego adresu
> (albo funkcja wywolujaca wpisywala wartosc w zlym miejscu).


A na pewno wszystko jest skompilowane i zlinkowane z bibliotekami ze zmiennym
przecinkiem ?

Tomek

--
  Tomasz Slodkowicz   Institute of Computer Science
                      Jagiellonian University, Cracow, Poland
  e-mail: slo...@ii.uj.edu.pl
  www   : http://www.ii.uj.edu.pl/~slodki
Re: rozlaczna kompilacja pod TC 2.0
#142
Author: Pawel Loj
Date: Fri, 24 Oct 1997 00:00
18 lines
988 bytes
Qrczak <qrc...@knm.org.pl> wrote in article
<Pine.LNX.3.95.97102...@qrnik.knm.org.pl>...
> On 23 Oct 1997, Aleksander Buczynski wrote:
> 
> > 	Parametry typu int przekazywane sa prawidlowo, niezaleznie
> > od rozmieszczenia w plikach - ale emulowanie float dwoma intami
> > rowniez nie jest zbyt wygodne.
> 
> Spr�buj mo�e double. Nie znam si� na tym, ale double jest chyba jakie�
> bezpieczniejsze. 
> 
>                                 QRCZAK

Tak, tak - a kurczaczek ma jedna nozke bardziej.

Pawel
lo...@chaosworks.com.pl
Re: rozlaczna kompilacja pod TC 2.0
#144
Author: Marek Kotowski
Date: Mon, 27 Oct 1997 00:00
22 lines
1059 bytes
Marcin Laszewski wrote:
> 
> Aleksander Buczynski (ab15...@students.mimuw.edu.pl) wrote:
> : ...
> 
> Dekalracje funkcji stosuj!!!

  Odpowiedz na problem padla (przy braku prototypow funkcji wartosc
zmienno-
przecinkowa jest traktowana jako double). Dodalbym jeszcze jedno: nie
nalezy
ignorowac ostrzezen kompilatora. Przeciwnie: wskazane jest ustawic je na
najwyzszym
mozliwym poziomie. W omawianym przypadku powinno pojawic sie ostrzezenie
o braku prototypu funkcji.
  Inna sprawa, czy TC 2.0 generuje takie ostrzezenia. Jesli nie, lepiej
zmienic ten kompilator na inny, nowszy.
  
  Z powazaniem

  Marek Kotowski
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads