konstruktory statickych trid a gnu c na linuxu

Jan Kasprzak kas na informatics.muni.cz
Pátek Červen 4 14:30:20 CEST 1999


Linux wrote:
: konstruktory statickych trid se nikdy neprovedou, pokud je explicitne
: nezavolam. Tyto konstruktory by se mely provest jeste pred vstupem do
: funkce main. Toto lze obejit, pokud tyto konstruktory zavolam napriklad na
: zacatku v main (stejne se staticke tridy pouzivaji jen vyjmecne, tak toho
: moc neni). 

	Pojmem "staticka trida" myslite "staticka instance"?
Pokud tomu dobre, jde o tento kod:

--------------------------------------------------------
#include <stdio.h>

class a {
public:
	a(void) { puts("konstruktor a()"); };
};

static a a_instance;

main()
{
	puts("main");
}
--------------------------------------------------------

	Tento kod mi na RH5.2 i na RH6.0 v poradku vypise, co ma:

konstruktor a()
main

	Na RH5.2 mam

$ c++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.27/specs
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
$ rpm -qf /usr/bin/ld
binutils-2.9.1.0.4-2
$ rpm -qf /usr/lib/gcrt1.o 
glibc-devel-2.0.7-13

	A na RH6.0:

$ c++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
$ rpm -qf /usr/bin/ld
binutils-2.9.1.0.23-1
$ rpm -qf /usr/lib/gcrt1.o 
glibc-devel-2.1.1-6

-Yenya

-- 
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
||||   > Where do the -- MARK --s  come from ?                          ||||
||||   It is the sound of Tux the penguin chewing on your system logs.  ||||


Další informace o konferenci Linux