Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

GCC w Xcode


  • Zaloguj się, aby dodać odpowiedź
26 odpowiedzi w tym temacie

#1 Sebol

Sebol
  • 501 postów

Napisano 07 października 2011 - 18:38

Witam, niedługo mam zamiar kupić MacBooka Pro. Zacząłem też ostatnio przygodę z programowaniem w C (z racji kierunku studiów - matematyka na polibudzie) i jednym z warunków naszego prowadzącego zaliczenia danego programu jest to by bez problemu kompilował się na jego linuxowym GCC. Wiem, że Xcode korzysta z tego kompilatora. Czy jeśli program bez problemu skompiluje się w Xcode, to będę mieć pewność, że na linuxowym GCC też ruszy? PS. W jakim miesiącu zazwyczaj wychodzą Macbooki "late"? Jakiś czas temu był news o domniemanej zmianie procesorów w Macbookach i miały by to być late 2011

#2 kamil.burczyk

kamil.burczyk
  • 57 postów
  • SkądKraków

Napisano 08 października 2011 - 15:12

W Mac Os X też masz gcc, wystarczy wywołać go z konsoli: gcc
Przykładowa kompilacja pliku "program.c" do binarki "program" wygląda tak:
gcc program.c -o program


#3 Jayer

Jayer
  • 13 postów
  • SkądGrodzisk Mazowiecki

Napisano 18 października 2011 - 19:41

Pociągnę temat. Też chcę właśnie korzystać z XCODE do pisania prac do szkoły. Czy istnieje taka opcja, żeby bez kompilacji uruchomić program, np. w konsoli? Na myśli mam proste ćwiczenia gdzie outputem jest konsola. Dla porównania chodzi mi o coś takiego jak w Eclipse i Javie, tam wciskałem run i kod się wykonywał.

#4 kamil.burczyk

kamil.burczyk
  • 57 postów
  • SkądKraków

Napisano 19 października 2011 - 15:22

Bez kompilacji raczej nie da się uruchamiać programów napisanych w C/C++. Musiałbyś mieć do tego interpreter (pewnie też napisany w C), co byłoby przerostem formy nad treścią. Ja przynajmniej o niczym takim nie słyszałem. W XCode masz po prostu przycisk Run, który kompiluje pliki, linkuje potrzebne biblioteki i uruchamia program. Równie dobrze możesz napisać sobie z palca plik Makefile i wtedy kompilacja + linkowanie + opcjonalne uruchomienie możesz załatwić jednym poleceniem:
./make
Więcej o Makefile np. tutaj: Make - Tworzenie Makefile [MOJA PASJA - PROGRAMOWANIE]

#5 nips

nips
  • 329 postów
  • SkądPabianice

Napisano 20 października 2011 - 07:27

Mac App Store - Xcode

XCode -> New Project -> [ Mac OSX -> Application -> Command line tool ] -> i masz plik main.c. Potem Run i już.

#6 Jayer

Jayer
  • 13 postów
  • SkądGrodzisk Mazowiecki

Napisano 22 października 2011 - 16:18

Ok. U mnie w końcu zadziałało. Na nowo utworzonym projekcie. Dzięki.

#7 zdzich

zdzich
  • 178 postów
  • Skądjuż nie Poznań

Napisano 26 października 2011 - 11:31

jako ze wlasnie zaczynam przygode z programowaniem w c++ to sam zadam kilka pytan
robie wszystko wedlug przykladowych skryptow
no i xcode wywala mi bledy

http://codepad.org/c4bdp2LE

jak zmienie na to dziala


http://codepad.org/rUe269TQ

no i teraz pytanie do was, boje sie ze zagebiajac sie dalej w ksiazki/poradniki takich roznic bedzie wiecej
mam zle ksiazki? a moze to ja gdzies popelnilem jakis blad? moze to kwestia jakis ustawien w XCODE?

#8 Krzema

Krzema
  • 190 postów
  • SkądGdańsk, PL

Napisano 26 października 2011 - 17:21

Jak na moje, musisz wyraźnie powiedzieć, z której przestrzeni nazw korzystasz (using namespace). Jeżeli korzystasz z iostream, zwyczajowo po include'ach pisze się
using namespace std;

Jeżeli jakiś kompilator toleruje brak tego using, to jest dość pobłażliwy ;) Generalnie jest to wymagane.

#9 macieks72

macieks72

  • 9 873 postów

Napisano 26 października 2011 - 17:28

Oj nie musisz mieć 'using' i nie jest wcale wymagane, nie jest to związane z pobłażliwością kompilatora. std::cout i niepotrzebna żadnego 'using', użycie 'using' jest to tylko dla Twojej wygody.

#10 Krzema

Krzema
  • 190 postów
  • SkądGdańsk, PL

Napisano 26 października 2011 - 18:59

Sorry, źle się wyraziłem - jeśli chce się pisać samo "cin" i "cout", wtedy jest wymagane. Pisanie "std::cout" jest jak dla mnie niewygodne, ale jak kto woli.

#11 Tojot

Tojot
  • 1 187 postów

Napisano 26 października 2011 - 19:25

Ten pierwszy kod bod był poprawny jakieś 15 lat temu. Masz jakąś starą książkę.

#12 zdzich

zdzich
  • 178 postów
  • Skądjuż nie Poznań

Napisano 27 października 2011 - 12:58

ksiazka z 2000 roku myslalem, ze takie podstawowe rzeczy zmianie nie ulegaja

#13 Tojot

Tojot
  • 1 187 postów

Napisano 28 października 2011 - 11:04

Podstawowe nie, ale jednak 11 lat to epoka. Wtedy jeszcze królował Windows 98 i nikt nawet nie podejrzewał jak będą wyglądać dzisiejsze komputery. W szczególności wtedy nie było namespace. W większości przypadków wystarczy jak dopiszesz za includami: using namespace std; Oraz zamiast includować załączaj nowsze . Poprostu pomijaj ".h" w bibliotekach standardowych.

#14 Sebol

Sebol
  • 501 postów

Napisano 02 listopada 2011 - 21:42

Mam problem z xCode - nie mogę skompilować programu w C. Wszelkie opcje typu run itp. są wygaszone. Niech mi ktoś wytłumaczy jak krowie na rowie jak skompilować tutaj głupie Hello World :)

#15 Jayer

Jayer
  • 13 postów
  • SkądGrodzisk Mazowiecki

Napisano 02 listopada 2011 - 21:45

Hej, Bo pewnie robiłeś tak jak ja na początku. Czyli New File. Zrób New Project i będzie wszystko działało. Potem w ramach takiego projektu możesz sobie robić wiele plików i też będzie RUN działał.

#16 Sebol

Sebol
  • 501 postów

Napisano 02 listopada 2011 - 21:52

stworzyłem projekt, w nim hello.c, ale nadal w zakładce product mam run na szaro

#17 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 02 listopada 2011 - 22:19

stwórz nowy projekt, wybierz Mac OS X > Application > Command Line Tool i potem czy C czy C++ tada Hello World masz od razu.

#18 Sebol

Sebol
  • 501 postów

Napisano 02 listopada 2011 - 22:36

Zadziałało, ale gdy mam w projekcie dwa lub więcej plików .c to nie kompiluje :) wygląda to tak, jakbym dla każdego małego programu musiał robić nowy projekt, co jest bez sensu. Ja potrzebuję coś w stylu Dev C++ - nowy plik, stuk stuk, compile i już :)

#19 macieks72

macieks72

  • 9 873 postów

Napisano 02 listopada 2011 - 22:37

Coś źle robisz widocznie. Oczywiście że możesz mieć więcej plików niż jeden :D Tak dokładnie, stuk stuk, compile, tak to działa w xcode.

#20 Sebol

Sebol
  • 501 postów

Napisano 02 listopada 2011 - 22:42

po wrzuceniu do projektu dwóch identycznych plików, wywala błąd - z tego co wyczytałem z loga to nie podoba mu się, że w obu jest main

#21 macieks72

macieks72

  • 9 873 postów

Napisano 02 listopada 2011 - 22:43

Nie no, oczywiście main() ma być jedno, to Ci w Dev C++ też nie zadziała jak będą dwa.

#22 Sebol

Sebol
  • 501 postów

Napisano 02 listopada 2011 - 22:46

no to wychodzi na to, że nie można zrobić tego o co mi chodzi bez tworzenia co rusz nowego projektu - uczę się dopiero programowania w C (w ramach studiów) i piszemy programu typu - oblicz n-ty wyraz ciągu Fibonacciego. A to zawiera się w jednym pliku. W dev C++ nie bawiłem się w projekty tylko po ludzku - nowy plik, napisałem programik i kompilowałem, szukam takiej alternatywy na mac OS

#23 macieks72

macieks72

  • 9 873 postów

Napisano 02 listopada 2011 - 22:51

To do nauki rób sobie funkcje, dodając w main() ich wywałanie tylko, te niepotrzebne (w danej chwili do testu) zakomentuj (w main tylko, albo jak Ci wygodnie). Czyli jeśli masz kilka plików ze szkoły i w każdym main() to przerób je na funkcje. Albo zakładaj wiele projektów, wszystko zależy jak Ci pasuje, zorganizuj sobie to jak Ci wygodnie. Jest jeszcze TextMate, który to umożliwia bez projektów kompilację, do tego co piszesz byłby idealny, otwierasz taki jeden plik i dajesz cmd+r (bez projektów).

#24 Tojot

Tojot
  • 1 187 postów

Napisano 03 listopada 2011 - 22:15

Xcode nie jest przystosowany do jednoplikowców, chociaż czasami mimo to się przydaje ze względu na debugger lub dostęp do frameworków.
Ja do prostych jednoplikowców używam TextWrangler (za darmo z AppStore) i kompiluję "make nazwa" (nazwa bez rozszerzenia !).

---------- Wpis dodano o 22:15 ---------- Poprzedni wpis dodano o 22:13 ----------

Aha, Xcode i tak trzeba zainstalować, bo to on instaluje kompilatory dla terminala!

#25 Sebol

Sebol
  • 501 postów

Napisano 03 listopada 2011 - 22:24

właśnie teraz tak robię :), to najprostszy sposób chyba




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych