Avatar billede casualty Nybegynder
28. april 2003 - 20:23 Der er 17 kommentarer og
1 løsning

Hvorfor compiler den til .i?

Jeg har et stykke tid kodet java men sidder nu og ville kigge på lidt C++

Jeg har downloadet og installeret Borlands gratis BCC55 compiler og den funger fint. men når jeg compiler eksempelvis en fil jeg har lavet der hedder "test.cpp" så bliver den til "test.i" hvad er dette og hvordan kommer jeg videre?
Min kode ser således ud:

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL, "Hello World", "Info fra mit første program", MB_OK);
  return 0;
}

jeg skrev det i wordpad og gemte den som "test.cpp"

Mvh Casualty
Avatar billede arne_v Ekspert
28. april 2003 - 20:27 #1
Du kalder formentlig CPP !

CPP er ikke C++ compileren men præ-processoren.
Avatar billede casualty Nybegynder
28. april 2003 - 20:30 #2
Oki...Hvad gør jeg så for at compile til noget .exe
Avatar billede arne_v Ekspert
28. april 2003 - 20:30 #3
Mange C/C++ compilere fungerer på den måde at man kalder en compiler-driver,
compiler-driveren kalder først præ-processoren, som  konverterer .c/.cpp til
.i ved at udføre alle #include/#define/#ifdef etc., og derefter
selve compileren som oversætter .i (lidt afhængig af compiler
direkte til objekt kode .obj/.o eller assembler .s - sidste
tilfælde kaldes så assembleren til at konvertere .s til .o).
Avatar billede arne_v Ekspert
28. april 2003 - 20:32 #4
1 minut - jeg skal lige installere BCC 5.5.
Avatar billede arne_v Ekspert
28. april 2003 - 20:33 #5
BCC32 i.s.f CPP32 !
Avatar billede casualty Nybegynder
28. april 2003 - 20:37 #6
Oki...jeg kompilerer den således:

bcc32 test

Og nu ender jeg med en "test.obj" og en "test.tds" fil
Avatar billede arne_v Ekspert
28. april 2003 - 20:39 #7
.obj linker du til .exe med ilink32 !
Avatar billede casualty Nybegynder
28. april 2003 - 20:42 #8
Ok...Jeg er tung hvordan gøres dette..Jeg har sat ilink32 op
Avatar billede arne_v Ekspert
28. april 2003 - 20:42 #9
Iøvrigt lidt mystisk.

Linker compileren ikke default ?
Avatar billede arne_v Ekspert
28. april 2003 - 20:42 #10
(medmindre du angiver -c)
Avatar billede arne_v Ekspert
28. april 2003 - 20:45 #11
Hvis borland\bcc55\bin er i PATH, så skriver du bare:

ilink32 test.obj
Avatar billede casualty Nybegynder
28. april 2003 - 20:46 #12
Nu kører det..

Jeg sagde: bcc32 -c test
Avatar billede arne_v Ekspert
28. april 2003 - 20:46 #13
Jeg prøvede lige med dit eksempel.

bcc32 -tW test.cpp

producerer en EXE-fil (den kalder selv linkeren) !
Avatar billede arne_v Ekspert
28. april 2003 - 20:48 #14
Iøvrigt er BCB 5.5 lidt gammel.

Jeg tror faktisk at jeg ville vælge mingw enten command-line
eller med dev-cpp oven på.
Avatar billede arne_v Ekspert
28. april 2003 - 20:49 #15
GCC 3.1 understøtter nemling ANSI C++, hvilket BCB næppe gør
da den er ældre end ANSI C++ standarden.
Avatar billede casualty Nybegynder
28. april 2003 - 20:51 #16
Ok..Jeg roder lige lidt med dette her...Jeg kan se at jeg allerede har accepteret dit svar ;)
Avatar billede casualty Nybegynder
28. april 2003 - 20:51 #17
Det havde jeg slet ikke opdaget
Avatar billede arne_v Ekspert
28. april 2003 - 21:11 #18
Jeg regner da så sandelig også med at enten så virker det eller
så får vi det til at virke.

:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester