ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Strom C 3 und Forbid/Permit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
20.12.2003, 22:29 Uhr Inferno Posts: 157 Nutzer |
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. [ - Antworten - Zitieren - Direktlink - ] |
20.12.2003, 22:37 Uhr thomas Posts: 7718 Nutzer |
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/ [ - Antworten - Zitieren - Direktlink - ] |
20.12.2003, 23:11 Uhr Inferno Posts: 157 Nutzer |
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. [ - Antworten - Zitieren - Direktlink - ] |
21.12.2003, 13:39 Uhr Kronos Posts: 1168 Nutzer |
@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 [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Strom C 3 und Forbid/Permit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |