Nowe posty

xx Przydatne Linki (4)
Dzisiaj o 14:13:00
xx Awstat (0)
Wczoraj o 14:55:15
xx SMB - Access denied z Windows (9)
2019-08-19, 11:27:24
xx Kali Linux - książka. (0)
2019-08-19, 00:20:25
xx Arch - startx dla uruchomienia GNOME powoduje wyłączenie komputera (6)
2019-08-18, 14:37:04
xx Nie moge urchmomic laptopa - grub rescue. (1)
2019-08-17, 18:24:00
xx Po aktualizacji zniknęły niektóre funkcje (45)
2019-08-14, 06:39:01
xx Operacje na bitach. (4)
2019-08-10, 21:44:36
xx Pblem z montowaniem dysku sieciowego (1)
2019-08-09, 23:36:45
xx [Promocja] Mój nowy kanał na YouTube o Linuksie po polsku. (0)
2019-08-07, 20:36:10

Autor Wątek: Programowaine w C - kłopotliwy początek  (Przeczytany 4751 razy)

Offline Marco UYSzosti

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 13
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« dnia: 2005-09-25, 12:10:45 »
Wtam
mam: płyte K7S41 z grafiką
Integrated Real 256E 3D Graphics
i Aurox 10.2 nie znalaz do tego sterowników pomocy.

Offline Dominik Przyborowski

  • Users
  • Guru
  • *****
  • Wiadomości: 747
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« Odpowiedź #1 dnia: 2005-09-25, 12:27:10 »
2005-09-25 12:10:45 uyszosti napisał:

> Wtam
 > mam: płyte K7S41 z grafiką
 > Integrated Real 256E 3D Graphics
 > i Aurox 10.2 nie znalaz do tego sterowników pomocy.

Spróbuj użyć sterowników, vesa lub vga (w ostateczności)
Poszukaj sterów do tego - SiS 661FX lub SiS 741GX - na stronie SiS niestety są do wszystkich tylko nie tej ;-)

Offline Wojtek Skrobek

  • Users
  • Użytkownik
  • **
  • Wiadomości: 52
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« Odpowiedź #2 dnia: 2005-09-25, 02:13:04 »
Witam,

Mam problem - chce zająć się programowaniem w C/C++. Pościągałem sobie pełno poradników z neta, ale jak się okazało są to głównie poradniki do programowania w windowsie. I tutaj właśnie mam prośbę - czy mógłbym prosić o podanie tytułów książek, linków czy czegokolwiek co traktuje o programowaniu w linuksie w języku C. Sam próbowałem pisać coś na bazie tych poradników, które mam z neta i doszedłem do czegoś takiego:  
#include

int main()
{
printf("Hello world!n");
return 0;
}

Według tego co było napisane w jednym z poradników powinienem skompilować coś takiego i powinno sie pojawić okienko. I tutaj jest problem - nie wiem jak to skompiloać! Wyczytałem, że jest kompilator, który sie nazywają g++, i nawet mam go zainstalowanego w systemie, ale nie wiem jak go uruchomić. Próbowałem skomilować to w emacsie, ale mi to nie wyszlo ( w ogóle nie wiem czy to jest możliwe). Wziąłem tools==>compile i wcisnłem enter i pojawilo sie coś takiego
"make:   *** Nie podałeś obiektów lub nie znalazłem makefile. Stop". Nie mam już żadnych pomysłów i proszę o pomoc. Z góry dzięki

Offline Dominik Przyborowski

  • Users
  • Guru
  • *****
  • Wiadomości: 747
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« Odpowiedź #3 dnia: 2005-09-25, 07:13:21 »
Witam.

