减小构建尺寸

2024-01-11

当我在 VS2013 中使用 C++ 运行时库的静态链接时,有什么方法可以降低构建大小吗?

我的原始文件只有 15kb,但我无法在其他计算机上运行它而不弹出缺少 .dll 的消息。我决定使用静态链接,现在大小约为 100kb。

我正在使用Windows.h标头和 WinAPI 函数。


如果您只想显示 MessageBox,则不需要链接到any静态库。

#include <windows.h>

void entry(void) {    
    MessageBox(NULL, "Hello, World!", "", MB_OK);
    ExitProcess(0);
}

使用VC++2013编译链接,命令行如下:

cl /O1 /GS- hello32.c /link /nodefaultlib /entry:entry /subsystem:windows user32.lib kernel32.lib

至少对我来说(使用 VC++ 2013)它生成了 2560 字节的可执行文件(仅依赖于核心 Windows DLL,因此即使在最简陋的系统上运行它也不需要任何额外的东西)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

减小构建尺寸 的相关文章

随机推荐

  • 在 Eclipse 中找不到 Nexus 7 的 storage/emulated/0/ 文件夹

    Nexus 7 Ubuntu 12 04 Eclipse Juno Nexus 7 已设置开发者模式 在 Eclipse 中 我可以在 Android 的 文件资源管理器 中看到列表 我可以看到存储 模拟 旧版 但我看不到 storage
  • 使用 OCUnit 测试是否显示 UIAlertView

    我正在开发一个应用程序 它将显示UIAlertView仅当游戏取得进展时 才按下退出按钮 我想知道你如何使用 OCUnit 来拦截UIAlertView并与之互动 甚至检测它是否已呈现 我唯一能想到的就是猴子补丁 UIAlertViewDe
  • AndroidManifest.xml 中的 Android 兼容性设置

    我有一个应用程序要发布 它适用于所有 Android 屏幕尺寸 较小的除外 和高于 SDK 版本 2 0 的密度 它还将在超大屏幕上运行 目前我已经添加了这个
  • 步骤之后和步骤之前黄瓜

    我想在之前和之后执行一些事情每一步 不是场景 我该如何在黄瓜中做到这一点 就像junit中的after和before一样 我正在使用java 应该有类似AfterStep的东西 还没有找到BeforeStep AfterStep do Af
  • MvvmCross动态文本值转换

    据我所知 MvvmCross 本地化插件提供 静态 引擎 我使用以下来自 Conference 的绑定作为示例 local MvxBind Text Path TextSource Converter Language ConverterP
  • 如何配置XStream根据XML属性映射到不同的类?

    我有以下 Java 对象层次结构 public interface Function public void calculate long t public class ConstantFunction implements Functio
  • Julia - dataframe - 如何在 by() 中使用字符串进行自定义输出列命名

    我正在熟悉 Julia Dataframes 模块 我还没有找到办法做的一件事是如何分配以编程方式by 操作结果的自定义列名称 例如 我执行以下操作没有问题 df DataFrame grp rand a b 100 x rand 100
  • 在 iO 中手动加载不同的本地化笔尖

    我正在开发一个支持多语言的应用程序 正如您所料 我有时会使用如下代码加载一些 nib 文件 self currentController newClass alloc initWithNibName CustomController bun
  • 使用 java.lang.Runtime.getRuntime 在 matlab 中调用 python 脚本的多个实例不起作用

    我在 Windows 10 上运行 Matlab2017 我调用一个在云上运行某些语音识别任务的 python 脚本 如下所示 userAuthCode 1 authentication code for user account to b
  • cordova-plugin-ionic-webview - 自定义方案不适用于 Android

    我正在开发 即将发布 适用于 iOS 和 Android 的 Cordova 应用程序 我正在尝试使用cordova plugin ionic webview https github com ionic team cordova plug
  • 循环 url 来做同样的事情

    我正在尝试抓取一些网站 这是我的代码 for var i 0 i lt urls length i url urls i console log Start scraping url page open url function waitF
  • 从表中插入/查询数据时出现ORA-00904

    我收到流动错误 Error starting at line 1 in command INSERT INTO driver registration make model gvw year body VALUES 4585 AW ALBI
  • VBA 与 WinSock2:send() 发送错误数据

    我试图在 VBA 中使用 WinSock2 从本地主机 TCP 流发送 以及稍后接收 数据 目前 我主要尝试从这里复制客户端示例 https msdn microsoft com en us library windows desktop
  • 关于将视图添加到父级的通知?

    当我建立一个View在Android中动态地我必须将它添加到 父级 ViewGroup通过致电 myLinearLayout addView myView 我知道我可以监督ViewGroup任何孩子都可以通过优秀的方式添加onHierarc
  • 播种和重用 Python 随机种子

    我正在使用 Python 和 Flask 来显示随机游戏板 并尝试让人们通过使用种子返回到同一个游戏 但是 无论我使用随机种子还是指定种子 我似乎都会得到相同的伪随机序列 我删除了大部分代码 我用 numpy 进行了大量的拆分和连接 但即使
  • 为什么这样的文件或目录不存在?

    我正在用 C 语言做一些矩阵乘法 我正在尝试编译我的程序 但它无法编译 原因是 没有这样的文件或目录 cblas h 这是我用来编译的命令 gcc o BLAS BLAS c 有人可以帮我吗 我正在服务器上编译这个程序 我不确定这是否有影响
  • 如何使用thymeleaf在spring中添加静态资源

    我是新来的Spring我正在尝试制作一个漂亮的 Web 应用程序 到目前为止 我设置了所有内容 如果我在浏览器上运行我的页面 它会按预期显示 但是如果我在端口上使用 tomcat 运行它8080 我正在使用 Intellij 它无法加载cs
  • 现有的 Kafka 主题镜像方法的主要区别是什么

    Kafka MirrorMaker是一种将 Kafka 主题从源代理镜像到目标代理的基本方法 不幸的是 它不符合我的可配置要求 我的要求很简单 解决方案应该是JVM应用程序 如果目标主题不存在 则创建它 解决方案应该能够向目标主题名称添加前
  • InvalidKeyException 非法密钥大小

    我有一个测试 在我的开发 MacBook Pro 上运行良好 但在持续集成 TeamCity 服务器中运行失败 错误如下 java security InvalidKeyException Illegal key size at javax
  • 减小构建尺寸

    当我在 VS2013 中使用 C 运行时库的静态链接时 有什么方法可以降低构建大小吗 我的原始文件只有 15kb 但我无法在其他计算机上运行它而不弹出缺少 dll 的消息 我决定使用静态链接 现在大小约为 100kb 我正在使用Window