DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Strom C 3 und Forbid/Permit | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2003-12-20, 22:29 h Inferno Posts: 157 User |
Hallo, ich habe zwei Funktionen in einem Programm Forbid(Object *obj) und Permit(Object *obj) mit denen ich (irgendwann einmal) einen Lock auf ein Objekt realisieren will. Z.Zt. steht in den Funktionen aber nur ein Aufruf der "normalen" Forbid- bzw. Permit-Funktionen ohne Parameter. Seit ich diese Funktionen hinzugefügt habe, sagt mir der Storm C linker, daß er Forbid() und Permit() nicht findet... (Das aber NUR wenn man als Compiler Storm C 3 verwendet. Mit dem Storm-gcc funktionierts) Hat jemand sowas auch schon mal gehabt? Wenn ja, wie kriege ich das hin?? Gruß, Inf. [ - Answer - Quote - Direct link - ] |
2003-12-20, 22:37 h thomas Posts: 7718 User |
Sagt er wirklich, daß er sie nicht findet ? Sagt er nicht eher, daß sie doppelt sind ? Die beiden Namen sind nämlich reservierte Symbole der exec.library, die sind normalerweise in der amiga.lib, bei manchen Compilern sogar in der c.lib enthalten, die automatisch dazugelinkt werden. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Answer - Quote - Direct link - ] |
2003-12-20, 23:11 h Inferno Posts: 157 User |
Hi Thomas, mit C++ kann man ja den selben Namen bei unterschiedlichen Parametern nutzen. Und Ja, die Fehlermeldung lautet "Linker error: Symbol "Forbid()" not defined (Hint: Forbid(Object *)")." Wohlgemerkt, mit dem integrierten gcc kompiliert und linkt er alles einwandfrei, nur eben nicht mit Storm C 3 .... Gruß, Inf. [ - Answer - Quote - Direct link - ] |
2003-12-21, 13:39 h Kronos Posts: 1168 User |
@inferno Kann sein das die StormC3-link-lib nur als normale C lib statt als C++ lib gelinkt wurde, d.h. die zusätzlichen Daten zu den Parametern sind nicht in den Symbolnamen intregriert. Solche Daten kann man trotzdem mit C++ nutzen, nur sollte man es tunlichst vermeiden die Namen nochmal zu verwenden. Hab hier z.B: eine C++-Klasse die GFX-Operation kapselt, also Funktionen wie RPort->SetAPen(ULONG npen) enthält, und hatte damit auch die seltsamsten Probleme, bis ich sie in RPort->R_SetAPen(ULONG npen) umbenannt hatte. Würde daher empfehlen die Funktionen einfach O_Forbid() und O_Permit() zu nennen, hat z.B: auch den Vorteil das du auch nach Vererbung über mehrer Generationen noch erkennen kannst wo die Funktion hingehöhrt MfG Kronos -- Only the good die young all the evil seem to live forever [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Strom C 3 und Forbid/Permit | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |