Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: C (C89, C99 und C11) ::  Struct stack_t unter Linux...     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
_--
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.10.2010
Beiträge: 1204
Beitrag _-- Mitglied 13:06:56 24.05.2012   Titel:   Struct stack_t unter Linux...            Zitieren

hab in meiner app ein struct stack_t, welches ich bisher als stack in meiner app verwende. jetzt wollte ich für die sigaction funktion signal.h einbinden, aber ich bekomme einen fehler, dass stack_t schon belegt ist. wie komm ich aus der nummer wider raus - oder besser, wie umgehe ich solche fehler in zukunft :confused:

_________________
"there can only be one king." - pablo escobar
TyRoXx
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.06.2009
Beiträge: 1034
Beitrag TyRoXx Mitglied 13:18:49 24.05.2012   Titel:              Zitieren

Du könntest bei deinen globalen Bezeichnern einen gemeinsamen Präfix verwenden, um eine Art Namensraum zu erhalten.

_________________
.. aber dann wäre C++ uneinheitlich und nicht mehr so anfängergerecht.
_--
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.10.2010
Beiträge: 1204
Beitrag _-- Mitglied 13:22:33 24.05.2012   Titel:              Zitieren

TyRoXx schrieb:
Du könntest bei deinen globalen Bezeichnern einen gemeinsamen Präfix verwenden, um eine Art Namensraum zu erhalten.
wow, schon wieder alles umschreiben - langsam wirds lästig :(

gibts eine liste mit freien präfixen, oder muss ich mir einen aus den fingern saugen und hoffen, dass es ihn noch nicht gibt?

da man den dann end oft schreiben muss, wärs schon nicht schlecht wenn der mögl. kurz ist ;)

_________________
"there can only be one king." - pablo escobar
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 17979
Beitrag SeppJ Moderator 13:38:17 24.05.2012   Titel:              Zitieren

_-- schrieb:
TyRoXx schrieb:
Du könntest bei deinen globalen Bezeichnern einen gemeinsamen Präfix verwenden, um eine Art Namensraum zu erhalten.
wow, schon wieder alles umschreiben - langsam wirds lästig :(

gibts eine liste mit freien präfixen, oder muss ich mir einen aus den fingern saugen und hoffen, dass es ihn noch nicht gibt?

da man den dann end oft schreiben muss, wärs schon nicht schlecht wenn der mögl. kurz ist ;)
Den Posix-Stil kennst du ja schon. Vermeide also Namen wie foo_t. Kannst auch hier gucken für eine genauere Liste:
http://www.gnu.org/softwa ....... _node/Reserved-Names.html

Ansonsten fährst du recht gut mit einer zwei- bis dreibuchstabigen Abkürzung deines Projekts oder deinen Initialen. Die Wahrscheinlichkeit einer Kollision ist verschwindend gering. Halte Bezeichner so lokal wie möglich. Je größer der Scope eines Bezeichners ist, desto länger und aussagekräftiger sollte der Name sein.

Außerdem kann man sich durch clevere Benutzung typedefs viel Arbeit sparen, wenn man denn doch mal alles umschreiben muss.

Allgemein: Tja, dies ist eine bekannte Schwäche von C.


P.S.: Für deinen Namen, _--, sind deine Initialen natürlich keine so gute Idee :) .

_________________
Du brauchst Hilfe?, Buchempfehlungen für C++,
Wie man in Fragen den richtigen Code postet,
The Definitive C++ Book Guide and List


Zuletzt bearbeitet von SeppJ am 13:39:49 24.05.2012, insgesamt 2-mal bearbeitet
Ethon
Mitglied

Benutzerprofil
Anmeldungsdatum: 28.01.2011
Beiträge: 1749
Beitrag Ethon Mitglied 13:50:55 24.05.2012   Titel:              Zitieren

Nimm einen Prefix, den kein seriöser Programmierer verwenden würde, zb macht

C++:
vagina_stack_t


sicher keine Probleme. :D
Bashar
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 17754
Beitrag Bashar Mitglied 13:55:03 24.05.2012   Titel:              Zitieren

Software für gynäkologische Forschung und Praxis wird von unseriösen Programmiern programmiert? Zum Glück bin ich keine Frau :eek:

_________________
OSL♥
c++.de :: C (C89, C99 und C11) ::  Struct stack_t unter Linux...   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.