OpenGL/C Frage - externe Funktionen

Status
Nicht offen für weitere Antworten.
Y

yest86

Gast
Hallo,
hoffe ihr könnt mir weiterhelfen. Habe bisher nur ein bisschen Java programmiert und wollte mir jetzt auch mal andere Sachen anschauen um gleich mit einem etwas weiteren Überblick anzufangen. Nun hat mir ein Freund ein paar Aufgaben seiner Hochschule zur Verfügung gestellt. Im ersten Teil zu open GL wird einfach nur ein Bildpunkt gesetzt. So weit, so einfach. Nun ist der Code aber auf zwei Dateien aufgeteilt, eine die Wohl die Initialisierungen übernimmt und eine, die das Programm ausführt.
Dabei wird mit externen Funktionen gearbeitet, allerdings verstehe ich nicht, wie man diese Dateien gegenseitig bekannt macht bzw einbindet. Bei der Suche nach der Lösung habe ich nur Hinweise gelesen, dieses über include "..." zu machen, aber ich denke, hier ist wohl etwas anderes gemeint.
Anbei mal die "Musterlösung", die bei mir aber wie gesagt nicht funktioniert, da die externen Funktionen nicht gefunden werden. (Benutze Dev-C++ und habe beide Dateien in einem gemeinsamen Projekt liegen)

Code:
pixel.c


#include <GL/glut.h>
#include <stdlib.h>

/* Auflösung des Ausgabefensters -> Top-Level Window */
int breite = 800, hoehe = 600;
/* Position des Bildpunktes */
int px = 400, py = 300;

/* Funktionsprototypen */
extern void display(void);
extern void putpixel(GLint x, GLint y);
void init(void);
void zeichnen(void);

/* Funktionen */
void init(void) 
{
    /* Hintergrundfarbe setzen -> Weiß */
    glClearColor(1.0,1.0,1.0,1.0);
    /* Verdergrundfarbe setzen -> Rot */
    glColor3f(1.0,0.0,0.0);
}

void zeichnen (void) 
{
    /* Grafik realisieren, Bildpunkt an (px,py) setzen */
    putpixel(px,py);
}


Code:
main.c


#include <GL/glut.h>

extern GLint breite, hoehe;

/* Funktionsprototypen */
extern void init(void);
extern void zeichen(void);
void putpixel(GLint x, GLint y);
void display(void);

/* Funktionen */
void putpixel(GLint x, GLint y) 
{
    /* Bildpunkt an Position (x,y) setzen */
    glBegin(GL_POINTS);
        glVertex2i(x,y);
    glEnd();
}

void display(void) 
{
    glClear(GL_COLOR_BUFFER_BIT);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    /* Viewingvolumen einstellen */
    glOrtho(0,breite,0,hoehe,-1,1);
    /* Grafik realisieren */
    zeichnen();
    glFlush();
}

int main(int argc, char** argv) 
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(breite, hoehe);
    glutCreateWindow(argv[0]);
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}


Wäre nett, wenn mir jemand sagen könnte, wie ich das mit den zwei Dateien zum laufen bekomme.
 
Y

yest86

Gast
Jo, aber das hier ist ja das Sonstiges -> Programmierung allgemein Forum, denke da dürfte es reinpassen. ;)
 
G

Guest

Gast
yest86 hat gesagt.:
Jo, aber das hier ist ja das Sonstiges -> Programmierung allgemein Forum, denke da dürfte es reinpassen. ;)

Ja - Programmierung Allgemein. C++ ist doch speziell, oder? Na, mir solls egal sein, vielleicht findet sich jemand, der das weiß. Wenn nicht, hier mal ein Link: http://www.c-plusplus.de/cms/

Tschaui
 

wranger

Mitglied
Jo ... das gute alte C!

Das hängt alles von deinem Compiler ab. Ich kann dir das hier nur für den gcc beschreiben. Dieser ist jedoch für windows als auch für linux verfügbar

