发个小巧的 MSVC编译器 MSVC_2010_SP1_x86.7z 解决 WIn7 Dll 退出错误报告问题

MSVC_2010_SP1_x86.7z 占用空间 26.6 MB (27,975,680 字节)
下载地址 https://wwcz.lanzout.com/iTX6k1435fba

建立一个目录 C:\CodeBlocks\MSVC 指定一下 NTFS 文件压缩 包含子目录
大小 311 MB (326,424,277 字节)
占用空间 141 MB (148,896,749 字节)

VS Code 配置 CodeRunner 编译 C++ 文件动画演示

  1. 安装插件 CodeRunner 先 点击右下角 c++文字,上面下拉菜单选择 C++ 语言基础设置

"cpp": "cd $dir && cl.exe /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName /link rpcrt4.lib msvcrt.lib msvcprt.lib Gdi32.lib user32.lib Kernel32.lib && $dir$fileNameWithoutExt",

  1. 按图示填入下面测试代码中注释的哪行,修改到 josn 配置文件中
#include <windows.h>
#include <stdio.h>
#pragma rpcrt4.lib
int main()
{
    UUID uuid;
    UuidCreate(&uuid);  

    char *uuid_str;
    UuidToStringA(&uuid, (RPC_CSTR*)&uuid_str);   // 为 UUID 字符串分配动态内存
    printf("UUID: %s\n", uuid_str);
    RpcStringFreeA((RPC_CSTR*)&uuid_str);         // 释放 UUID 字符串动态内存
    return 0;
}
//   "cpp": "cd $dir && cl.exe /nologo /w /EHsc  /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib  msvcrt.lib msvcprt.lib Gdi32.lib user32.lib Kernel32.lib  && $dir$fileNameWithoutExt",

一般学习 C/C++ 基础语法不学GUI,使用这个 编译器一般够用了。而且编译的命令行工具,兼容性好,很少提示缺少其他dll库

INCLUDE=C:\CodeBlocks\MSVC\include
LIB=C:\CodeBlocks\MSVC\lib
PATH 增加   C:\CodeBlocks\MSVC\bin

一般配合 CodeBlocks 使用,如果想给 VSCode 或者 命令行使用,需要手工添加环境变量
如上图,添加 INCLUDE LIB 和 PATH

cl.exe /nologo a.c ;  .\a.exe

使用这个命令行 编译和运行 c 源码和程序

自己使用 C++ 写了 DLL 给 VBA 程序调用。 在一台工作电脑上 使用还算正常,但是关闭程序的时候会跳错误报告。

编译的 DLL 使用 TDM-GCC 编译的,可能对 win7 支持不太好,在其他 WIN 10 win11 不会跳错误。在 win7 的 CorelDRAW 2020下又不会跳报告。
折腾了很长时间未果。
后来 使用这个 MSVC 2010 编译器 编译 32 位的 dll , 使用后就 不会跳错误报告了。

64位dll 还没找到合适的编译器 ,网上找到一个修改注册表,让他错误报告不提示了。
修改 DontShowUI 的值,改成 0

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting]
"DontShowUI"=dword:00000001
分类: 学习编程

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注