Προς το περιεχόμενο
  • 0
papa_john

Συνδεση δυο αρχειων .c

Ερώτηση

Καλησπέρα , εχω μια ασκηση για τη σχολη μου και εχω μια απορια, ο καθηγητης μας εχει δωσει 2 αρχεια.c  . Το ένα ειναι η main και το αλλο ειναι μια συναρτηση που δημιουργει νέους κομβους σε ένα δευτερο αρχειο c . Tο πρωτοτυπο της συναρτησης ειναι μεσα στην main αλλα οταν παω να καλεσω την συναρτησημε βγαζει μηνυμα   [Linker error] undefined reference to `insertNodeIntoList'  .Πως μπορω να συνδεσω τα 2 αρχεια?   Ευχαρηστω!!!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Προτεινόμενες αναρτήσεις

  • 0

Λογικα η κληση της συνάρτησης θα ειναι στην main και ο ορισμος της στο αλλο αρχειο ... βάλε τους κωδικες των αρχειων

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
H MAIN

#include <stdio.h>
#include "header.h"
 
int concatenateSortedLists(List  *, List *, List *);
int insertNodeIntoList(List *);
ListNode * generateNewListNode(void);
 
 
int main(int argc, char * argv[])
{   
    List * list1;
    int i;
    int size1,size2;
    printf("Insert the size of list1: ");
    scanf("%d",&size1);
    for(i=0;i<size1;i++)
    {
        generateNewListNode();
    }
    printf("Insert the size of list2: ");
    scanf("%d",&size2);
system("PAUSE");
return 0;
}
 

 H HEADER

typedef struct listNode pointer;


typedef struct listNode {
	int datum;
	pointer * next;
	pointer * previous;
}ListNode;

typedef struct list {
	int numberOfNodesInList;
	pointer * head;
	pointer * tail;
}List;

 

 

H ΣΥΝΑΡΤΗΣΗ

#include <malloc.h>
#include <math.h>
#include "header.h"

ListNode * generateNewListNode(void) {
	ListNode * newNode = (ListNode *) NULL;
	newNode = (ListNode *) malloc(sizeof(ListNode));
	newNode->datum = ((int) ((rand() * 1235 ) * (rand() * 100) )) % 256;
	newNode->next = (ListNode *) NULL;
    newNode->previous = (ListNode *) NULL;
    return newNode;
}

 

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Ποιο IDE χρησιμοποιείτε ? Στο project που θα κάνεις θα εισάγεις και τα δύο αρχεία.

 

Αν κάνετε χειροκίνητα compile τα αρχεία πχ με gcc, τότε κατά το linking δώσε και τα δύο αρχεία πχ

gcc -o arxeio.exe main.c mitsos.c
Edit: Έχεις 2 prototypes (concatenateSortedLists και insertNodeIntoList) με τις συναρτήσεις να λείπουν. Το πρόγραμμα της main δεν τις χρησιμοποιεί όμως. Μήπως ο σκοπός της άσκησης είναι να τις γράψεις εσύ αυτές τις συναρτήσεις ?

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Χρησιμοποιω το dev c++ και δεν ξερω πως να εισαγω και τα 3 αρχεια μαζι σε ενα project

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Χρησιμοποιω το dev c++ και δεν ξερω πως να εισαγω και τα 3 αρχεια μαζι σε ενα project

 

Για δες αυτο σε βοηθάει ?

 

http://www.youtube.com/watch?v=IlvyDfQ8Nu4

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Καταρχάς, φύγε από το DevC++....

 

Προτιμότερο είναι το Lcc. Εάν θες κάτι πιο νέο, δοκίμασε NetBeans ή Code::Blocks. 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Καταρχάς, φύγε από το DevC++....

 

Προτιμότερο είναι το Lcc. Εάν θες κάτι πιο νέο, δοκίμασε NetBeans ή Code::Blocks.

+1

 

Ή ακόμη καλύτερα CodeLite. Ελαφρύ, με απείρως περισσότερα features από ό,τι θα χρειαστεί στη σχολή, και με εύκολο στήσιμο μια και ο installer του εγκαθιστά και τον compiler οπότε δεν χρειάζεται να πρηχτείς.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Orwell Dev-C++ είναι το σύγχρονο & εξελισσόμενο fork του Dev-C++, το οποίο είναι απείρως βελτιωμένο σε όλους τους τομείς από το αρχικό, και δεν θα χρειαστεί να ξαναμάθεις από την αρχή το περιβάλλον εργασίας. Σου έχει έτοιμους με την εγκατάσταση και 2 εκδοχές του mingw toolchain, μια για 32μπιτα και μια για 64μπιτα Windows, σεταρισμένους για χρήση out of the box.

 

Αν σκοπεύεις όμως να ασχοληθείς αργότερα πιο σοβαρά με C/C++ programming, θα σου προτείνω κι εγώ ότι κι ο Timon: Code:Blocks ή NetBeans.

 

ΥΓ. Btw, μακριά από LCC... έχει πολλές ασυμβατότητες. 1000 φορές καλύτερα Pelles-C.

  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δεν θυμάμαι απέξω Timon, αλλά επειδή όπως θα θυμάσαι αρέσκομαι να κάνω compile κώδικές σε τουλάχιστον 3 compilers (και όσους έχω κατά καιρούς ποστάρει εδώ αλλά και σε άλλους που τους θέλαμε συμβατούς σε διάφορες πλατφόρμες) ο LCC έχει θέματα.

 

Νομίζω περισσότερο με τα C99 features, αλλά σημείωσε πως μιλάω για τον lcc-win32 (ο σκέτος lcc είναι πολύ παλιός έτσι κι αλλιώς αν δεν με απατάει η μνήμη μου).

 

Προβλήματα, αλλά σαφώς λιγότερα έχει και η έκδοση 7 της Pelles-C (ειδικά στο optimization αν θυμάμαι καλά).

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

ΟΚ!

 

Δεν το ήξερα... και η αλήθεια είναι ότι έχω να πιάσω Lcc εδώ και 3 χρόνια. Αλλά, θυμάμαι, ήταν ένα περιβάλλον που μου άρεσε πάρα πολύ και γινόταν εύκολα πολύ strict.. κάπου στις ρυθμίσεις είχε απλά ένα check box για ANSI C. 

 

Γενικά, θυμάμαι, μου άρεσε πολύ η διαχείριση των παραθύρων... ήταν modal ενώ το κεντρικό έμενε πάντα ON σαν background. 

 

Anyway... thnx for the info!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Τίποτα ρε συ. Πάντως κι εγώ έχω καιρό να τον αναβαθμισω, ίσως έχει βγει νέα έκδοση και να είναι καλύτερη. Εμένα μου άρεσε επίσης ότι σου βγάζει τα segfaults σε alert-box πριν κρασάσει, μαζί με info :)

 

ΥΓ. Άσχετο, έχω να προγραμματίσω σε C μήνες... παλεύω με PHP σε Joomla και Wordpress τελευταία.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

εχο κι εγω την ιδια εργασια μπορει να με βηθησει καποιοσ ωσ προς τισ συναρτησεις (concatenateSortedLists και insertNodeIntoList)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.