What are standard input, standard output and standard error in
the context of POSIX programming?
Hints:
apropos standard | grep streams;
man stdin;
Wikipedia: standard streams.
What is EOF in the context of scanf?
Hints:
man scanf and search for EOF;
wikipedia "end of file".
Where to does the function printf write?
Where from does the function scanf read?
How do you redirect the standard output of a program to a file?
How do you send the content of a file into a program's standard input?
How do you connect the standard output of a program to the standard input of another program?
Hint: GNU make manual:
automatic variables,
implicit variables,
implicit rules.
Suppose your main function,
contained in the file main.c, calls the functions
foo and
bar
which are contained correspondingly in the files
foo.c and
bar.c.
Which of the following makefiles will correctly compile and link your
program into the executable file main after the command
make?
main: main.o foo.o bar.o
main: foo.o main.o bar.o
main: foo.o main.o bar.o cc foo.o main.o bar.o -o main
main: main.o foo.o bar.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
main: main.o foo.o bar.o main.o: main.c foo.o: foo.c cc -c $^ -o $@ bar.o: bar.c
main: main.o foo.o bar.o cc main.o foo.o bar.o -lm -o main main.o: main.c cc -c main.c foo.o: foo.c cc -c foo.c bar.o: bar.c cc -c bar.c
obj = main.o foo.o bar.o main: $(obj)
#define PI 3.1415927what is the effect of it?