问题标签 [crt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1771 浏览

c++ - CRT 未初始化

我正在尝试使用 MSVC 2010 编译一个项目,编译正常,但是当我尝试运行该应用程序时,它给了我 CRT 未初始化错误。它是一个控制台应用程序,所以我尝试将 mainCRTStartup 指定为入口点,但它没有帮助。在同一个解决方案中还有其他项目,他们没有这样的问题。我看到它们之间的区别是一个不工作的,使用 boost。如果这很重要,请升级 v1.38.0。运行时库是多线程 DLL。

链接器命令行是:

0 投票
2 回答
1915 浏览

c++ - 使用 _set_se_translator 和编译标志

文档指出“使用 _set_se_translator 时必须使用 /EHa。”。
我的问题是:应该将 /EHa 用于项目中的所有文件/项目中捕获异常的所有文件,还是仅用于调用 _set_se_translator 的文件中?

0 投票
2 回答
4424 浏览

c - Microsoft Visual Studio C 运行时库在 filecopy.exe 中检测到致命错误

这是最简单的程序,但我遇到了这个错误。我将所有信息从一个文件复制到另一个文件。(坦率地说,我需要从几个文件中复制信息)

0 投票
2 回答
979 浏览

c++ - 检测 CRT 初始化是否在注入进程中完成


我正在开发一个在进程启动时注入 dll 的应用程序(暂停 --> 注入 --> 恢复)在 DllMain 中使用 DLL_PROCESS_ATTACH 的第一个调用(在我注入的 dll 中)是对 MessageBox() 的调用(只是用于调试目的)。但是,对 MessageBox() 的调用有时会弹出错误并使注入的进程崩溃。

运行时错误!
程序:C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE

R6030
- CRT 未初始化

例如,这可以通过 Outlook 和 Winword 重现。尽管记事本、IE、CMD、Calc 和许多其他工具 - 打印消息框并正常继续。

打印消息框对我来说不是必须的,所以我只想能够检查CRT是否进行了初始化,所以我可以像这样正常继续:

如果缺少某些信息,请告诉我。谢谢!

0 投票
2 回答
751 浏览

c# - 文件 RSA 解密

我有一个 RSA 加密文件,我想在 .NET 中用 C# 解密它

我知道了。(1024位编码)消息(密文)的参数解密

  • 模量
  • 公共指数
  • 私人指数
  • 素数 p
  • 素数
  • 质数指数 p
  • 质数指数 q
  • CRT系数

密文为 HEX 格式

我知道解密消息的 CRT 方法,但不清楚如何使用它

我尝试使用 foll 命名空间执行解密

有人可以帮我提供一个示例代码来实现解密,因为这是我第一次处理解密。

是否有现成的 API 可用?我只需要传递参数&我将收到所需的输出。

0 投票
0 回答
3142 浏览

winapi - malloc 返回 NULL 并将 errno 设置为 ENOMEM,但有足够的堆空间可用?

我有一种情况,malloc()返回NULL并设置errnoENOMEM. 但是 CRT 堆(可增长的)有大量内存可供使用。时malloc,我的进程内存约为 900 MB。主机进程是在 Sun HotSpot JVM 下执行的 Java 可执行文件。

malloc()我正在做的是 80 兆字节,并且失败了。如果我分配 60 MB,它会成功。之后,分配了 50 MB,然后是另一个,另一个也成功了:显然,我还有很多内存,但是 80 MB 的 malloc 似乎对于操作系统来说太“大”了。

我正在使用具有 4 GB RAM 的 Windows 7 x64 SP1。我的进程是一个 32 位进程,使用 VC++ 2010 SP1 构建。我正在使用低碎片堆,这是 Win 7 上的默认设置 - 我还使用 HeapQueryInformation 进行了验证。我正在使用的 VC2010 C 运行时以这种方式创建堆:

根据文档HeapCreateHeapAlloc将自动调用VirtualAlloc大于 512KB 的块。

malloc()如果这不是内存不足,到底会导致什么失败?是不是我的记忆太碎片化了?我认为 Windows 会自动压缩堆。这真的很奇怪,我以前从未见过这种行为。

另一台装有 32 位 Windows XP SP3 的计算机表现出相同的行为。

谢谢,马丁

0 投票
1 回答
789 浏览

windows - 删除 dll 中对 CRT 的依赖

我正在 Visual Studio 2010 上构建一个 dll,我正在使用一些简单的 C 函数,例如fprintfand fread,默认情况下它链接到msvcr100.dll

此 dll 将被加载到可能使用不同 CRT 版本(例如msvcr90.dllmsvcrt.dll)的应用程序中。

msvcr100.dll由于我知道应用程序将在加载我的 dll 之前加载 CRT,我可以删除对应用程序加载的 CRT 中的 C 函数的依赖并使用它吗?

0 投票
2 回答
196 浏览

c++ - 显示窗口的简约 Visual C++ 应用程序

我正在尝试在 Visual Studio 2010 中创建一个符合以下条件的 C++ 应用程序:

  1. 显示一个空窗口
  2. 尽可能小(例如,小于 100kb)
  3. 在 Windows XP 的全新空安装上运行(不需要任何运行时、库等)

基本上,我想摆脱运行时。我唯一需要的是调用 WinAPI 函数来显示一个窗口和 BitBlt 一些东西到它的表面。

可能吗?

0 投票
0 回答
2231 浏览

c++ - 如何使 Keil RealView ARM MDK(用于 Cortex-M3)与重定向(到 USART)和 STL 一起工作?

几天来我一直在寻找解决方法。到目前为止还没有运气。

我用什么:

  • STM32F103VET6
  • J-Link
  • RealView MDK-ARM v4.12
  • 我的程序中的 C 和 C++ 代码

在我的代码中包含 STL 之前,一切正常。我可以毫无问题地重新定位到 USART printf()scanf()这是通过包含Retarget.cRV-MDK 附带的内容并编写我自己的sendchar()getkey(). Retarget.c有一行#pragma import(__use_no_semihosting_swi)要求链接器使用 的重定向版本<cstdio>,而不是调用半主机实现。

但是当我开始#include <deque>and时deque<int> buffer;,它不再起作用了。似乎链接器已经决定<deque>取决于 semihosting <cstdio>,这与我刚刚编写的重定向代码冲突。

我尝试过但失败了:

  • 摆脱__no_semihosting_swi并尝试覆盖_sys_open(). 它不起作用,因为半主机<cstdio>依赖于已经导出此符号的目标文件。
  • 此处建议的用法$super$$$sub$$语法(我想我已经尝试了他们提供的所有内容!)
  • 使用“MicroLIB”。这是史诗般的失败。
  • 深入研究提供的 STL 标头。我发现没有引用任何stdio. 而且,由于我可以#include <cstdio>并且仍然有重新定位,我认为即使是参考也不会产生任何影响。

我怀疑该解决方案与指导链接器有关,但到目前为止我还没有弄清楚......这太令人沮丧了!

0 投票
1 回答
1146 浏览

objective-c - 在 iPhone 应用程序中使用 X.509 证书和 OpenSSL

我试图弄清楚如何使用自编译的 OpenSSL API 来加载我已包含在 Xcode 项目结构中的现有 X.509 证书 (.crt)。

我需要一个应该从现有文件创建/加载的 X509 对象(来自 OpenSSL x509.h)。包括标题工作正常,但我真的找不到加载现有证书的方法...... x509.h 中有很多方法,但没有足够的文档。

谢谢,克里斯