VC生成不依赖高版本msvcrtXX.dll程序之方法一——完全抛弃CRT库

本文介绍了如何在VC中创建不依赖msvcrt库的程序,通过修改入口点、避免调用C库函数、取消链接库依赖,详细讲述了实现过程及注意事项,包括使用Win32API替代C库功能,以及处理异常和线程的方法。
摘要由CSDN通过智能技术生成

只使用Win32API,完全抛弃CRT库

如果我们的程序只使用C语言基本语法、调用Win32API而不依赖C库的函数(《Windows程序设计》(petzold著)中的代码基本就是如此,因此国外也有人称这类程序是petzold-style),则完全可以抛弃掉msvcrt库,使得最终生成的可执行文件体积接近Win32汇编编写的可执行程序大小。

修改程序入口点

要想彻底摆脱CRT库的依赖,第一步就是要让程序入口点指向我们自己的代码,而不再采用CRT库默认的启动函数。为此,我们定义一个void类型的无参函数作为程序入口:

#include <windows.h>

void EntryMain()
{
    MessageBox(NULL, TEXT("Hello world!"), TEXT("hi"), MB_OK);
    ExitProcess(0);
}

然后在链

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值