labs-edaf30/lab1/reflektion.txt
2024-11-12 12:53:50 +01:00

49 lines
No EOL
1.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1. What is the difference between a declaration and a definition?
A declaration tells the compiler about the existence of a variable or function,
while a definition allocates storage or provides the function code.
2. How does an include guard prevent multiple definitions?
An include guard (using #ifndef, #define, #endif)
prevents a header file from being included multiple times, which avoids redefinitions.
3. How can you tell if an error comes from the compiler or the linker? Does a linker error
mean that you have an error in your source code? How do you (typically) fix a linker error?
Compiler errors are syntax or semantic issues in code, while linker errors occur when symbols
are missing or duplicated across files. A linker error often means a missing definition or library; its fixed by ensuring all functions and variables are correctly defined and linked.
4. Do you have to make any changes to MakefileWithDeps to build your hello world program?
You may need to adjust MakefileWithDeps
if dependencies or file paths change for your hello world program.
5. In encode and decode, the type unsigned char is used. Would your code work the same
way if that type is changed to char or signed char?
Changing unsigned char to char or signed char
may alter the behavior due to differences in handling negative values.
6. In the coding problem, reading the file with char ch; while (infile >> ch) ... doesnt
work. Why?
infile >> ch reads formatted input, skipping whitespace;
using infile.get(ch) reads every character, including whitespace.
7. If your program crashes, how can you use the debugger to get a stack trace similar to that
of Exception.printStackTrace() in Java?
lldb ./progrma -> run -> bt
8. What is the difference between a debugger breakpoint and a watchpoint?
A breakpoint pauses execution at a specific line,
while a watchpoint stops execution when a specific variable changes.