Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C/C++ - globaalit c++ dll:ssä.. toimiiko?

jsep [15.02.2006 07:52:34]

#

Jos c++ dll:ssä käyttää staattisia globaaleja muuttujia (file scope), joita ei exportata, niin toimiiko systemi niikuin pitäisi, eli eri funtiot voisivat operoida samoilla globaaleilla muuttujilla ?

Testasin hieman eVC++ dll_llää parilla funktiolla. Kun kutsui yhtä funktiota toistuvasti (tiedon lataus ja viimeisen talletetun palautus), homma näytti toimivan, eli palutettu talletettu tieto oli ok. Mutta toinen dll:n funktio ei tuntunut saavan ekan lataamaa dataa näkyviin, tuli vain ikäänkuin alustamattomia muuttuja-arvoja.

Jos lautaus ja lukufunktiot asensi luuppiin vuorottelemaan, niin ohjelma jämähti. Eli ikäänkuin latausfunktiokin olisi menettänyt staattisien globaalien arvot eikä tiennyt enää latauskohtaa.

Mistä kiinni? Alustaako jokainen dll:n eri fuktion kutsu globaalit (file scope) muuttujat uusiksi tai tekeekö ihan oman instanssin?

Määrittelemällä globaalit luokan sisään kutsu eVB:stä ei toiminut toistaiseksi ollenkaan, eVB:llä on hieman hankala luoda c++ instanssia.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta