CTest::CTEST (unsigned char far *KTest)
{
unsigned char far *Test = (unsigned char far *)KTest;
}
Dieser Code ist die Ursache. Du erstellst im konstruktor eine Variable Test. Das die genauso heißt wie die variable Test der klasse stört den Compiler nicht. Diese lokale Variable Test wird aber beim verlassen des k'tors wieder zerstört. Mach einfach das unsigned char far * vor test weg, und schon klappts.
if ("Borland FCT 5.5.1" != "Borland C++Builder")
Thread->VerschiebeNach("Andere Compiler");
Also wirklich. Da zeigst du einem, der noch mit char und char* unsicher ist, solch einen code.
Der funktioniert auch nur in diesem fall.
if("Hello" == "Hello")
{
// Diese stelle wird (je nach compiler) NIE erreicht
}
Der Computer vergleicht die Positionen der beiden strings im Speicher. Und die ist (fast) nie dieselbe.
Richtig ist es so:
if(strcmp("Hello", "Hello") == 0)
{
// Diese stelle wird immer erreicht.
}
Du solltest die lib vielleicht auch noch beim linken mit angeben...
Es könnte auch daran liegen, dass du nicht das neueste sdk hast, sondern ein altes. das neueste gibts auf der microsoft page kostenlos zum runterladen.
nein .. es ist so wie virtual es sagt..
es gibt compilerabhängig unterschiedliche conio-fassungen
das visual studio hat nur eine abgespeckte form, der djgpp die vollversion, borland ebenso.
clearscreen und farbe gibt es also nur in der vollversion.
ich würde hier nicht mühseelig die lib mitlinken... sondern lieber für farbe auf andere möglichkeiten ausweichen.
schaut mal ins konsolenfaq und sucht die passende raus.
vermute, marcus improved konsole wäre was für den dev++
cu
logisch
und schau bitte noch nach, ob in deiner autoexec. bat der compiler seine pfade gesetzt hat.
denke er hat...
nur so zur sicherheit
viel spaß
ps: lass dich nie von compilern ärgern ...
Der TC++ 1.0 funktioniert super, aber anfangs hatte ich das gleiche Problem. Allerdings habe ich meinen Fehler gefunden.
void Test1()
{
asm
{
xor ax,ax
mov bx,0009H
}
}
Dieser Code ging nicht, hingegen folgender sich fehlerfrei compilieren lässt:
void Test1()
{
asm{
xor ax,ax
mov bx,0009H
}
}
ich wusste einfach nicht dass man die Klammer direkt danach schreiben muss. Ich war´s von VC++ immer mit __asm gewohnt, nochmals thx jetzt funktioniert alles.
mfg
Noob
c0w32.obj Woher kommt diese Objektdatei ? Für was ist sie ?
Ich kann dir sagen, daran hab ich mir auch die haare ausgerissen bis ich das getscheggt habe :-). Das ist sozusagen der Grundstock an object code den du brauchst um ein Binary im gewünschten format zu erstellen. Normale linker (wie GNU/ld - der einzig normale Linker ) machen das natürlich selbst. Schau mal in der Ordner %BCCDIR%/lib dort findest du noch mehr von der sorte.
import32.lib cw32.lib Was beinhalten diese Lib's ?
Das sind standard libs die dich mit standard funktionen ausrüsten. Sie linken dich entweder statisch oder dynamisch an eine dll. Ich hab da in Win32 nicht so nescheggung welche dlls das genau sind unter Linux wäre das glibc - dort ist alles drin was man fürn standard C/C++ progie braucht.
Wo kann man das nachschauen was man mit diesen Lib^s machen kann ?
geht , dass überhaupt ohne Hilfe File ?
Nein ohne Hilfe file geht das nicht!
1. Lies dir die hlp file von den Command line tools durch dadurch verschaffst du dir einen Überblick über den Compiler den du benutzt. Das ist ganz wichtig man muss seinen Compiler kennen!
2. Was in standard libs ist sind Standard C functionen da findest du tonnenweise Infos wenn du z.B "C Standard" in google eingiebst.
3. Alles Win32 mässige findest du auf msdn.microsoft.com aber achtung das Win32 API ist ziemlich komplex. Wenn du grafische anwendungen schreiben willst dann nimm ein C++ API (C++ musst du dafür beherrschen ) ich empfehle and der Stelle wxWindows (www.wxwindows.org) es ist Open Source und so... einfach nicht MFC.
Grundsätzlich: Du musst bereit sein sehr viel zu lesen. Es giebt tonnenweise Infos die gelesen werden müssen.
,, Für was ist dass ? Was kann man hier noch beifügen ?
Lies im BCC help file unter ilink32 nach da wirst du Erleuchtet.
So, das wars mal soweit.
cheers,
rasa
[ Dieser Beitrag wurde am 25.07.2002 um 12:15 Uhr von rasa editiert. ]
ach so ja danke es funktioniert nun so !
Gibt es irgendwo im Netz Beispiele wie man wo was Compilieren muss
und Linken ?
Wenn ich nun volgendes mache :
bcc32 -tW -c U.cpp
so bekomme ich ja ein Objekt File U.obj .
Wie kann ich es nun Linken mit dem ilink32 ? Würde mich mal intresieren wie ich die ganze Befehle nutzen kann !
Aber woher kriege ich die Beispiele ? Ich habe schon diverses
ausprobiert aber ich kann es nicht Linken !?
Ich möchte auch wissen wie man mehrere *.obj Files Linken kann.
Gruss Harry
wieviel bytes belegt ein int beim tcc 2? 2 bytes.
Und wieviel bytes ist al groß? 1 Byte.
mov geht nur wenn die operanden gleich groß sind. Das ist hier aber nicht der fall.
Lösung 1: nicht int buf, sondern char buf nehmen.
Lösung 2: ax und nicht al nehmen.
Aber die Fehlermeldung sagt doch genau das aus? Wer lesen kann ist klar im Vorteil.
Muss man diese DPMI benutzen oder kann ich der programm der mit gcc erschtellt worden ist, auch ein eingene pmode laufen lassen
und wenn ja wie kann ich der compiler einstellen das das Tut ?..
danke..
gxx ist der c-plusplus-compiler für den djgpp
gcc ist der allgemeine gnu c-compiler
hmm .. gpp .. keine ahnung
ps: cl ist microsoft und g++ ist c-plusplus unter linux und beim cygwin (pseudounix unter wíndows)