Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

14.06.2006, 18:09

c++; verständnisfrage

hallo zusammen,

ich bin gerade am c++ lernen - bzw. ich habe schon einige seiten gelesen und kenne mich gut mit php (auch mit php oop) aus.

nun habe ich da ein verständnis-frage bezüglich dem vorgehen.
linux bietet ja für c/c++ diverse 'header'-dateien an welche ich für mein programm nutzen kann.

natrülich stelle ich dies automatisch mit php in verbindung.
bei php sind nach meinem verständnis alle (je nach use-flags) funktionen und objekte standartmässig mit eingebunden...jedenfalls mehr oder weniger (php.ini).
nun kann ich bei php bei php.net nach einer funktion suchen und die 'manpage' dazu lesen.

wie - und nun meine frage - geht man da mit c++ vor?

nehmen wir zb. mal an, ich möchte eine mysql-connection eröffnen und eine anfrage starten.
gibt es dazu hilfen, welche mir sagen wo ich was finde, bzw. welches paket die nötigen funktionen beinhaltet oder gar wie ich die funktion anwenden?

ich denke dies würde mir extrem weiterhelfen

danke euch!

2

14.06.2006, 18:24

RE: c++; verständnisfrage

Hallo,

schau Dir ggf. mal das MySQL-Referenzhandbuch auf http://dev.mysql.com/doc/refman/5.1/de/index.html an. Dort ist im Kapitel 24.5 ein C++-Wrapper für die C-API beschrieben (http://tangentsoft.net/mysql++/).
Das gibts auch als Gentoo-Paket: dev-db/mysql++.

Mehr kann ich dazu nicht sagen - ich habe noch nie mit MySQL programmiert.

HTH
Rudi
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

3

14.06.2006, 19:08

Ist leider bei C/C++ nicht so einfach, da es für C/C++ von vielen verscheidenen Organisationen Liberies gibt...

Die Header-Dateien beschreiben die Prototypen der Funktionen/Objekte/Datenstrukturen.

Leider gibt es keinen wirklichen Vergleich dafür bei PHP, vor allem da PHP nicht mit Typen arbeitet (imho eines der größten Mankos).

Durch die Header-Dateien ist es möglich, vorkompilierte Bibliotheken zu seinen eigenen Programmen zu linken. Ich glaube da z.B. der fglrx auf diese Weise an den Kernel angebunden wird.

Wenn du eine Doku zu einer bestimmten Funktion suchst, mußt du in der Doku der entsprechenden Bibliothek nachschauen.

Ein gutes Buch (falls du noch ein suchst) für den Einstieg in C/C++ ist:

Ulricht Breymann: C++. Einführung und professionelle Programmierung. Carl Hanser Verlag. ISBN 3-446-40253-5. Aktuell ist die 8. Auflage.

Zusätzlich möchte ich dir noch die Beschäftigung mit gtk bzw. glib oder dem KDE-Äquvalent empfehlen. Damit kannst du auch mit C/C++ plattformübergreifend programmieren. Muss halt nur neu kompiliert werden...

Gruß

Stareagle

4

14.06.2006, 23:04

hallo zusammen,

genau das habe ich befürchtet....

@stareagle
ich hab mir vor kurzem 'c++ von anfang an' besorg und durchgearbeitet - ist nicht schlecht aber eher nur puures grundwissen.. und genau das was ich gefragt hab fehlt leider in so manchen büchern...
das von dir vorgschlagene hab ich kur gecheckt - tönt gut - und ist bestellt ;)


aber trotzdem nochmal die frage - etwas allgemeiner:

du beginnst mit dem schreiben eines programmes - bzw. auf zeichnen und notieren.
die definierst schnittstellen und fragst dich, ob da evtl. schon jemand was in der richtung geschrieben hat - bz. ob schon brauchbare header dateien mit gut nutzbaren funktionen oder objekten existieren.

wie gehst du vor?

danke

5

15.06.2006, 01:34

Z.B. du schreibst ein Program und brauchts ein HashMap. Du hast dazu die Bibliothek gefunden und willst du es nun verwenden. Du platzierst es in einem vereinbartem Ort, wo der Compiler/Linker es finden kann, und inkludierst du den Header. Damit machst du die Symbole aus der Bibl. bekannt.

Ein der Vorteile ist der ganze Geschichte ist, dass der Anbieter des Codes die Sources nicht freigeben muss. Man könnnte es rgrndwie auch mit PHP Include Verfahren vergleichen. Ganz grob: Man macht es ja, wenn man merkt, dass du einige Klassen und Techniken immer wieder brauchst. Dann packst du die eben in eine Bibliothek, und verwendest du die immer wieder. Genau so, wie du z.B. eigene mysql Funkionen in eine Include Datei( PHP ) defnineren kannst, um es in verschiedene Dateien/Projekte zu benutzen.

Edit
P.S.
Ich könnte dir diese Freie Ebook emfehlen:

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

Modedit
Bitte das nächste mal Deinen Beitrag editieren.

6

15.06.2006, 17:43

Zitat

Original von herrlado
Z.B. du schreibst ein Program und brauchts ein HashMap. Du hast dazu die Bibliothek gefunden und willst du es nun verwenden.

Genau da liegt i.a. das Problem: die Bibliothek finden. Anders ausgedrückt: Gibt's für mein Problem schon was oder muß ich das Rad selbst neu erfinden? Ich fürchte, da gibt's wohl keine allgemein gültige Antwort. Außer vielleicht: "Frag Herrn Google".

Gruß
Rudi
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

7

18.05.2007, 18:48

Zitat

Original von rudib

Zitat

Original von herrlado
Z.B. du schreibst ein Program und brauchts ein HashMap. Du hast dazu die Bibliothek gefunden und willst du es nun verwenden.

Genau da liegt i.a. das Problem: die Bibliothek finden. Anders ausgedrückt: Gibt's für mein Problem schon was oder muß ich das Rad selbst neu erfinden? Ich fürchte, da gibt's wohl keine allgemein gültige Antwort. Außer vielleicht: "Frag Herrn Google".

Gruß
Rudi

Wenn du dich schon langgenug mit C++ beschäftigt hast, muss du nicht mehr soviel denken ;)

Das meiste was du eh mal gebrauchen wirst, findet sich entweder in der STL,TR1 und natürlich boost -> www.boost.org.

Erstmal in diesen Bibliotheken schauen und wenn du das gewünschte da nicht finden solltest dann googlen ;)

8

19.05.2007, 09:00

STL, TR1 und Boost sind Bibliotheken, welche teilweise Standardcharakter haben. Diese bieten designtechnischen Zuckerguß (bsp. Containerklassen wie list, vector, map, etc. od. function-objects) und andererseits echte Funktionalität (bsp, Streams, Threads, ...)

Letztendlich fußt die Funktionalität dieser Bibliotheken allerdings auf 2 "Grundpfeilern":

1. Linux ist ein POSIX-System und stellt daher eine genormte Schnittstelle zum System bereit.

POSIX findest du hier: http://www.opengroup.org/onlinepubs/009695399/ Die Funktionen sind im Abschnitt "System Interfaces" beschrieben sowie in den Manpages Section 3p.

2. Die glibc. Diese findest du hier beschrieben: http://www.gnu.org/software/libc/manual/ sowie natürlich ebenfalls in den Manpages.

Diese beiden Teile bieten dir reine Funktionalität im Umgang mit einem System.

Das sind natürlich reine C-Bibliotheken und nicht C++. Allerdings ist letzteres ja eine Hybrid-Sprache ...

Weiters bietet dir die Section 2 der Manpages auch noch dieverse System-Calls an, welche nicht unbedingt im POSIX-Standard enthalten ist.

Wenn du KDE & Konquerer hast, dann haben die einen manpage-ioslave implementiert. Bedeutet: mach den konquerer auf und gib mal als URL: "man:/" ein. Hier kannst du relativ bequem durch die man-pages surfen ... (Section 3p wird allerdings fälschlicherweise als "Perl Modules" bezeichnet. Nicht verwirren lassen).
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>