winmain.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: winmain.cpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/28 19:39:52  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: winmain.cpp,v 1000.0 2003/10/28 19:39:52 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Authors:  Mike DiCuccio
  35.  *
  36.  * File Description:
  37.  *    WinMain() - necessary to launch a Win32 app in as a non-console app
  38.  */
  39. //
  40. // WinMain provided here for Windows compatibility
  41. // This allows us to run our application without a console
  42. //
  43. #include <windows.h>
  44. #include <stdio.h>
  45. #include <stdlib.h>
  46. #ifdef _DEBUG
  47. #  include <crtdbg.h>
  48. #endif
  49. extern int main(int, char**);
  50. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  51.                    LPSTR lpCmdLine, int nCmdShow)
  52. {
  53. #ifdef _DEBUG
  54.     // standard memory leak reporting infrastructure
  55.     _CrtMemState start_state;
  56.     _CrtMemState stop_state;
  57.     _CrtMemCheckpoint(&start_state);
  58. #ifndef _DEBUG_NO_CONSOLE
  59.     //
  60.     // In debug mode, a console will be created to display stdout/stderr
  61.     //
  62.     AllocConsole();
  63.     freopen("conin$",  "r", stdin);
  64.     freopen("conout$", "w", stdout);
  65.     freopen("conout$", "w", stderr);
  66.     // call the app-supplied main()
  67.     int ret_val = main(__argc, __argv);
  68.     // close our console
  69.     fclose(stdin);
  70.     fclose(stdout);
  71.     fclose(stderr);
  72. #else
  73.     // call the app-supplied main()
  74.     int ret_val = main(__argc, __argv);
  75. #endif
  76.     // finalize our leak tracking
  77.     _CrtMemCheckpoint(&stop_state);
  78.     _CrtMemState diff_state;
  79.     if (_CrtMemDifference(&diff_state, &start_state, &stop_state)) {
  80.         _CrtMemDumpStatistics(&diff_state);
  81.         _CrtMemDumpAllObjectsSince(&diff_state);
  82.     }
  83.     return ret_val;
  84. #else
  85.     return main(__argc, __argv);
  86. #endif
  87. }
  88. /*
  89.  * ===========================================================================
  90.  * $Log: winmain.cpp,v $
  91.  * Revision 1000.0  2003/10/28 19:39:52  gouriano
  92.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  93.  *
  94.  * Revision 1.2  2003/08/25 14:18:01  dicuccio
  95.  * Added nested #ifdef to remove the default console in _DEBUG mode if
  96.  * _DEBUG_NO_CONSOLE is #defined
  97.  *
  98.  * Revision 1.1  2003/08/21 12:34:06  dicuccio
  99.  * Added additional gui projects
  100.  *
  101.  * Revision 1.2  2003/04/24 13:39:53  dicuccio
  102.  * COnditionally include <crtdbg.h> if _DEBUG is defined
  103.  *
  104.  * Revision 1.1  2003/01/09 21:01:30  dicuccio
  105.  * Moved WinMain into its own .cpp file.  Added winmain.cpp to build
  106.  *
  107.  * ===========================================================================
  108.  */