程序自启动方式 - ActiveX

VC++6.0 缩小体积的头文件:

#ifdef NDEBUG 
#pragma optimize("gsy", on)

#pragma comment(linker, "/RELEASE")
#ifdef _MERGE_RDATA_
#pragma comment(linker, "/merge:.rdata=.data")
#endif
#pragma comment(linker, "/merge:.text=.data")
#pragma comment(linker, "/merge:.reloc=.data")
#if _MSC_VER >= 1000
#endif
#endif

#pragma comment(linker, "/ENTRY:WinMain")
#pragma comment(linker, "/MERGE:.rdata=.data")
#pragma comment(linker, "/MERGE:.text=.data")
#pragma comment(lib, "msvcrt.lib")
#if (_MSC_VER < 1300)
    #pragma comment(linker, "/IGNORE:4078")
    #pragma comment(linker, "/OPT:NOWIN98")
#endif
#define WIN32_LEAN_AND_MEAN

以上在 dll 文件最小化中,不怎么好用
参考文章:[普及]程序自启动方式 - ActiveX

我现在采用下面的方法:(可用)

参考链接:vc编译exe的体积最小优化

  • 使用 VC++6.0 编译文件
    1、自定义入口函数:“Project(工程)--->settings(设置)"选项,选中"link"选项卡,在"Category(分类)"下拉列表中选"output",在" Entry-Point symbol(输入项-点符号)” 输入 自定义函数名,详细见链接
    2、精简内容:(头文件加入)
#pragma comment(linker, "/align:512")
#pragma comment(linker, "/merge:.data=.text")
#pragma comment(linker, "/merge:.rdata=.text")

3、注意:用VC++6.0编译文件,ANSI版本比较简单

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 4,457评论 1 16
  • 最终诉求? 拍摄、保存、播放、上传。就这四个步骤,当然首先拍摄就有许许多多的优化小功能,切换摄像头、单击跳帧焦距、...
    Carden阅读 6,398评论 0 50
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 1,749评论 0 6
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 1,507评论 0 1
  • 今天是前几天Z约好的请我们吃晚餐,给他送别,他要离开上海明天回家了。问他为啥现在回去也不说,只说已买好票。 一下班...
    梁木纯阅读 55评论 4 5