Skip to main content

Posts

Showing posts from 2011

To halt background using Jdialog

To make background screen or main canvas inactive or non-clickable,
add the property of modality to dialog box.
Set the feature using jdialog.setmodal(true).

Now, the screen will halt at the point when this line is encountered. So, will ask for input from user.
Exploiting the feature of madal dialog box, previous screen can be hold on.

No output in codeblocks

If you are able to build your cpp/c file but not able to run using codeblocks, then your system lacks the presence of MinGW. Download MinGW from sourceforge.net and after a restart you'll be able to run your c/cpp program.

Singleton Class

Using Singleton class, we allow creation of asingle object only for a given class.
How to create it??

- Make constructor private
- Create a reference of class and make it static
- Call the constructor through a function which is public and static
- put condition inside this function to call the constructor only once by checking if the reference had been initialized or not.

Note: If we have two threads accessing the same code then it's possible that we get two objects in two different threads which are competing to get that object. So we can synchronize the code snippet inside the function for assuring the creation of a single object only.

Memory Leak

Memory Pools are just a section of memory reserved for allocating temporarily to other parts of the application. So, memory leak occurs when you allocate some memory from the heap(or a pool) and then delete all references to that memory without returning it to the pool it was allocated from.

Basically, we are left with less memory to allocate because we have not freed the memory and keep on allocating it.

Structure padding

Structure Padding

Most processors require specific memory alignment on variables certain types. Normally the minimum alignment is the size of the basic type in question, fo instance this is common

char variables can be byte aligned and appear at any byte boundary

short (2 byte) variables must be 2 byte aligned, they can appear at any even byte boundary. This means that 0x10004567 is not a valid location for a short variable but 0x10004566 is.

long (4 byte) variables must be 4 byte aligned, they can only appear at byte boundarys that are a multiple of 4 bytes. This means that 0x10004566 is not a valid location for a long variable but 0x10004568 is.

Structure padding occurs because the members of the structure must appear at the correect byte boundary, to achieve this the compiler puts in padding bytes (or bits if bit fields are in use) so that the structure members appear in the correct location.

e.g.

struct ex{
int i; //assuming int to take 2 bytes
char c;
int j;
};

Here, size of struct will be 6…

Scala Programming Beginner : Error

How to start with scala?

Don't forget to install java in your system first.

1) Download Scala from sourceforge.net
2) Extract binaries
3) set path in environment variable for scala ->
Add path of scala/bin in 'path' variable list.
4) Add new variable Scala_Home and value as path of scala directory.
5) Test in cmd by writing 'scalac'.

Note: if it gives error java.exe was unexpected at this time, then remove Java_Home variable from your environment variables, then again check with 'scalac'.