VC-LTL
4.1.1-Beta3
See the version list below for details.
Requires NuGet 2.5 or higher.
dotnet add package VC-LTL --version 4.1.1-Beta3
NuGet\Install-Package VC-LTL -Version 4.1.1-Beta3
<PackageReference Include="VC-LTL" Version="4.1.1-Beta3" />
<PackageVersion Include="VC-LTL" Version="4.1.1-Beta3" />
<PackageReference Include="VC-LTL" />
paket add VC-LTL --version 4.1.1-Beta3
#r "nuget: VC-LTL, 4.1.1-Beta3"
#:package VC-LTL@4.1.1-Beta3
#addin nuget:?package=VC-LTL&version=4.1.1-Beta3&prerelease
#tool nuget:?package=VC-LTL&version=4.1.1-Beta3&prerelease
VC-LTL——编译精巧的程序原来如此简单
<br/>
我愿化成一座做石桥,经受五百年的风吹,五百年的日晒,五百年的雨打,只求她从桥上走过!
1. 关于VC-LTL
VC-LTL是一个基于微软VC修改的开源运行时,有效减少应用程序体积并摆脱微软运行时DLL,比如msvcr120.dll、api-ms-win-crt-time-l1-1-0.dll等依赖。
VC-LTL最初是Dism++专用运行时。2017年3月6号从Dism++源代码中分离,并正式对外开源,为社区贡献自己的微薄之力。
在大型项目中往往有众多模块,如果都采用静态编译那么造成的空间浪费先不说,最后也会因为Fls上限
导致程序无法正常运行。
而VC-LTL能让你的项目如同系统文件一样共享系统内置msvcrt.dll
,有效的解决Fls上限
以及运行时部署问题
,同时大大缩减程序体积
,可以说一箭三雕!
所有人都可以无条件、免费使用,包括用于商业环境。当然如果大家在自己的程序说明文件中声明使用了VC-LTL那就更好了。
1.1. 原理
使用VC-LTL后可以将程序动态链接到系统自带的msvcrt.dll中,来减少程序体积。目前使用CRT以及STL的工程一般都可以使用。但是MFC工程不能使用,因为MFC类库太复杂了,尚未适配。
使用VC-LTL,C++程序体积大约缩减30%,而纯C程序则大约缩减50%。
1.2. 亮点
- 晚起的鸟儿也有虫虫吃,优雅的引用方式,仅添加一个属性表就能享受极致的体积体验。
- 无缝使用最新C/C++库以及最新编译器,尽情的使用最新规范。神马异常流防护(guard:cf)、静态对象线程安全初始化(threadSafeInit)……统统放马过来吧!!
- 拥有比微软原版更好的兼容性,即使想兼容Windows XP RTM也可以安心的对新编译器说“Yes”。
- 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为VC-LTL添砖加瓦。
让我们一起跟VS 2008说拜拜!
2. VC-LTL兼容性
2.1. 支持的IDE
- Visual Studio 2015(包含Clang with Microsoft CodeGen、Clang 3.7 with Microsoft CodeGen、Clang-LLVM)
- Visual Studio 2017(包含Clang with Microsoft CodeGen、Clang-LLVM)
- Visual Studio 2019(包含Clang-LLVM)
2.3. 支持的操作系统
操作系统 | x86 | x64 | arm | arm64 |
---|---|---|---|---|
Windows XP、Windows Server 2003 | √ | √ | - | - |
Windows Vista、Windows Server 2008 | √ | √ | - | - |
Windows 7、Windows Server 2008 R2 | √ | √ | - | - |
Windows 8、Windows Server 2012、Windows RT | √ | √ | √ | - |
Windows 8.1、Windows Server 2012 R2、Windows RT 8.1 | √ | √ | √ | - |
Windows 10、Windows Server 2016、Windows Server 2019 | √ | √ | √ | √ |
采用VC-LTL编译后的程序能兼容Windows XP RTM以上所有操作系统,无需安装任何SP补丁包。
Product | Versions Compatible and additional computed target framework versions. |
---|---|
native | native is compatible. |
-
- YY.NuGet.Import.Helper (>= 1.0.0.2)
- YY.UCRT.10.0.10240.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.15063.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.16299.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.17134.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.17763.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.18362.0.Package (= 4.0.3.8)
- YY.UCRT.10.0.19041.0.Package (= 4.1.0.4)
- YY.UCRT.Shared (= 4.1.1.1)
- YY.VCRT.14.0.23918.Header (= 4.1.0.4)
- YY.VCRT.14.0.23918.Library (= 4.1.1.1)
- YY.VCRT.14.0.24210.Header (= 4.1.0.4)
- YY.VCRT.14.0.24210.Library (= 4.1.1.1)
- YY.VCRT.14.0.24225.Header (= 4.1.0.4)
- YY.VCRT.14.0.24225.Library (= 4.1.1.1)
- YY.VCRT.14.0.24231.Header (= 4.1.0.4)
- YY.VCRT.14.0.24231.Library (= 4.1.1.1)
- YY.VCRT.14.10.25017.Header (= 4.1.0.4)
- YY.VCRT.14.10.25017.Library (= 4.1.1.1)
- YY.VCRT.14.11.25503.Header (= 4.1.0.4)
- YY.VCRT.14.11.25503.Library (= 4.1.1.1)
- YY.VCRT.14.12.25827.Header (= 4.1.0.4)
- YY.VCRT.14.12.25827.Library (= 4.1.1.1)
- YY.VCRT.14.13.26128.Header (= 4.1.0.4)
- YY.VCRT.14.13.26128.Library (= 4.1.1.1)
- YY.VCRT.14.14.26428.Header (= 4.1.0.4)
- YY.VCRT.14.14.26428.Library (= 4.1.1.1)
- YY.VCRT.14.15.26726.Header (= 4.1.0.4)
- YY.VCRT.14.15.26726.Library (= 4.1.1.1)
- YY.VCRT.14.16.27023.Header (= 4.1.0.4)
- YY.VCRT.14.16.27023.Library (= 4.1.1.2)
- YY.VCRT.14.20.27508.Header (= 4.1.0.4)
- YY.VCRT.14.20.27508.Library (= 4.1.1.1)
- YY.VCRT.14.21.27702.Header (= 4.1.0.4)
- YY.VCRT.14.21.27702.Library (= 4.1.1.1)
- YY.VCRT.14.22.27905.Header (= 4.1.0.4)
- YY.VCRT.14.22.27905.Library (= 4.1.1.1)
- YY.VCRT.14.23.28105.Header (= 4.1.0.4)
- YY.VCRT.14.23.28105.Library (= 4.1.1.1)
- YY.VCRT.14.24.28314.Header (= 4.1.0.4)
- YY.VCRT.14.24.28314.Library (= 4.1.1.1)
- YY.VCRT.14.25.28610.Header (= 4.1.0.4)
- YY.VCRT.14.25.28610.Library (= 4.1.1.1)
- YY.VCRT.14.26.28801.Header (= 4.1.0.4)
- YY.VCRT.14.26.28801.Library (= 4.1.1.1)
- YY.VCRT.14.27.29110.Header (= 4.1.1.1)
- YY.VCRT.14.27.29110.Library (= 4.1.1.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on VC-LTL:
Package | Downloads |
---|---|
WenAntdUI
Package Description |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on VC-LTL:
Repository | Stars |
---|---|
AntdUI/AntdUI
👚 Winform interface library based on the Ant Design
|
Version | Downloads | Last Updated |
---|---|---|
5.2.2 | 557 | 7/20/2025 |
5.2.2-Beta2 | 136 | 6/20/2025 |
5.2.2-Beta1 | 731 | 4/4/2025 |
5.2.1 | 10,209 | 3/4/2025 |
5.2.1-Beta4 | 426 | 2/3/2025 |
5.2.1-Beta3 | 366 | 1/21/2025 |
5.2.1-Beta2 | 321 | 1/15/2025 |
5.2.1-Beta1 | 1,004 | 11/27/2024 |
5.1.1 | 28,348 | 8/11/2024 |
5.1.1-Beta4 | 225 | 8/4/2024 |
5.1.1-Beta3 | 607 | 7/14/2024 |
5.1.1-Beta2 | 3,513 | 5/30/2024 |
5.1.1-Beta1 | 732 | 5/25/2024 |
5.0.10-Beta2 | 1,602 | 5/4/2024 |
5.0.10-Beta1 | 177 | 5/2/2024 |
5.0.9 | 18,404 | 10/1/2023 |
5.0.8 | 3,654 | 6/22/2023 |
5.0.8-Beta2 | 910 | 6/1/2023 |
5.0.8-Beta1 | 936 | 5/10/2023 |
5.0.7 | 1,313 | 5/7/2023 |
5.0.6 | 829 | 4/30/2023 |
5.0.6-Beta5 | 1,140 | 4/5/2023 |
5.0.6-Beta4 | 1,233 | 3/18/2023 |
5.0.6-Beta3 | 885 | 1/25/2023 |
5.0.6-Beta2 | 832 | 11/5/2022 |
5.0.6-Beta1 | 3,025 | 7/17/2022 |
5.0.5 | 36,651 | 5/15/2022 |
5.0.5-Beta1 | 725 | 3/19/2022 |
5.0.4 | 6,658 | 3/13/2022 |
5.0.4-Beta3 | 1,679 | 1/17/2022 |
5.0.4-Beta2 | 672 | 12/29/2021 |
5.0.4-Beta1 | 4,348 | 12/16/2021 |
5.0.3 | 1,006 | 12/8/2021 |
5.0.3-Beta1 | 1,664 | 11/2/2021 |
5.0.2-Beta1 | 1,856 | 10/9/2021 |
5.0.1 | 1,129 | 9/19/2021 |
5.0.1-Beta6 | 835 | 9/5/2021 |
5.0.1-Beta5 | 345 | 8/30/2021 |
5.0.1-Beta4 | 1,250 | 8/26/2021 |
4.1.3 | 5,858 | 7/12/2021 |
4.1.3-Beta2 | 478 | 6/18/2021 |
4.1.3-Beta1 | 1,426 | 6/3/2021 |
4.1.2 | 5,350 | 6/3/2021 |
4.1.2-Beta3 | 579 | 5/27/2021 |
4.1.2-Beta2 | 424 | 5/24/2021 |
4.1.2-Beta1 | 456 | 5/11/2021 |
4.1.1 | 6,027 | 2/7/2021 |
4.1.1-Beta7 | 600 | 12/18/2020 |
4.1.1-Beta5 | 377 | 11/5/2020 |
4.1.1-Beta4 | 429 | 9/26/2020 |
4.1.1-Beta3 | 469 | 9/1/2020 |
4.1.0.4 | 2,990 | 7/25/2020 |
4.0.3.8 | 2,577 | 1/17/2020 |
* 解决[Bug 62](https://github.com/Chuyu-Team/VC-LTL/issues/62),修复微软原版多个线程多个模块同时exit可能发生死锁问题。
* 解决Bug,14.16.27023工具集__scrt_get_dyn_tls_dtor_callback缺失问题。
> 温馨提示:VC-LTL 4.1 与 4.0版本在STL stream支持中存在ABI不兼容问题,对应静态库请重新编译!