hi leute! also, habe folgendes problem: Ich möchste ein usb chip ansteuern! dafür gibt es ein testprogramm, was ich nutzen möchte! es ist aber in c geschrieben, und ich möchte c++ schreiben! Ich hab also eine *.c die ich für c++ als *.h verwenden möchte! Die funktion int main der datei *.c will ich von meinem programm aus nutzen, um daten auf den chip zu schiken! Nun macht der sehr viel terror, wenn ich in einer *.cpp die neue *.h einbinde! wie bekommeich das am besten hin?? gibt es da ein crosskompiler? wenn ja, wie heißt der?? danke! mfg Jan
Hallo, Warum kopierst du nicht einfach die Teile, die du brauchst (copy & paste) in deinen Sourcecode und benennst dann die main funktion einfach um? Ansonsten ist dem Compiler eigentlich ziemlich gleich, ob du c oder cpp benutzt. du kannst auch beides zusammenlinken. Nur beim exportieren solltest du darauf achten ein extern "C" davor zu setzen. Du kannst auch einfach die .c Datei manipulieren (umbenennen der funktion main in irgendwas anderes) und zu dem Projekt hinzufügen. Sollte keine Schwierigkeiten machen. Ich benutze sowas immer, wenn ich reinen Assembler zu meinen c++ klamotten hinzufüge. Ich definiere dass dann als extern "C" und gut iss... Ferner: ein Crosscompiler ist dazu da ein Programm für ein anderes Betriebssystem zu kompilieren, als dem, auf dem du gerade arbeitest und dass ist doch nicht dein Wunsch, oder? Gruss - Arndt Am Sonntag, 17. August 2003 02:02 schrieb Jan Hendrik Berlin:
hi leute! also, habe folgendes problem: Ich möchste ein usb chip ansteuern! dafür gibt es ein testprogramm, was ich nutzen möchte! es ist aber in c geschrieben, und ich möchte c++ schreiben!
Ich hab also eine *.c die ich für c++ als *.h verwenden möchte! Die funktion int main der datei *.c will ich von meinem programm aus nutzen, um daten auf den chip zu schiken! Nun macht der sehr viel terror, wenn ich in einer *.cpp die neue *.h einbinde! wie bekommeich das am besten hin?? gibt es da ein crosskompiler? wenn ja, wie heißt der??
danke! mfg Jan
Hi leute! jo, ich hab das ja so gemacht, das ich die ioblink.c in iow.h umbenannt hab, und die main aus der ioblink hab ich startiow genannt! mein eigenes programm hab ich dann in iow.cpp geschrieben! darin hab ich erstmal nur startiow aufgerufen, um zutesten, ob das geht! also das alte programm erstmal nur zu einer header gemacht!mehr hab ich ja nicht verändert! nun macht der aber folgende Problme: Tux007:/home/jhb/c++/iowarrior # g++ iow.cpp -o iow -lusb In file included from iow.cpp:2: /home/jhb/c++/iowarrior/iow.h: In function `int startiow(int, char**, unsigned char*)': /home/jhb/c++/iowarrior/iow.h:74: error: invalid conversion from `unsigned char*' to `char*' /home/jhb/c++/iowarrior/iow.h:84: error: invalid conversion from `unsigned char*' to `char*' /home/jhb/c++/iowarrior/iow.h: In function `int main(int, char**)': /home/jhb/c++/iowarrior/iow.h:45: error: too few arguments to function `int startiow(int, char**, unsigned char*)' iow.cpp:7: error: at this point in file Tux007:/home/jhb/c++/iowarrior # ich hänge mal iow.h und iow.cpp an diese mail! hoffentlich geht das! wennich allerdings die iow.cpp in iow.c umbenne, und das duch einen c compiler schicke, gibt es keine Probleme! danke für die zahlreichen replys! mfg Jan
Moin,
* Jan Hendrik Berlin
Ich möchste ein usb chip ansteuern! dafür gibt es ein testprogramm, was ich nutzen möchte! es ist aber in c geschrieben, und ich möchte c++ schreiben!
Das sollte keinen Unterschied machen, einfach umbenennen sollte reichen, um ein legales C++-Programm zu bekommen. Wenn Du das mit Klassen nachbauen willst, mußt Du wohl selbst arbeiten.
Ich hab also eine *.c die ich für c++ als *.h verwenden möchte!
Wie das? Schreibt man in eine C++-Headerdatei nicht die Deklaration der Klasse? Wo in der C-Datei soll die stehen? Thorsten -- The privacy of correspondence, posts and telecommunications shall be inviolable. - German Grundgesetz, Article 10, Sec. 1
participants (4)
-
Arndt Stedler
-
Jan Hendrik Berlin
-
Jan Hendrik Berlin
-
Thorsten Haude