1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Calling a Function Before Program's Startup

Discussion in 'C++' started by pradeep, Mar 20, 2007.

  1. pradeep

    pradeep Team Leader

    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:
    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.
     
  2. shabbir

    shabbir Administrator Staff Member

    Instead of global variables you can have some static functions as well.
     
  3. pradeep

    pradeep Team Leader

    Yeah! that's a good idea too!
     
  4. Peter_APIIT

    Peter_APIIT New Member

    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.
     
  5. shabbir

    shabbir Administrator Staff Member

    Using the static keyword.
     
  6. Peter_APIIT

    Peter_APIIT New Member

    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.
     
  7. shabbir

    shabbir Administrator Staff Member

    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.

    What you mean by manually.
     
  8. Peter_APIIT

    Peter_APIIT New Member

    I don't get what u mean. Sorry for my stupidness.

    Thanks for oyur help.

    Your help is greatly appreciated by me and others.
     
  9. shabbir

    shabbir Administrator Staff Member

    I just wanted to know what you meant by the text in the quote?
     
  10. Peter_APIIT

    Peter_APIIT New Member

    I don't understand the text in quote.

    Thanks for oyur help.
     
  11. shabbir

    shabbir Administrator Staff Member

    See my post here where I have quoted from your this post where you have mentioned the following.

    which I could not understand what you meant and so I asked that? I hope its clear now how people interact in forums
     
  12. wrecker

    wrecker New Member

    Why not use #pragma startup. This would run the function specified to run before main.
     
  13. Peter_APIIT

    Peter_APIIT New Member

    what is #pragma startup. I know this related to header file but what is it ?
    Thanks for your explanation.

    Your help is greatly appreciated by me and others.
     

Share This Page