Skip to content
Snippets Groups Projects
Commit b49e5c47 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Beispiele 17.12.2020

parent b47f1f2f
Branches
No related tags found
No related merge requests found
Showing with 687 additions and 4 deletions
Makefile-3
\ No newline at end of file
philosophy: philosophy.o answer.o
gcc philosophy.o answer.o -o philosophy
answer.o: answer.c answer.h
gcc -Wall -O answer.c -c
philosophy.o: philosophy.c answer.h
gcc -Wall -O philosophy.c -c
TARGET = philosophy
OBJECTS = philosophy.o answer.o
HEADERS = answer.h
CFLAGS = -Wall -O
$(TARGET): $(OBJECTS)
gcc $(OBJECTS) -o $(TARGET)
answer.o: answer.c $(HEADERS)
gcc $(CFLAGS) answer.c -c
philosophy.o: philosophy.c $(HEADERS)
gcc $(CFLAGS) philosophy.c -c
clean:
rm -f $(OBJECTS) $(TARGET)
TARGET = philosophy
OBJECTS = philosophy.o answer.o
HEADERS = answer.h
CFLAGS = -Wall -O
$(TARGET): $(OBJECTS)
gcc $(OBJECTS) -o $(TARGET)
%.o: %.c $(HEADERS)
gcc $(CFLAGS) $< -c
clean:
rm -f $(OBJECTS) $(TARGET)
#include "answer.h"
int answer (void)
{
return 23;
}
extern int answer (void);
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 50.0;
double dt = 0.05;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (50, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (5000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 50.0;
double dt = 0.2;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (200, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
......@@ -8,7 +8,7 @@ double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.05;
double dt = 0.2;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
......@@ -29,7 +29,7 @@ gboolean timer (GtkWidget *widget)
if (x + RADIUS >= WIDTH)
vx = -vx;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (50, (GSourceFunc) timer, widget);
g_timeout_add (200, (GSourceFunc) timer, widget);
return FALSE;
}
......@@ -52,7 +52,7 @@ int main (int argc, char **argv)
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (50, (GSourceFunc) timer, drawing_area);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
......
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.2;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -vx;
if (y + RADIUS >= HEIGHT)
vy = -vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (200, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.2;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -vx;
if (y + RADIUS <= 0)
vy = -vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (200, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.2;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -vx;
if (y - RADIUS <= 0)
vy = -vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (200, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.1;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -vx;
if (y - RADIUS <= 0)
vy = -vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (100, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.1;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -vx;
if (x - RADIUS <= 0)
vx = -vx;
if (y - RADIUS <= 0)
vy = -vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (100, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.1;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH)
vx = -0.9 * vx;
if (x - RADIUS <= 0)
vx = -0.9 * vx;
if (y - RADIUS <= 0)
vy = -0.9 * vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (100, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
#include <gtk/gtk.h>
#define WIDTH 640
#define HEIGHT 480
#define RADIUS 5
double x = 5;
double y = 95;
double vx = 50.0;
double vy = 70.0;
double dt = 0.1;
double g = 9.81;
gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
{
GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
gdk_cairo_set_source_rgba (c, &blue);
cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
cairo_fill (c);
return FALSE;
}
gboolean timer (GtkWidget *widget)
{
x += vx * dt;
y += vy * dt;
vx += 0.0 * dt;
vy += (-g) * dt;
if (x + RADIUS >= WIDTH && vx > 0)
vx = -0.9 * vx;
if (x - RADIUS <= 0 && vx < 0)
vx = -0.9 * vx;
if (y - RADIUS <= 0 && vy < 0)
vy = -0.9 * vy;
gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
g_timeout_add (100, (GSourceFunc) timer, widget);
return FALSE;
}
int main (int argc, char **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (vbox), button);
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
g_timeout_add (1000, (GSourceFunc) timer, drawing_area);
gtk_widget_show (drawing_area);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main ();
return 0;
}
No preview for this file type
......@@ -208,7 +208,7 @@
\begin{onlyenv}<3->
\begin{lstlisting}[style=terminal,gobble=10]
$ ¡gcc -Wall -O hello-gtk.c $(pkg-config --cflags --libs
gtk+-3.0 -o hello-gtk¿
gtk+-3.0) -o hello-gtk¿
\end{lstlisting}
\end{onlyenv}
\begin{onlyenv}<3>
......
cassini/home/peter/bo/2020ws/hp/20201217> cat philosophy.c
#include <stdio.h>
#include "answer.h"
int main (void)
{
printf ("The answer is %d.\n", answer ());
return 0;
}
cassini/home/peter/bo/2020ws/hp/20201217> cat answer.h
extern int answer (void);
cassini/home/peter/bo/2020ws/hp/20201217> cat answer.c
#include "answer.h"
int answer (void)
{
return 42;
}
cassini/home/peter/bo/2020ws/hp/20201217> gcc -Wall -O philosophy.c -o philosophy
/usr/bin/ld: /tmp/ccCbFdy5.o: in function `main':
philosophy.c:(.text+0x5): undefined reference to `answer'
collect2: error: ld returned 1 exit status
cassini/home/peter/bo/2020ws/hp/20201217> gcc -Wall -O answer.c -c
cassini/home/peter/bo/2020ws/hp/20201217> gcc -Wall -O philosophy.c answer.o -o philosophy
cassini/home/peter/bo/2020ws/hp/20201217> ./philosophy
The answer is 42.
cassini/home/peter/bo/2020ws/hp/20201217>
TARGET = philosophy
OBJECTS = philosophy.o answer.o
HEADERS = answer.h
CFLAGS = -Wall -O
$(TARGET): $(OBJECTS)
gcc $(OBJECTS) -o $(TARGET)
answer.o: answer.c $(HEADERS)
gcc $(CFLAGS) answer.c -c
philosophy.o: philosophy.c $(HEADERS)
gcc $(CFLAGS) philosophy.c -c
clean:
rm -f $(OBJECTS) $(TARGET)
cassini/home/peter/bo/2020ws/hp/20201217> make -f Makefile-2
make: „philosophy“ ist bereits aktuell.
cassini/home/peter/bo/2020ws/hp/20201217> make answer.o -f Makefile-2
make: „answer.o“ ist bereits aktuell.
cassini/home/peter/bo/2020ws/hp/20201217> make clean -f Makefile-2
rm -f philosophy.o answer.o philosophy
cassini/home/peter/bo/2020ws/hp/20201217> make answer.o -f Makefile-2
gcc -Wall -O answer.c -c
cassini/home/peter/bo/2020ws/hp/20201217> make -f Makefile-2
gcc -Wall -O philosophy.c -c
gcc philosophy.o answer.o -o philosophy
cassini/home/peter/bo/2020ws/hp/20201217> ./philosophy
The answer is 23.
cassini/home/peter/bo/2020ws/hp/20201217>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment