delorie.com/archives/browse.cgi | search |
From: | Damian Yerrick <Bullcr_pd_yerrick AT hotmail DOT comRemoveBullcr_p> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Cannot use of LOCK_FUNCTION, END_OF_FUNCTION,... in classes? |
Organization: | Pin Eight Software http://pineight.8m.com/ |
Message-ID: | <tc71ts8ihcuan0s7nl6u336q6cm0kpsafr@4ax.com> |
References: | <8qnriq$2a5$1 AT news DOT germany DOT net> <n8jvsskmu0b5sb4qa1f2uvheu1bcirjqf7 AT 4ax DOT com> <8qp9tc$170$1 AT news DOT germany DOT net> |
X-Newsreader: | Forte Agent 1.7/32.534 |
MIME-Version: | 1.0 |
Lines: | 59 |
X-Trace: | +4vTA1QCrbWPeRsqOZHP8sap/lakFIrh3j9DNnjpbsl20f+2EY0pg4u2boUByubLe+KxxGPxA/Dd!c13LtqYanAm23nTH3gOFkx+o3H/L7Vhjs8hK/Uo19TvMxkunepk8L+Ly5Wqb6FkqU8A0sB1AUFtM!gXsa4A== |
X-Complaints-To: | abuse AT gte DOT net |
X-Abuse-Info: | Please be sure to forward a copy of ALL headers |
X-Abuse-Info: | Otherwise we will be unable to process your complaint properly |
NNTP-Posting-Date: | Tue, 26 Sep 2000 13:03:08 GMT |
Distribution: | world |
Date: | Tue, 26 Sep 2000 13:03:08 GMT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
On Tue, 26 Sep 2000 06:48:44 +0200, "Martin Czamai" <M DOT Czamai AT peak-system DOT com> wrote: > >Damian Yerrick <Bullcr_pd_yerrick AT hotmail DOT comRemoveBullcr_p> schrieb in im >Newsbeitrag: n8jvsskmu0b5sb4qa1f2uvheu1bcirjqf7 AT 4ax DOT com... >> On Mon, 25 Sep 2000 17:37:59 +0200, "Martin Czamai" >> <M DOT Czamai AT peak-system DOT com> wrote: >> >> >Hello, >> > >> >my problem is that I want to lock functions (like interrupt service >> >routines) using the END_OF_FUNCTION and LOCK_FUNCTION macros from allegro >in >> >classes. This doesn't work because MYFUNCNAME_end is not a member of >> >MYCLASS. Any idea how to fix this problem? >> >Thanks in advance for your help >> >> If you're using a class method as an Allegro timer handler, make sure >> both the method and the END_OF_FUNCTION are static. >> >> static void Class::my_timer(void) >> { >> >> } >> static END_OF_FUNCTION(Class::my_timer); > >This doesn't work - the compiler returns the error message "cannot declare >member function Class::mytimer() to have static linkage" :-(( Been a while since I wrote C++. Normally I stick to C or go all the way and use Java (veering offtopic...). >The intened purpose of the function i want to lock is the interrupt service >routine of some piece of hardware. >Any idea again? I wouldn't use methods as timer handlers. This isn't Java. Now I remember. The 'static' keywords go in your class declaration: class Class { ... static void my_timer(); static END_OF_FUNCTION(my_timer); ... } and leave static off the implementations. This might have _bad_ effects; I can't guarantee the performance of a method used as a timer handler. -- <O ( \ GNOME vs. KDE: the game! X http://pineight.8m.com/nes.htm This is McAfee VirusScan. Add these two lines to your signature to prevent the spread of signature viruses. http://www.mcafee.com/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |