externe Funktionen in C
-
Hallo,
also zunächst solltest du die offizielle Bedienungsanleitung in deine Lesezeichen aufnehmen. http://gcc.gnu.org/onlinedocs/
Insbesondere die Kapitel "Options for Linking" und "Options Controlling the Kind of Output" durchlesen.
Und hier noch eine Kurzanleitung zum Thema:
http://vergil.chemistry.gatech.edu/resources/programming/c-tutorial/libraries.html
-
Danke
das zweite Link ist genau was ich suche.
das erste Link ist sehr interessant und nützlich
-
Das Tutorial ist vielleicht etwas irreführend, weil es so aussieht, als müsste man unbedingt die .o Dateien bündeln um sie verwenden zu können.
Das ist nicht so, denn du kannst auch direkt die .o Objektdateien dazulinken ohne dass du erst eine Library draus machen müsstest.
-
int *BitSequence; int i=0; GenerateBitStream(BitSequence,10);
wird 100% schief gehen, da BitSequence ins Nimmerland zeigt. Richtig wäre
int BitSequence[10]; int i=0; GenerateBitStream(BitSequence,10);
-
Bei kompilieren von GenerateBitStream.c
#include"BitStream.h" #include<stdio.h> #include<stdlib.h> #include<time.h> int *GenerateBitStream(int *bits, int length){ srand48(time(NULL)); for (int i = 0; i <= length-1; i++) { if (drand48() < 0.5) *(bits+i) = 1; else *(bits+i) = 0; } return bits; }
kommt leider folgende Fehler:
GenerateBitStream.c: In function
GenerateBitStream': GenerateBitStream.c:14: parse error before
int'
GenerateBitStream.c:14:i' undeclared (first use in this function) GenerateBitStream.c:14: (Each undeclared identifier is reported only once GenerateBitStream.c:14: for each function it appears in.) GenerateBitStream.c:14: parse error before
)'`i' undeclared (first use in this function) : i habe ich doch deklariert : int i=0. Ich weiss nicht wegen was sind die Fehlermeldungen?
-
Diese Art der Deklaration (in for loops) ist nur in C99 und C++ erlaubt.
Zieh die Deklaration einfach raus eine Zeile darüber. Oder schalte den Compiler in den C99 Mode.
-
das Probleme war teilweise wegen Codefehler nicht ausführbar und grösstenteils wegen gcc version die ich erwende gcc 2.95.2. Problem ist nun gelöst.
liebe Grüsse.
Dreisson.
-
beim GCC solltest du mal -std=c99 ausprobieren.
und grösstenteils wegen gcc version die ich erwende gcc 2.95.2. Problem ist nun gelöst.
Nö. Aber warum verwendest du in Zeiten von GCC 4.2 immer noch den alten 2.95er? Ein Upgrade lohnt sich imho.
-
Deine Frage ist gerechtfetigt. Das computer an dem Ich arbeite gehört mir nicht, dazu kann drauf keine Programme installieren, da ich keine Adminstratorrechte habe. das hat mich schon genervt, immer wieder zu suchen ob es ein kommando in dieser älteren Version gibt oder nicht.
Gruss
Dreisson
-
Wenn es nur um die Administrator Rechte geht: Du kannst dir einen GCC auch in dein Home-Verzeichnis installieren. Ohne dass du Admin-Rechte brauchst.
Wenn das Projekt aber für den GCC 2.95 entwickelt werden soll, musst du wohl in den sauren Apfel beißen. :p