Wszystko kompilujesz w konsoli.
Kod jest napisany w C i musisz go z kompilować w gcc poleceniem
gcc nazwa_źródeł.c -o nazwa_binarek
(mniej więcej tak, ale poczytaj man'a)

Książki - "Thinking in C++"

Linki:
http://szukaj.gazeta.pl/katalog/1816462,51360.html?x=489495&slowo=C%2FC%2B%2B
http://galaxy.uci.agh.edu.pl/~chwastek/lectures/C/spis.html

P.S. Gdybyś dokładniej poszukał na google i popatrzył na tym forum to byś znalazł wszystko co potrzebujesz.

Offline Dominik Przyborowski

  • Users
  • Guru
  • *****
  • Wiadomości: 747
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« Odpowiedź #4 dnia: 2005-09-25, 07:53:11 »
Tytułem Post Post Scriptum kilka rad ;-)
Najpierw naucz się dobrze programować w języku proceduralnym zanim się weźmesz za obiektówke. Dbaj o przejrzystość kodu (wcięcia, odpowiednie nazwy zmiennych, etc) i pisz komentarze. Chodzi tu o wpojenie dobrych nawyków, niezbednych jeżeli piszesz program dłuższy niż 1000 linii.

Pozdrawiam i powodzenia.
Dominik

Offline Konrad Zapałowicz

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 160
    • Zobacz profil
Programowaine w C - kłopotliwy początek
« Odpowiedź #5 dnia: 2005-09-25, 14:14:04 »
> #include
 
Powinno być: #include

 > Według tego co było napisane w jednym z poradników powinienem skompilować coś takiego i powinno
 > sie pojawić okienko. I tutaj jest problem - nie wiem jak to skompiloać! Wyczytałem, że jest
 > kompilator, który sie nazywają g++, i nawet mam go zainstalowanego w systemie, ale nie wiem jak
 > go uruchomić.

piszesz: g++ nazwa_pliku.cpp -o nazwa_wyjściowa

(to oczywiście najprostsza metoda, z pominięciem flag kompilacji).

>Próbowałem skomilować to w emacsie, ale mi to nie wyszlo ( w ogóle nie wiem czy to
 > jest możliwe). Wziąłem tools==>compile i wcisnłem enter i pojawilo sie coś takiego
 > "make:   *** Nie podałeś obiektów lub nie znalazłem makefile. Stop".

Emacs opiera się na Makefileach - musiałbyś pierwej napisać takkowego dla swego projektu, by móc korzystać z kompilacji w Emacs.

-------------------------------
CXX=g++
CXXFLAGS=-c -Wall -march=athlon-xp -O2 -mfpmath=sse
LDFLAGS=
SOURCES=TU_TWOJE_PLIKI_CPP_ODDZIELONE SPACJĄ
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=NAZWA_WYNIKOWA
all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
   $(CXX) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
   $(CXX) $(CXXFLAGS) $< -o $@

clean:
   rm -rf *o
----------------------------------------

Zapisz sobie powyższy kod jako Makefile i wgraj do katalogu w którym masz swoje źródło. Zmień "SOURCES" na nazwy Twoich plików *.cpp (po spacji podajesz kolejno) i nazwę programu "EXECUTABLE" na swoją własną. Nie wiem jaki masz procesor, ja mam athlona xp i dlatego mam
-march=athlon-xp - jak masz inny, to pogoogluj za flagą march dla g++ i znajdziesz wartość dla Twojego procka (ta flaga optymalizuje kod pod konkretnego procka, tzn. program potem wyciska ile się da ze scalaka). Jak będziesz chciał skompilować to piszesz w konsoli make i już. Oczywiście będą kompilowane tylko te pliki w  których dokonałeś zmian od ostatniej kompilacji (taka miła cecha "make") z wyłączeniem plików *.h - tzn. zmiany w tych plikach nie będą śledzone i jezeli dokonasz jedynie zmiany w pliku *.h i będziesz chciał skompilować to musisz najpierw usunąć pozostałości po poprzedniej kompilacji - make clean (pewnie zauważyłeś, ze clean to etykieta w Makefile'u)

Acha ważne jest aby wszystkie polecenia pod etykietami (to z dwukropkiem na końcu) były poprzedzone TABULATOREM!!!


A co do samego programowania w Linuxie. Kod jest tak długo przenośny między win i lin jak długo używasz biblioteki standardowej. Natomiast gdy zaczniesz używać czegoś spoza niej (np: conio.h i fcja getch() ) to na linuxie się nie skompiluje. Więc nie szukaj specjalnej książki do programowania w Linuxie, tylko naucz się dobrze biblioteki standardowej. Ja na początek polecam Ci "Symfonię C++" Grębosza jako wstęp do C++


Pozdrawiam,
Bergo