我怎样才能链接我的非常大的程序?

2024-01-02

我们的下一个产品已经变得太大,无法链接到运行 32 位 Windows 的计算机上。所有 lib 文件的总和超过 2Gb,只能在 64 位 Windows 计算机上链接。最终我们将超越这个界限,因为我们的软件往往会增长而不是收缩,而且我们使用的是 32 位链接器 (MS Visual Studio 2005):当我们的 lib 大小总计超过 3Gb 时,我们预计会遇到麻烦。

如何在不修剪代码的情况下减小 .lib 文件或 .obj 文件的大小?例如,我们使用了很多模板:有什么方法可以减少它们的占用空间吗?有什么方法可以通过检查 .lib/.obj 文件找出导致膨胀的原因吗?这可以自动化而不是通过肉眼检查吗? 2.5Gb 是大量需要浏览和比较的文本。

外部限制阻止我们以单个 .exe 以外的任何形式发布,因此 DLL 解决方案不可用。


我曾经与多个 MLoC 一起参与过一个项目。虽然我们的仍然会在 32 位机器上链接,但链接时间很糟糕,并成为一个主要问题,因为开发人员每个工作日只能完成十几个编辑-编译-测试周期。 (通过分布式编译可以很好地处理编译时间。)

我们切换到动态链接。这会增加启动时间,但这可以通过延迟加载 DLL 来管理。

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

我怎样才能链接我的非常大的程序? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 上传到 iTunes Connect 时如何解决“应用程序未通过协同设计验证”?

    我遇到了一个问题 无法通过在不同资源中进行深入搜索来解决 因为大多数 类似 指出 Icon png 大小等错误 我在验证后尝试上传我的应用程序 在我的设备上正确构建并运行 我的证书安装正确 我的证书 个人资料没有过期 Icon png 具有
  • 使用代码禁用黑莓的睡眠模式

    如何使用 J2ME 防止黑莓应用程序进入睡眠模式 我看到这个建议要做一个密钥注入 http supportforums blackberry com t5 Java Development Prevent BlackBerry From G
  • Angular 8 和导入 Json

    我读过一些文章 指出从 type script 2 9 开始 您现在可以直接导入 json 所以我修改了我的tsconfig json文件如下 compileOnSave false compilerOptions baseUrl outD
  • 测试依赖于静态方法的方法有哪些方法?

    我需要测试一些依赖于 Spring Security 的安全相关类 这段代码利用了SecurityContextHolder getContext 这是静态的 如何在不设置整个安全上下文的情况下测试调用方法 我们将 JUnit 4 与 Mo
  • 使用 Spring Data Embedded Mongo 在 Mongo db 中导入 JSON 文件

    我正在尝试编写一些与需要从 MongoDB 提取数据的方法相关的集成测试 详细来说 我正在使用嵌入式蒙古 http docs spring io spring boot docs 1 3 2 RELEASE reference html b
  • Android - 查询是否检查同步帐户是否同步

    如何查询同步帐户是否已检查同步 用户无法控制是否account选择进行同步 而是选择 acount contentAuthority 对 例如 可以检查您的 Gmail 帐户以同步联系人 但不能检查日历事件 以下代码用于检查第一个输入的 c
  • Java:实例化没有默认构造函数的泛型类

    我正在尝试这样做 public class BaseTable
  • Spring集成错误“没有可用的输出通道或replyChannel标头”

    我不知道为什么我会得到例外 Caused by org springframework messaging core DestinationResolutionException no output channel or replyChan
  • R data.table 按组和条件连接/子集/匹配

    我正在尝试按 2 个 data tables 中的组对数据进行子集 匹配 但无法弄清楚这在 R 中是如何实现的 我有以下 data table 其中包含 City ID 和时间戳 列名称 时间 Library data table time
  • 以编程方式获取 azure 虚拟机大小列表

    我是 net 的 Azure 管理库的新手 我们如何枚举与订阅相关的可用 VM 实例大小 或者通常使用 Net 或 Rest API 的 Azure 管理库来枚举可用的 VM 实例大小 请建议 您可以通过调用获取某个区域的虚拟机大小列表 h
  • Egit:将 rebase 配置为 master 分支的默认拉取策略

    在我们的新项目中 我们有 10 个存储库 每个存储库都有相互依赖的 Eclipse 项目 我计划建立一个默认的工作流程 其中每个开发人员都在主分支上工作并使用提交 拉取 推送循环 为了减少提交并获得良好的线性历史记录 我更喜欢将 rebas
  • django ListView 指定可用于类内所有方法的变量

    我的网址有一个关键字 shop name 变量 还有带有 名称 字段的商店模型 在我的 ListView 类中 我需要对 Shop 模型进行重复查询 以从 Shop get type 方法获取 unicode 变量 根据结果 选择适当的模板
  • 使用 antd 隐藏表的列

    我们如何隐藏表中的列以在前端显示 而该列已经存在于使用 ant design 表的数组中 例如 我的数组对象中有一个名为 ID 的列 但不需要在表视图中显示 它应该保留在 JSON 列表本身中以供参考 小提琴链接 https codesan
  • 如何在 Vim 中将另一个文件的内容加载到当前文件?

    如标题 有什么方便的方法吗 我特别需要它来进行一些 cvs git commit 或 sendmail 来加载模板注释 我认为这是一个vi环境 而不是Vim 在 VIM 命令提示符下 read new file 或简称 r new file
  • 使用非接口的构造函数参数进行依赖注入

    我仍然是 DI 的新手 我正在尝试了解我是否以错误的方式思考问题 当我想要表示一个依赖于 IRandomProvider 的 Die 对象时 我正在解决一个玩具问题 该界面很简单 public interface IRandomProvid
  • 如何限制 on_message 回复(Discord Python 机器人)

    我正在制作一个 Discord 机器人 它可以执行各种操作 包括对提到该机器人的人做出反应 以及对某些用户在某个频道中所说的话做出反应 我的代码 为了清楚起见缩短 是 BOT os getenv DISCORD BOT MENTION CH
  • 由于 git pull in git 2.29,VScode git 同步被破坏

    对于 git 2 29 及更高版本 git pull 会出现此问题如何处理这个 git 警告 不鼓励在不指定如何协调不同分支的情况下进行拉取 https stackoverflow com questions 62653114 how to
  • 如何知道何时使用 numpy.linalg 而不是 scipy.linalg?

    公认的智慧是更喜欢scipy linalg over numpy linalg功能 为了进行线性代数 理想情况下 并且方便地 我想结合以下功能numpy array and scipy linalg不曾期待numpy linalg 这并不总
  • printf/sprintf 编译器警告是概念上的破坏吗?

    我注意到 当 printf sprintf 函数的格式字符串中的转换说明符与相应参数的类型或计数不匹配时 大量 C 编译器会发出警告 在我看来 这似乎是一个概念上的突破 因为根据语言规范 C 没有内置函数 编译器应该了解 printf sp
  • 我怎样才能链接我的非常大的程序?

    我们的下一个产品已经变得太大 无法链接到运行 32 位 Windows 的计算机上 所有 lib 文件的总和超过 2Gb 只能在 64 位 Windows 计算机上链接 最终我们将超越这个界限 因为我们的软件往往会增长而不是收缩 而且我们使