Article View: pl.comp.lang.c
Article #139rozlaczna kompilacja pod TC 2.0
From: 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
Technical Details
Message-ID:
<62n16s$65m$1@kawa.mimuw.edu.pl>Path:
mbox-mo1.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
From: ab15...@students.mimuw.edu.pl (Aleksander Buczynski) Subject: rozlaczna kompilacja pod TC 2.0 Date: 1997/10/23 Message-ID: <62n16s$65m$1@kawa.mimuw.edu.pl> X-Deja-AN: 282652111 Organization: Warsaw University, Faculty of Mathematics, Informatics and Mechanics Newsgroups: pl.comp.lang.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit