QBenchmark segfault

 ( martonmiklos | 2010. május 16., vasárnap - 17:28 )

Használni szeretném a QBENCHMARK makrót, de mindig segfaultot dob.
Ubuntu 10.04-et használok a vele szállított 4.6.2 Qt-val.

A doksit elolvasva gyak. a QtTest includolása, illetve a kívánt fv. QBENCHMARK{} makróba ágyazása szükséges a dologhoz.
Nézegettem a Google Codesearchon a hasonló példákat, és nem lettem okosabb, ott is ugyanezt csinálják.
Ahol meghívom az egy QObjecttől származó osztály. Q_OBJECT makró van az elején.

Van valakinek valami ötlete, hogy mi lehet a probléma?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Példakód sokat segítene.

Egyébként .pro-ban CONFIG+=qtestlib kell, majd egy QObject leszármazott osztály (pl MyTest) melynek minden slot-ja egy teszt, a slot-ban legyen a QBENCHMARK-os fv hívás, és main nem kell, helyette egy QTEST_MAIN(MyTest).

Alapok: http://doc.trolltech.com/4.6/qtestlib-tutorial1.html
Benchmark: http://doc.trolltech.com/4.6/qtestlib-tutorial5.html
Teljes kód: examples/qtestlib/tutorial5

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Köszönöm a példakód sokat segített.

Tehát valószínűleg olyat nem lehet, egy kész alkalmazás bizonyos részeit beillesztem egy QBENCHMARK makróba.

Amennyire én tudom, egyszerűen nem.

Ha megnézed, hogy a QTEST_MAIN vagy a QBENCHMARK pontosan mit csinál, és annak alapján megírsz egy saját körítést magad, akkor lehet, hogy menne, de igazából ennek nincs sok értelme.

Mi azzal a gond, hogy megismétled a mérni kívánt fv-t 100-szor és méred az eltelt időt? QBENCHMARK se csinál mást, csak nem hasraütésre választja az iterációszámot...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o