Du bekommst die Dateien zusammen bzw. die eine Datei kennt die Funktion aus der anderen Datei in dem du:

1. Beide Dateien beim Compilieren mit angiebst: gcc main.c pixel.c -o out.exe
2. Dir eine Makefile dafür schreibst und dieses aufrufst: Bei google/wikipedia wirst was finden

wranger
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Klärung von Fachausdrücken (OpenGL, applets,API) Softwareentwicklung 3
C SOLID Single Responsibility Priciple Frage Softwareentwicklung 2
K Frage OOP Softwareentwicklung 8
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
A Frage zu testdriven developement Softwareentwicklung 1
H Regex Frage Softwareentwicklung 2
D Frage Schichtenarchitektur Softwareentwicklung 3
T Frage bezüglich MVC Softwareentwicklung 1
Shams Frage wegen guava-Eventbus. Softwareentwicklung 0
B Frage zu Schnittstellen (lose Kopplung) Softwareentwicklung 5
H Frage zur Stanford NLP-API Softwareentwicklung 2
E Frage zu Dekorator-Pattern Softwareentwicklung 2
O Frage zu Regulärer Ausdruck Softwareentwicklung 3
H WEKA - Frage zu Methode in Evaluation Softwareentwicklung 2
S Frage zu Zusicherungen: Softwareentwicklung 12
D Frage zu String Algorithmen / String Metric Softwareentwicklung 7
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
D Frage zur Objektorientierung mit Interfaces Softwareentwicklung 9
B Theoretische Informatik Frage zu Formalismus RegExp Softwareentwicklung 12
Wepster LGPL, MPL Frage Softwareentwicklung 3
D Frage zur Benutzeroberflächenprogrammierung Softwareentwicklung 8
D Frage zu Klassendiagramm und Konstruktor (UML) Softwareentwicklung 3
M [OOP] Frage zu Methode-Namen / Funktionsweise Softwareentwicklung 9
P Frage zu Processing Softwareentwicklung 9
S Regex Frage Softwareentwicklung 4
D Frage zu meiner Vorgehensweise in einem Projekt Softwareentwicklung 5
A Frage zu GPL Softwareentwicklung 3
K Frage zu UML Aktivitätsdiagramm Softwareentwicklung 3
J Frage zu Lizenzrechten Softwareentwicklung 5
B bash frage Softwareentwicklung 6
F allgemeine exe frage Softwareentwicklung 10
G Frage zur LGPL? Softwareentwicklung 5
0x7F800000 "Wozu ist denn CSS / CSS2 gut" Dumme Frage? Softwareentwicklung 9
G Frage zur UML Softwareentwicklung 2
B Ajax Frage Softwareentwicklung 2
J Frage zu Relation Softwareentwicklung 2
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
G MVC Frage Softwareentwicklung 4
P Frage zu Prolog! Softwareentwicklung 7
E Frage zu Excel und Filtern Softwareentwicklung 4
G C# Frage Softwareentwicklung 12
T SQL, Feld mehrmals abfragen, IN Frage Softwareentwicklung 3
C Grundsätzliche Frage zur OOP bzw. zum MVC Softwareentwicklung 5
RaoulDuke Frage zu Datenmodel / Zugriff Softwareentwicklung 5
J Frage zu C Softwareentwicklung 2
H Frage ueber Prototype Pattern? Softwareentwicklung 2
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
J Frage zu MVC, Swing, Gui Softwareentwicklung 3
L Frage zu Beziehungen zwischen Klassen und UML Softwareentwicklung 10
T Frage zu Mysql Softwareentwicklung 3
C Mysql-Frage(Problem mit nicht durchgeführten Zugriff) Softwareentwicklung 5
M Interne vs. externe Speicherung von Daten Softwareentwicklung 2

Ähnliche Java Themen

Neue Themen


Oben