Borland C++ / Kylix 3

mo_no

mo_no

Linux User seit 2.0.35
Ich lerne in der Berufsschule C++.
Dort arbeiten wir mit Borland C++.
Ich möchte unter Linux mit dem Quellcode weiterarbeiten.
Dies ist, wie ich herausgefunden habe, nicht möglich.
Ich kann z.B. folgenen Quellcode nicht mit gcc übersetzen.
Code:
#include<iostream.h>		
#include<conio.h>

void main()				
{					
	cout<<"Hallo Welt!";	
   getch();				
}
Jetzt habe ich mir gedacht, lade ich mir Borland Kylix runter und programmiere damit.
(Ich stecke ganz am Anfag der Programmierung mit C++. Bisher sind die Programme alle für die Shell / Dos).
ABER Kylix lässt sich absolut nicht dazu überreden irgendetwas zu kompilieren.
Ich war schon auf www.kylixforum.de und habe auch ein paar Patches von http://www.kylix-patch.de.vu installiert.
Die einzelnen Probleme waren dann zwar behoben, aber es kommen immer neue. :(
Nach dem ich mir jetzt einen kompletten Abend mit Kylix versaut habe,
habe ich es wieder runtergeschmissen.

Meine Frage ist jetzt, ob es eine Möglichkeit gibt, den Quelltext, der mit Borland C++
unter der Borland IDE geschrieben wurde 1 zu 1 unter Linux zu verwenden?
Am besten wäre eine entsprechende IDE.
 
hm warum nimste net den dcc compiler von kylix3 der ist consolenbasirt

das c++ von kylix3 leuft nicht da kanste machen was du wilst ist halt zu alt
 
ne, mal aber im Ernst: C++ unter Windows ist schon anders, so gibt es dieses conio.h unter Linux nicht, außer jemand hat nen "Wrapper" geschrieben, aber generell nicht.
Ich würde es mal mit curses oder ncurses versuchen. Ich hab leider zu wenig Erfahrung mit C++, daher auch nur allgemeine Tipps.
Aber wenn man schon mit cout arbeitet, so kann man ja auch mit cin arbeiten ;)...habs nich getestet, aber sollte möglich sein, damit den gleichen Effekt zu erschaffen wie mit getch.

Bis dann.
 
Wenn ich statt conio.h curses oder ncurses verwende, bekomme ich folgende Meldung:
Code:
mo@moonlight:~$ gcc hello.cpp -o hello
hello.cpp:11:18: ncurses: No such file or directory   // oder eben curses 
hello.cpp: In function `int main()':
hello.cpp:15: error: `cout' undeclared (first use this function)
hello.cpp:15: error: (Each undeclared identifier is reported only once for each function it appears in.)
hello.cpp:16: error: `getch' undeclared (first use this function)

P.S.: Das es anstelle von "void main()" "int main()" heißen muss, habe ich schon herausgefunden. :rolleyes:
 
Zuletzt bearbeitet:
Ich würd sagen, du solltest mal den Quellcode posten.

ggf. musst du später die ncurses dazulinken. Aber erstmal würde ich sicherstellen, dass du die ncurses_devel installiert hast und dass du die ncurses.h richtig includest.
 
1. solltest du iostream und _nicht_ iostream.h einbinden.
2. schreibe dann std::cout und nicht nur cout
3. schau mal in der ncurses Doku nach ob es überhaupt die Funktion getch() gibt, kann sein das sie bei ncurses etwas anders heißt.
4. solange du ansi-C++ programmierst hast du keine Probleme unter verschiedenen Plattformen. Eurer Lehrer scheint aber weder den aktuellen C++ Standard zu kennen (wegen verwendung von iostream.h) noch ansi-c++ zu programmieren (verwendung von conio.h)
 
getch() ist nur unter Windows und zwar dafür das die Konsole nicht gleich
wieder geschlossen wird wenn das Prog gelaufen ist, das brauchst Du nicht unter Linux.

Was willst Du denn mit ncurses, eine GUI erstellen wie z.B. Wincommander? Ansonsten
brauchst Du das gar nicht einzubinden.
Du könntest am Anfang um Dir einige zu erleichtern auch"using namespace std;"
schreiben, dann kannst Du dir sowas wie "std::cout" sparen. Ist aber nicht der
beste Weg und nur für den Anfang geeignet.

MfG
sowatt
 
ja, und vor allem void main() :P
 
so ist's richitg

pinky schrieb:
1. solltest du iostream und _nicht_ iostream.h einbinden.
2. schreibe dann std::cout und nicht nur cout
3. schau mal in der ncurses Doku nach ob es überhaupt die Funktion getch() gibt, kann sein das sie bei ncurses etwas anders heißt.
4. solange du ansi-C++ programmierst hast du keine Probleme unter verschiedenen Plattformen. Eurer Lehrer scheint aber weder den aktuellen C++ Standard zu kennen (wegen verwendung von iostream.h) noch ansi-c++ zu programmieren (verwendung von conio.h)

Damit er auch weiß was "wir" meinen:
Code:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

int main() 
{
  string test;
  cout << "Bitte Daten eingeben: ";
  cin >> test;
  cout << "Sie haben " << test << "eingegeben" << endl;
  return 0;
}
 
Also wie gesagt C++ ist absolutes Neuland für mich.
Ich kenne nur Visual Basic. :rolleyes:
(P.S.: Hat jemand Erfahrungen mit Gambas?)

Also ich glaube ich lasse das lieber mit dem Programmieren unter Linux,
da der Lehrer sich eben nicht an die Standards hält
(oder eben mit Borland C++ arbeitet.)
Bsp: void main() im Gegensatz zu int main()
Ich möchte den Quelltext aus der Schule einfach zu Hause unter Linux
erweitern, nachvollziehen, etc.

Ich habe ihn heute mal gefragt, wegen der conio.h und er meinte,
die müsste es auch unter Linux geben (zum downloaden).
Ncurses habe ich installiert.
getch() verwenden wir damit das Programm nicht geschlossen wird, richtig.
Aber heute meinte der Lehrer, man kann anstelle von cin>>Variable;
auch Variable = getch(); nehmen. (<== Vorteil: kein Enter nach Eingabe nötig)

Muss man unter Linux nachdem man die Bibliothek eingebettet hat, jeden
einzelen Befehl, den man nutzen will, extra angeben?

Der Lehrer hat heute das Buch "C++ in 21 Tagen" empfohlen.
Ist das brauchbar oder hält sich dass auch nicht an Standards?

Mein Traum wäre, ich schreibe einen Quelltext und kann
diesen mit gcc und Linux, mit gcc unter Windows und mit dem
Borland C++ Compiler in der Schule kompilieren und linken! ;)
 
mo_no schrieb:
Also wie gesagt C++ ist absolutes Neuland für mich.
Ich kenne nur Visual Basic. :rolleyes:
(P.S.: Hat jemand Erfahrungen mit Gambas?)

Habe mal ein bischen damit rumprobiert... Man erzielt (wie auch bei VB) recht schnell brauchbare Ergebnisse. Gerade als VB-Einstieger kommt man recht schnell mit der Sprache und Struktur klar.

Ich fand die IDE aber alles andere als komfortabel.

Insgesamt blieb bei mir der Eindruck einer "netten", kleinen Sprache, die was für Leute ist, die keine Lust haben, was vernünftige zu lernen ;)

Mfg, Lord Kefir
 
Zuletzt bearbeitet:
hehejo schrieb:
Damit er auch weiß was "wir" meinen:
Code:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

Das geht aber auch besser:

Code:
#include <iostream>
#include <string>

using namespace std;
 
Zurück
Oben