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

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


papa_john

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

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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;
}

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

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

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

 

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

+1

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ΟΚ!

 

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

 

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

 

Anyway... thnx for the info!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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