x-kom hosting

Gdzie skompilować kod ?

Mattix95
utworzono
utworzono

Witam !

Zaczynam przygodę w C++ ( z książką C++ dla każdego ) i napisałem kod ( wiem wiem , dla Was się do wydaje mega śmieszne ale to mój pierwszy nawet nie wiem czy dobry kod ) :

#include <iostream>int main(){	std::count << ''Witaj Swiecie to moj pierwszy program!!\n'';	return 0;}

Nie wiem czy dobrze postawiłem spację itp. ale myślę że tak . Niestety ściągnąłem Microsoft Visual C++ i nie wiem gdzie mogę w tym programie skompilować kod i czy dobrze go zapisałem ( przez zakładkę File / Save Hello ) . A zaczynałem od File / New project . Dobrze zrobiłem i gdzie skompilować ;)

Proszę o wyrozumiałość , jestem nowy w tym temacie ;)

Trinitrotoluen
komentarz
komentarz

Gorzej wybrać nie mogłeś ;).

Polecam Ci Dev-C++ jako kompilator.

I zrób tak:

#include <iostream>using namespace std;int main (){  count << ''Witaj Swiecie to moj pierwszy program!!\n'';  return 0;}

using namespace std daje Ci to, że nie musisz stawiać "std::" przed linijkami.

Mattix95
komentarz
komentarz
Polecam Ci Dev-C++ jako kompilator.

Nie jestem pewien czy pójdzie na Windows 7 ale spróbuje ;) .

using namespace std daje Ci to, że nie musisz stawiać "std::" przed linijkami.

Wiesz , pewnie i masz rację ;) ale ja wolałbym nie mieszać na początku . ( widziałem to w następnych rozdziałach ) . Nie wiem czy nie spowoduje to przypadkiem jakichś problemów później ale ok . Spróbuję Twoim sposobem .

I co mam wybrać jak robię nowy projekt ? Windows Application , Conslole Application czy Empty Project ?

Trinitrotoluen
komentarz
komentarz

Console Application i jako typ wybierasz C++.

Mattix95
komentarz
komentarz (edytowane)

A jak połączyć pliki .obj w tym programie ? ;)

Edit :

Wiedziałem że będą jakieś problemy na początku :D ( przy kompilowaniu 4 błędy typu ) :

Compiler: Default compilerBuilding Makefile: "E:\Users\Mateusz\Desktop\Makefile.win"Executing  make...make.exe -f "E:\Users\Mateusz\Desktop\Makefile.win" allg++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"   main.cpp:5:16: empty character constantmain.cpp: In function `int main()':main.cpp:5: error: expected `;' before "Witaj"main.cpp:5: error: stray '\' in programmain.cpp:5:58: empty character constantmake.exe: *** [main.o] Error 1Execution terminated

Nie rozumiem ? Popełniłem jeden błąd ( zamiast cout wpisałem cout za co przepraszam bo Trinitrotoulen też ,, przepisał '' mój błąd ) . Jak było wpisane count to było 5 błędów a tak to są 4 ale są ! :(

rafalluz
komentarz
komentarz (edytowane)
Gorzej wybrać nie mogłeś ;).

Polecam Ci Dev-C++ jako kompilator.

Dev-C++ to nie jest kompilator, tylko edytor kodu - to raz.

A dwa, że jako edytor trudno o gorszy - już nawet nie jest rozwijany.

Visual to jedno z najlepszych środowisk programistycznych w ogólności, z darmowych można polecić jeszcze Code::Blocks (ale to z drugiej ręki, bo sam nie używałem)

Wyłapałem tez parę błędów - poprawiłem je. Użyłeś chyba dwóch ' zamiast ". endl zamiast '\n', bo dodatkowo opróżnia bufor, ale to ma małe znaczenie.

#include <iostream>using namespace std;int main(){  cout << "Witaj Swiecie to moj pierwszy program!!" << endl;  return 0;}

Pliki .obj to bodaj kod pośredni, to już linker sam musi połączyć - choć to chyba nie ma w tej chwili znaczenia.

Mattix95
komentarz
komentarz (edytowane)

Dzięki Rafalluz ;) Udało się skompilować bez błędów ale jak połączyć pliki .obj a potem stworzyć program wykonywalny ? ;) Chyba przy łączeniu automatycznie tworzy się plik .exe ale nie wiem właśnie jak złączyć ;)

I jak zrobić owy plik o tym rozszerzeniu obj ?

EDIT :

Odpaliłem plik Project1.exe i niby pojawia się okienko podobne do Xp-kowego cmd ( konsola ) i wyłącza się i chyba w nim nic nie ma napisane . Może to wina windowsa albo ja coś znowu źle robie .

rafalluz
komentarz
komentarz (edytowane)

Nie robisz ich - to są pośrednie pliki kompilatora, jeśli dobrze pamiętam. Linker potem je scala (gdy dasz Build/Rebuild All, to dzieje się automatycznie), jeżeli wszystko jest ok i masz gotowy program .exe. Ale skoro się czarne okienko wyświetla, to prawdopodobnie jest ok. Jeszcze tylko zatrzymanie programu do wciśnięcia jakiegoś klawisza

#include <iostream>#include <cstdlib>using namespace std;int main(){  cout << "Witaj Swiecie to moj pierwszy program!!" << endl;  system("pause");  return 0;}
Mattix95
komentarz
komentarz (edytowane)

Może opiszę od początku jak to zacząłem robić :

Odpalam program Dev-c++ . Wchodzę w zakładkę File a potem New a potem project . Wybieram Console Aplication i pojawia mi się miejsce do wpisania kodu . ( przyznam się ) Skopiowałem dokładnie to co napisał rafalluz i naciskam Kompiluj . Nic więcej nie robię i odpalam plik Project1.exe pojawia się na sekundę konsola i znika bez napisu w środku . Czegoś nie zrobiłem ? ;)

EDIT :

Heh .. Wielkie dzięki Rafaullz . Ten drugi kod co podałeś pomógł i jest napis w środku ;) . Tylko dlaczego jak przepisałem identyczny kod z książki wystąpiły błędy podczas kompilacji kodu ? Za każdym razem muszę coś zmieniać w kodzie ( inaczej niż w książce ) ?

Edit 2 :

Może być to wina książki którą wydano w chyba 2002 roku ? Bo trochę lipa by była gdybym miał za każdym razem zwracać się na forum jak coś nie tak pójdzie czy to z kompilowaniem czy to z samym łączeniem programu .

grucha
komentarz
komentarz

Po pierwsze jak wspomniał kolega wyżej, Dev nie jest za dobrym edytorem ;]

Po drugie: w książkach przeważnie na początku nie ma jak zatrzymać program, ponieważ zakłada się, że odpalasz go spod konsoli ;]

Po trzecie przy wyświetlaniu przez cout nie ma tam dwóch ' (apostrofów) tylko " (cudzysłów).

Po czwarte najlepsze środowisko to Visual Studio.

Utworzenie projektu:

File->New->Project->Visual C++->Win32->Win32Console Application

W kreatorze klikasz na Finish.

Przykładowy pusty program powinien wyglądać tak:

#include "stdafx.h"#include <iostream>using namespace std;int main(){	cout<<"Witaj swiecie\n";}

Aby uruchomić program i żeby Ci nie zniknął z ekranu naciskasz CTRL+F5 lub Debug->Start Without Debugging lub jak wyżej napisał kolega ;]

Pisałem na podstawie Visual Studio 2008 ;]

Pozdrawiam i miłego kodzenia ;]

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.