Calling a Function Before Program's Startup

pradeep's Avatar author of Calling a Function Before Program's Startup
This is an article on Calling a Function Before Program's Startup in C++.
Certain applications need to invoke startup functions that run before the main program starts. For example, polling, billing, and logger functions must be invoked before the actual program begins. The easiest way to achieve this is by calling these functions from a constructor of a global object. Because global objects are conceptually constructed before the program's outset, these functions will run before main() starts.
For example:

Code: CPP
class Logger
 {
 public:
 Logger()
 {
 activate_log();
 }
 };
 Logger log; /*global instance*/
 int main()
 {
 record * prec=read_log();
 //.. application code
 }

The global object log is constructed before main() starts. During its construction, log invokes the function activate_log(). Thus, when main() starts, it can read data from the log file.
Go4Expert Founder
20Mar2007,17:53   #2
shabbir's Avatar
Instead of global variables you can have some static functions as well.
Team Leader
20Mar2007,17:59   #3
pradeep's Avatar
Yeah! that's a good idea too!
Contributor
13Apr2007,08:22   #4
Peter_APIIT's Avatar
How do implement a static function. Is it by static function name. I don't understand the concept of static.

Thanks for your help.

Your help is greatly appreciated by me and others.
Go4Expert Founder
13Apr2007,11:16   #5
shabbir's Avatar
Using the static keyword.
Contributor
13Apr2007,14:26   #6
Peter_APIIT's Avatar
I not fully understand the concept of static. The static variable is exist even though the function has exit.

The static function pnly can call locally. I don't know this is correct concept. Please correct me if i misunderstand the concept.

Thanks ofr oyur help.


Your help is greatly appreciated by me and others.
Go4Expert Founder
13Apr2007,14:40   #7
shabbir's Avatar
Quote:
Originally Posted by Peter_APIIT
I not fully understand the concept of static. The static variable is exist even though the function has exit.
The concept is static variables are defined in some global space and the scope of the variable is same as the function but the existence of the variable is beyond the execution of the function.

Quote:
Originally Posted by Peter_APIIT
The static function pnly can call locally. I don't know this is correct concept. Please correct me if i misunderstand the concept.
What you mean by manually.
Contributor
14Apr2007,11:49   #8
Peter_APIIT's Avatar
Quote:
What you mean by manually.
I don't get what u mean. Sorry for my stupidness.

Thanks for oyur help.

Your help is greatly appreciated by me and others.
Go4Expert Founder
14Apr2007,11:53   #9
shabbir's Avatar
I just wanted to know what you meant by the text in the quote?
Contributor
14Apr2007,14:01   #10
Peter_APIIT's Avatar
I don't understand the text in quote.

Thanks for oyur help.