小编use*_*873的帖子

在 Windows MSVC 上,是否可以将一些 .obj 合并为一个 .obj?如果是,我该怎么做?

例如,a.obj b.obj c.obj刚刚用 编译出三个目标文件cl,希望将它们合并为一个combined.obj

SO 问题的评论指出,在 *nix 上可以使用ld. 然而,cl所有link似乎都只支持.exe,.dll.lib作为输出。


我想要对组合目标文件执行的整个过程如下:

  1. a.obj b.obj c.obj -> combined.obj
  2. combined.obj d.obj e.obj -> executable.exe

我的问题解决了。 a.obj b.obj c.obj使用一些尚未链接的变量和函数,我认为.lib因为它是一个库,所以不能容忍缺少函数,但实际上这是可以的。我可以将它们合并到一个.lib文件中:

lib *.obj /OUT:combined.lib
Run Code Online (Sandbox Code Playgroud)

c windows linker visual-c++

5
推荐指数
1
解决办法
1055
查看次数

为什么对于 32 位 Windows 应用程序“不需要释放使用 LoadResource 加载的资源”?

FreeResource 函数中 - Microsoft Docs

[此功能已过时,仅支持向后兼容 16 位 Windows。对于 32 位 Windows 应用程序,不需要释放使用 LoadResource 加载的资源。如果在 32 或 64 位 Windows 系统上使用,此函数将返回 FALSE。]

这是为什么?是不是因为内存大?

winapi

2
推荐指数
1
解决办法
106
查看次数

标签 统计

c ×1

linker ×1

visual-c++ ×1

winapi ×1

windows ×1