On Sun, 23 Nov 2003 at 17:07 (+0100), Thomas Hertweck wrote:
Philipp Thomas schrieb:
Thomas.Hertweck@gpi.uni-karlsruhe.de [23 Nov 2003 10:13:39 +0100]:
Dann weiss ich jetzt auch endlich, wo die ganzen Kompilierprobleme mit dem SuSE-Kernel im Hinblick auf "HZ" herkommen...
Ja, weil der betreffende Code fälschlicherweise davon ausgeht, das HZ eine Konstante ist.
Hmm, was heisst faelschlicherweise? Wenn es bisher im Kernel so war, dann ist es doch irgendwie verstaendlich, wenn ein externer Code da- von ausgeht, dass HZ eine Konstante ist.
Es kommt auf die Dokumentation an. Wenn dokumentiert ist, dass HZ eine Konstante ist, dann kann man davon ausgehen. Wenn nicht, dann ist es ein Implementierungsdetail auf das man sich nicht verlassen kann genauso wenig wie man sich darauf verlassen kann, dass unter Linux 'char' signed ist, auch wenn es derzeit so ist und wohl auch bleiben wird. Laut Spezifikation von C oder C++ [1] ist darüber nichts ausgesagt. Jeder Code, der davon ausgeht ist zum Scheitern verurteilt. Wenn es allerdings dokumentiert wurde, dann hat SuSE Mist gebaut. Gruß, Bernhard [1] Die C++ Programmiersprache, B. Stroustrup, § C.3.4 -- Es ist nicht schwer, Menschen zu finden, die mit 60 Jahren zehnmal so reich sind, als sie es mit 20 waren. Aber nicht einer von ihnen behauptet, er sei zehnmal so glücklich. -- George Bernard Shaw