======cprog Journals======
====Jan 30th, 2013====
GCC- GNU compiler collection
When you invoke GCC, it preprocesses, compilation, assembly, and linking.
Option - A thing that is or may be chosen
Tokens
1. options - changes behavior of command
2. parameters - data to be processed
unix - short options ( single characters )
microsoft - long options ( multiple characters )
prepocess - directives
a computer program that modifies data to conform with the input requirements of another program
compile -
collect information in order to produce something
assemble -
gather together in one place for a common purpose
link -
a relationship between two things or situations, esp. where one thing affects the other
LAB
gcc -o numbers numbers.c
% takes you back to the second fprintrf
%X subs a hexidecimal address in (hex value)
%hhu unsigned half of a half int value
%hu unsigned half int value
%u unsigned value
d is for signed values
8 bit - 1 byte : char
4 bytes : int
& - address of
%lu - subs in unsigned long int
%llu - subs in unsigned long long int
====Feb 1st, 2013====
Variable -
name
value
datatype
freestanding environment -
the name and type of the function called at program startup are implementation - defined.
hosted environment -
need not to be provided, but shall conform to the following specifications if present.
int main -
the function called at program startup is named main. The implementaion declares no prototype for this function.
It shall be defined with a return type of int and with no parameters:
int main( void ) {/*...*/}
or with two parameters (referred to here as argc and argv) though any names may be used, as they are local to
the function in which they are dreclared
int main( int argc, char * argv[ ] )
{/*...*/}
or equivalent;) or in some other implementation-defined manner.
====Feb 6th, 2013====
Character data Script
* a is 65 but can be mapped to 'A' in ASCII
* b is 97 but can be mapped to 'a' in ASCII
* c is 49 but can be mapped to '1' in ASCII
Pointer fun 1
* a contains 'a'
* a's address is 0xFBD05F0F
* b dereferenced contains 'a'
* b contains 0xFBD05F0F
* b's address is 0xFBD05F00
Pointer fun 2
* *a is 0
* If we uncomment that fprintf() line, what will be displayed? You receive nothing
My own script to play with, "Howdy"
#include
int main()
{
printf("Howdy Lovely Lady!\n");
return(0);
}
* without you will recieve an error : #include expects "FILENAME" or
====Feb 11th, 2013====
Compilation - preprocessing
compilation proper
assembler
linking
enivronment - translation
run execution
output - display - printf( )
files - fprintf( )
environment - return
- exit( ) from main
intput - keyboard - scanf( ) getc( )/ gets( )
file -fscanf( ), fgetc( )/fgets( )
environment - argc, argv
gcc hello.c -o hello (CMD)
gcc -o numbers numbers.c (unix)
====Feb 13th, 2013====
C programs - functions and declarations
cls - clears screen
cd - change dir
cd...- leave dir
cmd - info for cmd
nargs - number of arguments
nchars - number of characters
warning - somethign might not be right
error - something is not right
errors
1. runtime
2. syntax
3.
memory
1. data
2. address
-Wall - display all Warnings
====Feb 15th, 2013====
C declaration - "something is"
1. datatype
- what kind of thing it is
- how much memory does it fit in
2. identifier
= assignment operator
== equivalence operator
pointerarrays.c -> pointerarrays
man 3 printf
----> #include
man 3 malloc
----> #include
api - application programming interface
malloc
- allocate raw space
- allocates a block of size bytes of memory, returning a pointer to the beginning of the block
function prototype - is a declaration of a function that omits the function body does specify the function's return type, name, arty, and argument types
====Feb 20th, 2013====
argc --> argument count
%s --> string
( char * argv[ ] )
* - ( address/ pointer) reference. an address of where a string of characters are
char - built in data type
[ ] - array
( * argv[0] )
* - using the variable, the value at that address, dereferencing it
====March 1st, 2013====
Sequence
Selection
Loops
1. for
2. if
3. while
4. do
Selections Statement
1. if - result true or false
2. switch
default - anything that is left
GDB
1. list (displays scripts)
2. enter (displays more of that script)
3. list 1 (displays beginning of the script)
4. break _______ (sets break at desired location )
5. run
6. step - s
7. next - n
8. print
9. print sum
10. set
11. display
12. display sum
13. Q to quit
14. b t - back trace - shows commands that have been done
====March 4th, 2013====
Project 3
1. multiplier
2. expontentiator
printf ______ x ______ = _______
mutliplicand = ____;
multiplier = _____;
product = 0
{
for( prod = 1; prod < = multiplier; prod * * )
addend1 = product;
addend2 = multiplcand;
sum = addend1
for( cnt = 1; cnt2 = addend2; cnt * * )
sum = sum + 1;
product = sum
}
====March 6th, 2013====
Conditional
Variables
Functions
Operators
Declarations
CLI
Compiling
Types
Loops
Selection
Pointers
increment
add
multiplying
exponent
function
return type
name
parameters
input
process
output
====March 8th, 2013====
Functions
1. name
2. title
3. input
4. output
5. defining - main( )
6. calling
a. printf
b. scanf
c. malloc
d. rand/ srand
Resources (from O.S. perspective)
1. memory
2. processes
3. power
4. i/o
5. file
6. scheduling
recursion - function recalling itself over and over again
functions
pointers
function pointers
script mar8_2.c
#include
void increment( int * );
void decrement( int * );
void ( * operation ) ( int * );
int main ( )
{
int b = 37;
operation=&increment;
printf( "before: %u\n", b );
operation( &b );
printf( "after: %u\n", b );
return( 0 );
}
void increment( int * num )
====March 11th, 2013====
Memory
1. addresses
2. data
string
1. ordered collection of symbols
functions
1. declare - once
a. name
b. input type
c. return type
2. define - once
3. use (call) - many times
retType funName( in1Type, in2Type,....);
retType funName( in1Type, in1Name, in2Type, in2Name,....)
{
=funName( argName......
or
argValue
====March 13th, 2013====
__VBS to C Script__
this = "i"
that = "o"
Function nott( bier )
if bier = this then nott = that else nott = this
end Function
ret = msgbox( nott( this ))
char this = 'i';
char that = 'o';
char nott( char bier )
{
if( bier = = this ) nott = that;
else nott = this;
}
int ret = printf( "9c", nott( this ));
The fopen( ) function opens the file whose name is the string pointed to by __path__ and associates a stream with it
====March 15th, 2013====
A __struct__ in C programming language is a structured (record) type that aggregates a fixed set of labelled objects, possibly of different types, into a single object.
#include
//#include
int main()
{
int i;
char entry[80], entries = 4, junk;
struct person {
char name[80];
int age;
float height;
};
do {
printf("How many people in your database? ");
scanf("%d", &entries);
} while (entries <= 0);
struct person people[entries];
for(i=0; i
====March 20th, 2013====
First up: The Math Library
Then: The GD Library
====March 22nd, 2013====
__Tokens__
1) identifiers
2) keywords
3) constants
a) integer
b) character
c) floating
d) enumeration
4) string literals
5) operations
__Expressions__
1) pointer generation
2) primary expressions
3) postfix expressions
4) unary operators
5) casts
6) multiplicative operators
7) additive
.
.
.
Shapes fun: Circle of Squares
#include
#include
#include
#define PI 3.1415926535897
int main( )
{
FILE *out;
char outfile[] = "image.png";
gdImagePtr img;
unsigned int current;
unsigned short int wide, high;
int degree, x, y, r = 0, red = 0, green = 0, blue = 0;
float radian;
wide = 800;
high = 800;
img = gdImageCreateTrueColor(wide, high);
current = gdImageColorAllocate(img, 0x00, 0x00, 0x00);
gdImageFilledRectangle(img, 0, 0, wide, high, current);
r = 20;
green = 0xFF;
for(degree = 0; degree < 1080; degree+=8)
{
radian = degree * (PI / 180);
x = (wide / 2) + r * sin(radian);
y = (high / 2) + r * cos(radian);
current = gdImageColorAllocate(img, 0, green, blue);
gdImageFilledRectangle(img, x, y, x+30, y+30, current);
r = r+4;
blue = blue+4;
}
r = 20;
green = 0xFF;
for(degree = 90; degree < 1080; degree+=8)
{
radian = degree * (PI / 180);
x = (wide / 2) + r * sin(radian);
y = (high / 2) + r * cos(radian);
current = gdImageColorAllocate(img, red, 0, blue);
gdImageFilledRectangle(img, x, y, x+30, y+30, current);
r = r+4;
blue = blue+4;
}
r = 20;
green = 0xFF;
for(degree = 180; degree < 1080; degree+=8)
{
radian = degree * (PI / 180);
x = (wide / 2) + r * sin(radian);
y = (high / 2) + r * cos(radian);
current = gdImageColorAllocate(img, red, green, 0 );
gdImageFilledRectangle(img, x, y, x+30, y+30, current);
r = r+4;
blue = blue+4;
}
====March 25th, 2013====
Polygons: Make a triangle
#include
#include
#include
#include
#define BLACK 0
#define GRAY 1
#define VIOLET 2
#define INDIGO 3
#define BLUE 4
#define GREEN 5
#define YELLOW 6
#define ORANGE 7
#define RED 8
#define WHITE 9
#define DARKGREEN 10
int main( int argc, char **argv )
{
FILE *out;
char *outfile;
gdImagePtr img;
gdPoint points[5];
unsigned int color[11];
unsigned short int wide, high, x, y;
if( argc ==2)
{
outfile = *( argv+1);
}
else
{
outfile = ( char * ) malloc (sizeof( char ) * 10);
strcpy( outfile, "image.png" );
}
fprintf( stdout, "Using '%s' as output filename\n", outfile );
wide = 800;
high = 600;
img = gdImageCreateTrueColor( wide, high );
color[ BLACK ] = gdImageColorAllocate( img, 0, 0, 0 );
color[ BLUE ] = gdImageColorAllocate( img, 0, 0, 255 );
color[ GREEN ] = gdImageColorAllocate( img, 0, 255, 0 );
color[ DARKGREEN] = gdImageColorAllocate( img, 51, 107, 0 );
color[ RED ] = gdImageColorAllocate( img, 255, 0, 0 );
color[ GRAY ] = gdImageColorAllocate( img, 204, 204, 204 );
color[ WHITE] = gdImageColorAllocate( img, 255, 255, 255 );
points[ 0x00 ].x = (high / 2);
points[ 0x00 ].y = 0,
points[ 0x01 ].x = (wide / 2);
points[ 0x01 ].y = (high / 2);
points[ 0x02 ].x = 0;
points[ 0x02 ].y = (wide / 2);
points[ 0x03 ].x = (high / 2);
points[ 0x03 ].y = 0;
points[ 0x04 ].x = (wide / 2);
points[ 0x04 ].y = (high / 2);
gdImageFilledPolygon( img, points, 5, color[ BLUE ]);
gdImagePolygon( img, points, 5, color[ GREEN ]);
out = fopen( outfile, "wb");
gdImagePngEx( img, out, -1);
fclose( out );
gdImageDestroy( img );
return( 0 );
}
====March 29th, 2013====
Some times the brain is overloaded from learning so much
{{:opus:spring2013:cgaines:580979_553108148056407_289016305_n.jpg?300|}}
====April 8th, 2013====
logic library translation
CSCS1240 -> CSCS1320 translation
not
and
or
Xor
halfsum
halfcarry
fullsum
fullcarry
add Biray string to Array
Array to string
latch
String to Array Function
1. names String2Array
2. input string --> 1. char array
2. char
' \o ' terminator
3. output array
Process - memory associated with a running program
Stack - local storage
Heap - global storage
Program Startup - if cmd line arg --> then open that file else create empty buffer
- display buffer
- display address offsets (0-F)
- display base address, 16 bytes of data in hex, same 16 bytes in ASCII
- input cmd
====April 10th, 2013====
Classes - A class is an expanded concept of a data structure: instead of holding only data, it can hold both data and functions.
__Access Control__
- Protected
- Public
- Private
Inheritence - classes which are derived from other classes, so that they automatically include some of its "parent's" members
class daughter: protected mother;
__Shape (generic) -----> rectangle -----> square__
====April 12th, 2013====
FILE *fPtr;
int i x;
fPtr = fopen( "/etc/motd", "r" );
if( fPtr = = NULL )
{
fprintf( stdr, "Error opening file\n");
exit( 1 );
}
for( i = 0; i < 16; i++ )
{
fprintf( stdout, "%.2X ", fgetc(fPtr));
}
fprintf(stdout, "\n");
fclose( fPtr );
return (0);
====April 17th, 2013====
CLI Hex Editer
__Polymorphism__ - is the ability to use a function name that appears in different classes (related by inheritance), without knowing exactly the class the function belongs to at compile time.
int main( ){
char a [ ] [ ];
a = intBuffer( );
printf( "%c", a [3][6]);
displayBuffer (a);
openFile( a, "hexEdit.c");
displayBuffer(a);
readFile( 256, a, "hexEdit.c");
displayBuffer(a);
}
====April 22nd, 2013====
#include
int main( int a; char * * b)
{
c = 1;
d = 1;
e = c&&d;
printf( "%d", e);
return( 0 );
}
gcc logic.c -o logic - Wall
__CMD__
E Edit
S Save
Q Quit
O Open
N Next
P Previous
C Clear (New)
====April 26th, 2013====
int * a;
float * b;
char * c;
int * a = 3;
a = 3;
int a;
a = 3;
a = (int)3;
int d( );
int *d( );
char *e( );
pointers are all the same size
char * s;
s = (char*) malloc(5);
* s++ = 'd';
print( "%d", a);
char a;
a = 3;
printf( "%d", a);
====May 1st, 2013====
O.O.P.
PIE
Polymorphism
Inheritance
Encapsulation
funcp.c
gcc funcp.c -o funcp
#include
#include
int inc( int a ) {
return a + 1;
}
int dec( int a ) {
return a - 1;
}
int main( int args, char * argv[ ] ){
int (*count) (int);
count = &inc;
int i, n = 0;
for( i = 0; i < 10; i++ ) {
if( i > 5 ) count = &dec;
n = (*count) ( n );
printf( "%d\n", n );
}
return 0;
}
gcc funcp.c -o funcp
funcp.exe
====May 3rd, 2013====
LAST DAY OF CLASS "DUN DUN DUN" crunch time, "With the power of greyskull!"
{{ :opus:spring2013:cgaines:greyskull.jpg?300 |}}
======hpc0 Journals======
====FEB 8, 2013====
Working on and editing VM Server, Squeeze Install.
IP address, 10.80.3.11
Router giving a bit of connecting to the network, or staying connected to the network a bit of an issue.
====FEB 11, 2013====
This is a sample format for a dated entry. Please substitute the actual date for "Month Day, Year", and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
* What action or concept of significance, as related to the course, did you experience on this date?
* Why was this significant?
* What concepts are you dealing with that may not make perfect sense?
* What challenges are you facing with respect to the course?
====Feb 11, 2013====
Finished up Part 2 of the VM Server - Squeeze Install, restarted computer with no errors. Finishing up project page, and filling in OPUS.
====Over all====
My brain
{{:opus:spring2013:cgaines:260037_10151093094257670_703779870_n.jpg?300|}}
======sysprog Journals======
====JAN 25th, 2013====
Lazy Foo Lesson 1 and 2
Reading through Lessons 1 (download SDL) and 2 (IDE Compiler).
====Jan 30rd, 2013====
Reading throw Lazy foo lessons 3 and 4 today. Still trying to understand most of the information, I will learn and understand this.
====Feb 1st, 2013====
Reading through and still trying to understand lessons 5 and 6.... Brain is being challenged which is a very good thing.
====Feb 6th, 2013====
Reading through lessons 7 and 8, going to have to go back through the first couple to try to reunderstand everything and take more notes and pull out my books.
====Feb 8th, 2013====
This is a sample format for a dated entry. Please substitute the actual date for "Month Day, Year", and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
* What action or concept of significance, as related to the course, did you experience on this date?
* Why was this significant?
* What concepts are you dealing with that may not make perfect sense?
* What challenges are you facing with respect to the course?
====Feb 13, 2013====
This is a sample format for a dated entry. Please substitute the actual date for "Month Day, Year", and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
* What action or concept of significance, as related to the course, did you experience on this date?
* Why was this significant?
* What concepts are you dealing with that may not make perfect sense?
* What challenges are you facing with respect to the course?
====Feb 15th, 2013====
Going over past lessons, trying to make things work. Reading up on background information to try to understand what I am actually dealing, at a bit of a disadvantage not knowing much about games, trying to brush up on old knowledge that has been hiding in the closet.
====Over all====
This is what a rough idea of what happened to me trying to study
{{:opus:spring2013:cgaines:374112_10151155444202670_1929548282_n.jpg?300|}}