EE 312 Final
Terms
undefined, object
copy deck
- linker
- combines object code produced by the compiler with any additional code needed to yield a complete executable program
- storage classes
- auto, static, extern, or register
- macro
- name that represents something else, typically a constant of some kind
- &
- address operator
- ::
- scope resolution operator
- sequential cohesion
- output from one function is same as input to the next
- Critical design review
- present technical design to other developers
- friend modifier
- function in a class that doesn't have to be defined in the class
- Mutual suspicion policy
- each component assumes other component has faults
- coincidental cohesion
- components parts unrelated
- activation record/stack frame
- Stores the current environment for that function
- failure
- department of system from required behavior
- heap
- storage pool that contains blocks of memory for malloc and callo
- scope of effect
- set of components actually evoked by one another
- dangling pointers
- free() is used on element with more than one pointer - uninitializes both pointers
- none linkage
- the variable belongs to a single function and can't be shared at all
- temporal cohesion
- performs several functions in sequence related by timing
- preprocessor
- edits C programs just prior to compilation
- const
- protects the element from changing (can change pointers to the element though)
- type specifiers
- int, float, etc.
- Egoless
- comments and criticism related to product, not people
- #elif
- else if for preprocessor macros
- Diagnostic Transactions
- second system monitoring or running diagnostics on first
- logical cohesion
- logically related functions/variables in the same component
- communicational cohesion
- functions operate or produce the same data set
- linkage
- determines whether the variable can be shared by more than one file in the same program
- ends at new line character unless continued with/; can be anywhere in the program; comments can be on the same line
- preprocessor rules
- cyphertext
- original message
- fan-out
- number of components controlled by a particular component
- #
- converts parameterized macro operator into a string literal
- *
- indirection operator
- static storage
- The variable has a permanent storage location, hence it retains its value throughout the execution of the program
- dynamic storage allocation
- storage that is assigned to the program at runtime (malloc calloc)
- malloc(n * sizeof(datatype))
- allocates memory
- cohesion
- the degree of interrelatedness of internal parts
- directives
- commands that begin with # - preprocessor executes these
- automatic stoarage
- Storage for the variable is allocated when the surrounding block is executed; storage is deallocated when the block terminates, causing the variable to lose its value.
- fan-in
- number of components controlling a particular component
- content coupling
- one component directly modifies control or data flow of another
- block scope
- The variable is visible from its point of declaration to the end of the enclosing block.
- volatile
- the value stored in such a location can change without the program
- fault
- error internal to software product
- realloc(*ptr, newsize)
- resizes memory (malloc or calloc must be called first)
- external linkage
- the variable may be shared by many files
- N-version programming
- Compare results of multiple processes performing same function but designed separately
- control coupling
- control flags passed as parameters between components
- #define
- creates macro
- Program design review
- feedback to programmers before implementation
- Preliminary design review
- examine conceptual design with consumers/users
- procedural cohesion
- perfroms several functions in a certain order
- file scope
- The variable is visible from its point of declaration to the end of the closing file
- type qualifiers
- const or volatile
-
#include
- needed to use malloc or calloc
- data coupling
- only primitive data passed
- calloc(n, sizeof(datatype))
- allocates and clears memory (sets bits to 0)
- high fan-in, low fan-out
- fan goal
- register storage
- variable is stored in RAM instead of main memory
- functional cohesion
- every element necessary for funtion all contained in the function
- common coupling
- organizing data into a mutual store
- stamp coupling
- data structures passed
- free()
- frees memory back into the heap
- scope of control
- set of components supposed to be evoked by one another
- ciphertext
- encoded message
- internal linkage
- the variable is restricted by a single file