Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-11-06 14:36:02

  Trin - Wredotka

Trin
Wredotka
Zarejestrowany: 2008-05-16

własne pliki .h/moduły dołączane do programów.

Moduły (tak to się nazywa?)
(Jak się domyślam, działa to tak, że plik programu - program.c wykorzystuje funkcje zadeklarowane w pliku plik.h, który za pomocą #define dołączamy do programu, z kolei te funkcje z plik.h są zdefiniowane w pliku plik.c Ale jeśli się mylę to wyprowadźcie mnie z błędu.)
   
No i w domu zrobiłam eksperyment - wedle schematu plików podpatrzonego w materiałach wykładowych, które na marginesie, przy kompilacji zwracają ten sam błąd co moje :)

modul.cpp

Kod:

#include <iostream>
#include "plik.h"

using namespace std;

int main(int argc, char** argv)
{
    int a=5;
    int b=6;
    cout<<licz(a,b);
    return 0;
}

plik.h:

int licz(int a, int b);

plik.cpp

#include <stdio.h>

int licz(int a, int b){
    return a+b;
}


i nie rozumiem czemu, przy próbie kompilacji programu mam taki komunikat:
/tmp/ccgtGA2R.o: In function `main':
modul.cpp:(.text+0x29): undefined reference to `licz(int, int)'
collect2: ld returned 1 exit status

Jakby nie widzi definicji tej funkcj, nie współgra z tym plikiem. Chciałabym poznać tą tajemnicę, jak dołączać pliki nagłówkowe/moduły  do programów. Co robię źle? Wiem że zaśmiecam forum głupimi pytaniami, ale nieraz coś przeoczę/powielę głupi błąd, dopiero teraz trafiłam na prowadzącego który czegoś wymaga ale też daje na zajęciach coś od siebie więc to dobry moment żeby pytać. A nauczyć się tego muszę.

Offline

 

#2  2011-11-06 14:50:00

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: własne pliki .h/moduły dołączane do programów.

Was ktoś uczy tego programowania? ;] Jeśli nie może warto zajrzeć do jakiejś pomocy zamiast zgadywać. Jakaś książka, jakiś kurs w sieci, np. http://cpp0x.pl/kursy/Kurs-C++/1#/kursy/?nro=310 .

Offline

 

#3  2011-11-06 16:45:47

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: własne pliki .h/moduły dołączane do programów.

@kamikaze: racja :)

No, ale powiem:
W lib.h powinna być tak konstrukcja:

Kod:

#ifndef LIB_H_INCLUDED
#define LIB_H_INCLUDED

#include<iostream>
int licz(int a, int b);

#endif

w lib.cc:

Kod:

using namespace std;
#include "lib.h"

int licz(int a, int b){
    return a+b;
}

w main.cc

Kod:

using namespace std;
#include "lib.h"

int main(int argc, char** argv)
{
    int a=5;
    int b=6;
    cout<<licz(a,b);
    return 0;
}

Przydałby się Makefile do tego i można hulać :) No a to nie moduły tylko biblioteki :) tak nas uczono ;D

Ostatnio edytowany przez P@blo (2011-11-06 16:48:12)


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#4  2011-11-06 18:31:35

  hello_world - Członek DUG

hello_world
Członek DUG
Skąd: Rymanów Zdrój
Zarejestrowany: 2010-06-03
Serwis

Re: własne pliki .h/moduły dołączane do programów.

dopiero teraz trafiłam na prowadzącego który czegoś wymaga ale też daje na zajęciach coś od siebie

Jak się pewien tekst wyrwie z kontekstu to takie poczwarki wychodzą. No co głodnemu chleb na myśli

Offline

 

#5  2011-11-06 19:06:22

  Trin - Wredotka

Trin
Wredotka
Zarejestrowany: 2008-05-16

Re: własne pliki .h/moduły dołączane do programów.

hello_world napisał(-a):

dopiero teraz trafiłam na prowadzącego który czegoś wymaga ale też daje na zajęciach coś od siebie

Jak się pewien tekst wyrwie z kontekstu to takie poczwarki wychodzą. No co głodnemu chleb na myśli

To może nie wyrywaj tekstu w kontekstu, bo ja nie mam głupich skojarzeń.
Dziękuję za pomoc.

Offline

 

#6  2011-11-06 20:09:28

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: własne pliki .h/moduły dołączane do programów.

Trin - radzę załatwić sobie IDE i na nim działać - wiem że niektórzy odradzają naukę programowania od razu z IDE, ale moje doświadczenia są takie że jak w swoje łapki dostałem QtCreatora to zacząłem bardziej koncentrować się na tym co i jak pisze, a dzięki wbudowanej obsłudze debuggera, znacznie przyjemniej rozwiązywało się problemy. Polecam konkretnie QTCreatora (to że ma "QT" w nazwie nie znaczy że nie można go używać do "czystego" C++), zalety to:

-wbudowana obsługa debugera jak i analizatora pamięci - dzięki czemu szybko widzisz gdzie masz wycieki i na czym się posypało
-auto uzupełnianie kodu
-możliwość szybkiego dodawania nowych klas, wraz z odpowiednim podziałem na pliczki .h .cpp itd
-możliwość szybkiej refaktoryzacji zmiennych czy funkcji
-automatyczna generacja makefile (przy wykorzystaniu qmake)
-bardzo wygodny dostęp do pomocy dla QT, a ostatnio i do zwykłych funkcji C/C++
-Obsługa pluginów - np. do Doxygena' co zachęca do dobrych praktyk i pisania od razu dokumentacji


i wiele innych ;]

Offline

 

#7  2011-11-06 20:48:45

  Trin - Wredotka

Trin
Wredotka
Zarejestrowany: 2008-05-16

Re: własne pliki .h/moduły dołączane do programów.

Ja mam QT tyle że jak dla mnie to to jest jeszcze "za" - kombajn na moje marne umiejętności, bardziej skupiam się na "bajerach" niż na tym co trzeba, nie przekonuje mnie to zwłaszcza w momencie gdy trzeba oddać programy na zaliczenie. Bardziej przemawia do mnie edytor i konsola.

zresztą denerwuje mnie strasznie to tworzenie nowego projektu ilekroć chce się coś zrobić - jakbym miała przed nosem visual studio :/

Ostatnio edytowany przez Trin (2011-11-06 20:49:38)

Offline

 

#8  2011-11-06 20:54:53

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: własne pliki .h/moduły dołączane do programów.

@Trin, docenisz to w pozniejszym czasie :) ja tez jak na poczatku cos chcialem zrobic tak o zmarszu bo mnie IDE zawsze oslabialo ale teraz jak mam duzy projekt to bez IDE ani rusz :)


LRU #480459

Offline

 

#9  2011-11-06 22:01:44

  Trin - Wredotka

Trin
Wredotka
Zarejestrowany: 2008-05-16

Re: własne pliki .h/moduły dołączane do programów.

właśnie się przełamałam i męczę z tym moją macierz, zaraz padnę krzyżem. Komunikat widzę ale z czym to się je - za cholerę. Czuję że to będzie ostatni semestr moich studiów.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)