CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

讨论一下dialog base 的static release 的问题

楼主bjxiaoye(悲伤的鱼)2004-08-04 20:50:27 在 VC/MFC / 基础类 提问

使用MFC的静态release一个对话框应用程序,用向导生成就188K,怎么能让它变小呢,大家讨论一下。 问题点数:100、回复次数:3Top

1 楼anothervip(Never ending... ...)回复于 2004-08-04 22:12:07 得分 25

动态联接到MFC;  
  把资源放到单独的dll中;  
  sdkTop

2 楼kvw3000(回家念经)回复于 2004-08-04 22:14:28 得分 25

使用sdkTop

3 楼BLsoft(網龍ζ龍活)(Cyber-Security of [MVP])回复于 2004-08-04 23:28:04 得分 50

能不用MFC就不能.可以用WIN32   或  
  #include   <Windows.h>    
   
  //使用了下面的预处理,编译连接时必须是   Release   方式,否则不能通过    
   
   
  //自定义程序入口,如果要优化,推荐使用这个    
  //如果使用   VS.NET,也可以这样设置:在“解决方案管理器”里选定项目,右击,选择“属性”->“链接器”->“高级”->“入口点”    
  //VC   6里面也有类似的设置,但具体不记得了    
  //项目属性的其它设置可以仔细看看,其它优化也都在这里可以设置    
  #pragma   comment(linker,   "/ENTRY:EntryPoint")    
   
   
  //下面是调整段对齐,默认是   4K,在   Win98   下能更快地装入   PE   文件,但会增加   PE   文件的大小    
  //下面这一行在这里好像会说是“无效的指令”什么的,故在这里也注释掉了,也许是段太小的原因吧。    
  //直接在工程选项里面设置:项目“属性”->“链接器”->“优化”->“Windows98   优化”->“否   (/OPT:NOWIN98)”    
  //#pragma   comment(linker,   "/OPT:NOWIN98")    
   
   
  //下面的优化是段合并,不推荐使用,在很多程序里也许也许不能使用    
  #pragma   comment(linker,   "/SECTION:MiniPE,")                           //创建自定义的   MiniPE   Section    
  #pragma   comment(linker,   "/MERGE:.data=MiniPE")     //合并.data   Section   到   MiniPE   Section    
  #pragma   comment(linker,   "/MERGE:.text=MiniPE")     //合并.text   Section   到   MiniPE   Section    
  #pragma   comment(linker,   "/MERGE:.rdata=MiniPE")   //合并.rdata   Section   到   MiniPE   Section    
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
   
   
   
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
  //全局变量    
  HWND                                                                         g_hWnd;                   //主窗口句柄,一般程序中经常用到此变量,故使用全局变量    
  HINSTANCE                                                               g_hInst;                 //应用程序进程句柄,一般程序中经常用到此变量,故使用全局变量    
   
  const   char                                                             c_szAppName[]   =   "MiniPE";    
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
   
   
   
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
  //函数声明    
  LRESULT   CALLBACK   WindowProc(HWND   hWnd,   UINT   uMsg,   WPARAM   wParam,   LPARAM   lParam);    
  int   WINAPI   WinMain(HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   LPSTR   lpCmdLine,   int   iCmdShow);    
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
   
   
   
   
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
  //入口函数    
  //使用我们自己的入口函数,而不用连接器默认提供的一大堆程序初始化操作的代码    
  //为了在一个普通的   Win32SDK   程序里能使用这种方法,下面的函数将调用   WinMain()   函数,并给出相应的参数    
  void   EntryPoint()    
  {    
                ExitProcess(WinMain(GetModuleHandle(NULL),   NULL,   GetCommandLine(),   SW_SHOWNORMAL));    
  }    
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
   
   
   
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
  //主函数    
  int   WINAPI   WinMain(HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   LPSTR   lpCmdLine,   int   iCmdShow)    
  {    
                MSG                                                                                           sMsg;    
                WNDCLASSEX                                                             sWndClassEx;    
   
   
                g_hInst   =   hInstance;    
   
                sWndClassEx.cbSize   =   sizeof(WNDCLASSEX);    
                sWndClassEx.style   =   CS_VREDRAW   |   CS_HREDRAW;    
                sWndClassEx.lpfnWndProc   =   (WNDPROC)   WindowProc;    
                sWndClassEx.cbClsExtra   =   0;    
                sWndClassEx.cbWndExtra   =   0;    
                sWndClassEx.hInstance   =   g_hInst;    
                sWndClassEx.hIcon   =   LoadIcon(NULL,   IDI_APPLICATION);    
                sWndClassEx.hCursor   =   LoadCursor(NULL,   IDC_ARROW);    
                sWndClassEx.hbrBackground   =   (HBRUSH)   (COLOR_WINDOW);    
                sWndClassEx.lpszMenuName   =   NULL;    
                sWndClassEx.lpszClassName   =   c_szAppName;    
                sWndClassEx.hIconSm   =   NULL;    
                RegisterClassEx(&sWndClassEx);    
   
                g_hWnd   =   CreateWindowEx(0,   c_szAppName,   c_szAppName,   WS_OVERLAPPEDWINDOW,    
                                CW_USEDEFAULT,   CW_USEDEFAULT,   CW_USEDEFAULT,   CW_USEDEFAULT,    
                                NULL,   NULL,   g_hInst,   NULL);    
                ShowWindow(g_hWnd,   iCmdShow);    
                UpdateWindow(g_hWnd);    
   
                while   (GetMessage(&sMsg,   NULL,   0,   0))    
                {    
                                TranslateMessage(&sMsg);    
                                DispatchMessage(&sMsg);    
                }    
                return((int)   sMsg.wParam);    
  }    
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
   
   
   
  ////////////////////////////////////////////////////////////////////////////////////////////////////    
  //主窗口回调函数    
  LRESULT   CALLBACK   WindowProc(HWND   hWnd,   UINT   uMsg,   WPARAM   wParam,   LPARAM   lParam)    
  {    
                switch   (uMsg)    
                {    
                case   WM_DESTROY:    
                                PostQuitMessage(0);    
                                break;    
   
                default:    
                                return(DefWindowProc(hWnd,   uMsg,   wParam,   lParam));    
                }    
                return(0);    
  }    
  ////////////////////////////////////////////////////////////////////////////////////////////////////Top

相关问题

  • 请简短讨论 const 和 static
  • 讨论static_cast和dynamic_cast的区别?
  • 讨论static-救救菜鸟们
  • 讨论一下类中的static方法?
  • 什么时候应该用static方法,欢迎大家讨论
  • 关于避免使用跟滥用Static的讨论
  • 讨论讨论
  • static
  • static
  • static

关键词

  • win32
  • win98
  • 优化
  • 属性
  • release
  • 项目
  • mfc
  • minipe
  • 变量
  • linker

得分解答快速导航

  • 帖主:bjxiaoye
  • anothervip
  • kvw3000
  • BLsoft

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo