VC-LTL

修改版 C/C++ 标准库
授权协议 EPL
开发语言 C/C++
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 国产
投 递 者 章学义
操作系统 Windows
开源组织
适用人群 未知
 软件概览

VC-LTL 是一个修改版的C/C++标准库,将应用程序链接到微软自带的msvcrt.dll,有效减少C/C++应用程序体积。

原理:

使用 VC LTL后可以将程序动态链接到系统自带的msvcrt.dll中,来减少程序体积。一般来说一些C/C++的Win32应用程序都可以使用。但是MFC工程不能使用,因为MFC类库太复杂了。

使用方法:
1:将内容解压到工程目录VC-LTL
2:修改含目录,设置为以下内容,并且取消  从父级或者默认设置中继承
        $(VSInstallDir)VC\atlmfc\include
        $(WindowsSDK_IncludePath)
        $(SolutionDir)\VC-LTL\VC140
        $(SolutionDir)\VC-LTL

3:在库目录增加:$(SolutionDir)VC-LTL\$(PlatformShortName)

4:stdafx.h的开头增加  #include <_msvcrt.h>   ,stdafx.cpp中增加  #include <_msvcrt.cpp>

5:在工程属性 C++ - 所有选项 ,【安全检查】 调整为【禁用安全检查】
                               【运行库】调整为 【多线程DLL/MD】
                               【目标平台】调整为【Windows 10】

6:重新编译你的应用程序(Release),是不是体积就小了很多。如果你编译不通过,咋们可以一起研究研究,共同改进VC LTL。

  • 由于QWebEngine只支持VS编译,在程序发布时各种VC运行时真的让人很崩溃,感谢初雨开源的VC_LTL让我们从VC运行时解脱出来。记录一下编译过程。 1.编译环境: Windows10x64+VS2019社区版+Python2.7+Perl5.28.1+Ruby2.6.3+LLVM6.0; Qt5.12.8+ICU4C66+OpenSSl1.1.1d+VC-LTL4.1.0.2 2.编译脚本

  • 一、源码下载 1、下载python与Perl,尽量使用最新版,并加入到系统PATH环境变量中 2、QT源码下载地址:http://download.qt.io/archive/qt/ 3、开启vs环境变量: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvars

  • 背景 众所周知,Python现在使用UCRT+MD编译。这就要求客户端安装补丁,但是很多Windows 7用户连SP1补丁都装不上,更何况很多测试场合是故意不安装SP1补丁的…… 所以只好自己编译个人版Python,顺道再测试测试VC-LTL的能力。毕竟使用VC-LTL后依然能使用UCRT+MD编译,并链接到系统内置msvcrt.dll。这意味着可以在体积基本不变的情况下,用户无需安装任何运行库并

 相关资料
  • C 是一种通用的,程序性的,命令式的计算机编程语言,由贝尔电话实验室的Dennis M. Ritchie于1972年开发,用于开发Unix操作系统。

  • C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的、独立的、不属于任何类的函数组成的。函数库继承自 C 语言。 面向对象类库: 这个库是类及其相关函数的集合。 C++ 标准库包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和修改。 标准函数库 标准函数库分为以下几类: 输入/输出 I/O 字符串和字符处理 数学 时间、日期和本地化 动态分配 其他 宽字符函数 面向对象类库 标

  • 现代C编译器支持一些或全部的ANSI提议的标准C。无论何时可能的话,尽量用标准C编写和运行程序,并且使用诸如函数原型,常量存储以及volatile(易失性)存储等特性。标准C通过给优化器提供有有效的信息以提升程序的性能。标准C通过保证所有编译器接受同样的输入语言以及提供相关机制隐藏机器相关内容或对于那些机器相关代码提供警告的方式提升代码的可移植性。 17.1 兼容性 编写很容易移植到老编译器上的代

  • C++ 程序由类(class)和函数(function)组成。可以用多个小的软件模块构成C++程序,但大多数C++程序员会利用C++标准库中已有的类和函数来编程。这样,C++“世界”中实际要学习两方面的知识,第一是学习C++语言本身,第二是学习如何利用C++标准库中现有的类和函数(本书将介绍许多类和函数)。 Plauger(见参考文献P192)的著作是程序员必读的.可以帮助程序员深入了解 C++

  • clearerr语法: #include <stdio.h> void clearerr( FILE *stream ); clearerr函数重置错误标记和给出的流的EOF指针. 当发生错误时,你可以使用perror()判断实际上发生了何种错误.相关主题: feof(), ferror(), 和perror(). fclose语法: #include <stdio.h> i

  • 标准 C I/O clearerr() 清除错误 fclose() 关闭一个文件 feof() 如果到达文件尾(end-of-file)返回"True"(真) ferror() 检查一个文件错误 fflush() 书写输出缓存的内容 fgetc() 从流获取一个字符 fgetpos() 获取文件位置指针 fgets() 从一个流获取一串字符 fopen() 打开一个文件 fprintf() 打印格