Thread View: pl.comp.lang.c
6 messages
6 total messages
Started by ab15... Aleksander Buczynski
Thu, 23 Oct 1997 00:00
rozlaczna kompilacja pod TC 2.0
Author: ab15... Aleksander Buczynski
Date: Thu, 23 Oct 1997 00:00
Date: Thu, 23 Oct 1997 00:00
38 lines
1862 bytes
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
Author: Stanislaw Bochnak
Date: Thu, 23 Oct 1997 00:00
Date: Thu, 23 Oct 1997 00:00
51 lines
2429 bytes
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
Author: Qrczak
Date: Thu, 23 Oct 1997 00:00
Date: Thu, 23 Oct 1997 00:00
14 lines
858 bytes
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
Author: slo... Tomasz Slodkowicz
Date: Thu, 23 Oct 1997 00:00
Date: Thu, 23 Oct 1997 00:00
21 lines
1196 bytes
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
Author: Pawel Loj
Date: Fri, 24 Oct 1997 00:00
Date: Fri, 24 Oct 1997 00:00
18 lines
988 bytes
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
Author: Marek Kotowski
Date: Mon, 27 Oct 1997 00:00
Date: Mon, 27 Oct 1997 00:00
22 lines
1059 bytes
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