VC-LTL 4.1.0.4

There is a newer version of this package available.
See the version list below for details.

Requires NuGet 2.5 or higher.

dotnet add package VC-LTL --version 4.1.0.4
NuGet\Install-Package VC-LTL -Version 4.1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VC-LTL" Version="4.1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VC-LTL --version 4.1.0.4
#r "nuget: VC-LTL, 4.1.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install VC-LTL as a Cake Addin
#addin nuget:?package=VC-LTL&version=4.1.0.4

// Install VC-LTL as a Cake Tool
#tool nuget:?package=VC-LTL&version=4.1.0.4

VC-LTL——编译精巧的程序原来如此简单

Logo<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 Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.0.9 10,419 10/1/2023
5.0.8 3,323 6/22/2023
5.0.8-Beta2 698 6/1/2023
5.0.8-Beta1 705 5/10/2023
5.0.7 1,098 5/7/2023
5.0.6 683 4/30/2023
5.0.6-Beta5 961 4/5/2023
5.0.6-Beta4 1,007 3/18/2023
5.0.6-Beta3 684 1/25/2023
5.0.6-Beta2 587 11/5/2022
5.0.6-Beta1 2,710 7/17/2022
5.0.5 28,582 5/15/2022
5.0.5-Beta1 549 3/19/2022
5.0.4 5,762 3/13/2022
5.0.4-Beta3 1,480 1/17/2022
5.0.4-Beta2 484 12/29/2021
5.0.4-Beta1 3,790 12/16/2021
5.0.3 809 12/8/2021
5.0.3-Beta1 1,524 11/2/2021
5.0.2-Beta1 1,698 10/9/2021
5.0.1 923 9/19/2021
5.0.1-Beta6 659 9/5/2021
5.0.1-Beta5 266 8/30/2021
5.0.1-Beta4 1,042 8/26/2021
4.1.3 4,483 7/12/2021
4.1.3-Beta2 386 6/18/2021
4.1.3-Beta1 1,265 6/3/2021
4.1.2 4,068 6/3/2021
4.1.2-Beta3 453 5/27/2021
4.1.2-Beta2 316 5/24/2021
4.1.2-Beta1 331 5/11/2021
4.1.1 4,572 2/7/2021
4.1.1-Beta7 476 12/18/2020
4.1.1-Beta5 297 11/5/2020
4.1.1-Beta4 322 9/26/2020
4.1.1-Beta3 355 9/1/2020
4.1.0.4 2,889 7/25/2020
4.0.3.8 2,431 1/17/2020

* 改进体验,增强_Getcvt对C++17支持。
     * 新增Fea,添加msvcp60静态库模式,增强某些精简系统的兼容性。
     * 新增Fea,添加14.25.28610、14.26.28801支持。
     * 新增Fea,添加UCRT 10.0.19041.0支持。
     * 解决Bug,轻量模式中,`legacy_stdio_definitions.lib`可能出现符号冲突问题(感谢 Big吊)。
     * 解决Bug,消除CString::Format警告(感谢 大胸滴)。
     * 解决Bug,解决 14.26.28801 syserror_import_lib 缺失问题(感谢 噬元兽)。

     > 温馨提示:VC-LTL 4.1 与 4.0版本在STL stream支持中存在ABI不兼容问题,对应静态库请重新编译!