201 Flashcards
What are the stages of developing a piece of software? (8 steps)
- Initial planning
- Cycle of steps:
- Planning
- Design
- Implement code
- Test
- Evaluate
- Debug
- Deploy
How is software development divided?
Small time coding
Most of the time is fixing code
What is the level of computer language?
This is the amount of abstraction from the computers instruction set archetecture
What is the lowest level of computer language?
Machine code
What is machine code? is it easy to use?
Lowest level computing language
Binary
Hard to read
What is assembly language?
Symbolic notation of machine code
Uses mnemonics
Hard to program
What is a high level language? (5)
Large abstraction Natural language Some processes are automated Easier to code Compiler is used to convert to machine code
What is an assembler?
Converts between mnemonics and machine code
What is portability with regards to the level of code?
Portability is the ability for code to be ran on different computer systems.
Machine code is not portable
How can high level code be run on different computers?
Compilers convert high level code to the machine code specific for a type of computer
What is C++ with regards to C?
C++ is an extension of C code
What is the file extension for C?
.c
What is the file extension for C++?
.cpp
.cc
What is the file extension for a header?
.h
What is a compiler?
Convert high level code to the machine code specific for a type of computer.
Compilation usually has a few steps.
What are the steps of compilation?
Pre-process
Compilation
Assembly
Linking
What is the pre-process step?
This involves the source code being expanded to include all files and macros
What is the compilation step?
Expanded code is converted into assembly code made from mneumonics
What is the assembly step?
The assembly code is converted into binary machine code
What is the linking step?
This is combining the object code with any library code to make an executable file
What simplest command used to compile a C file?
g++ -0 HelloWorld.exe main.cpp
What is the command to execute code?
./HelloWorld.exe
What is the use of flags during compilation?
They are able to edit or stop the compilation at a certain step?
What does the -0 flag do?
This names executable the file to the name specified rather than naming it with a letter.
g++ -0 HelloWorld.exe main.cpp
What does the -E flag do?
This stops the compilation after pre-processing
What does the -S flag do?
This stops the compilation after the compilation process
What does the -c flag do?
This stops the compilation after the assembly process.
This creates an object file (.o extension)
What does the -o flag do?
This allows the object code to be linked in the final step:
g++ -o HelloWorld.exe main.o
What does the -Wall flag do?
Outputs any warnings from the code.
What does the -O flag do?
This optimises the code automatically. The level of optimisation can be set with:
- O1
- O2
- O3
What is Mbed?
This is a platform to develop embedded applications. It is cloud based