Tags:
create new tag
view all tags

Compilation tools: Editor, Compiler, Linker, Debugger, Make

Exercise 1: check the student exercises

Go through all the student exercises and check they work as expected. Is anything missing?

Write the Makefiles for yesterday's newCodeExamples. Write them in such a way that you can edit,compile,run all from within emacs.

There is a folder wrong in the newCodeExamples with a wrong attempt to calculate the Fibonacci series. Try to figure out what is wrong using debug print statements, which you can switch on and off with the #define DEBUG macro.

Then try to debug the program with gdb.

Exercise 2: eclipse

Try to create the newCodeExamples within eclipse and compile and run them with eclipse. The CDT perspective must be installed to do this. Try the debugger from within eclipse. I had a problem with the standard installation of gdb and eclipse. What would you do to try and solve this problem. This one is already quite a bit more elaborate but it shows typical problems that come up when preparing such a course. You will have to be able to solve such type of problems by yourself, even if it takes a lot of time. Searching for a solution will teach you plenty of things that you would have never expected.

In a typical project progress is never steady. Usually you advance very fast at the beginning but there is a moment where you get blocked because something does not turn out to be the way you expected it to be. Sometimes your project does not advance for weeks, which can be very frustrating. However, these are the moments when you learn most because you learn how to NOT do things and through your searching you learn plenty of things completely uncorrelated with the problem you are trying to solve, but which can be very useful for a future problem, who do not even know about yet.

-- Uli Raich - 2017-09-11

Comments

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2017-09-20 - uli
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback