c++ - 在 AppContainer 中运行 MinGW g++ 编译程序并抛出 ERROR_ILLEGAL_DLL_RELOCATION
问题描述
我正在尝试在 AppContainer 中运行 g++ 编译的程序,但它会引发最后一个错误 623。
MSDN 将此代码解释为ERROR_ILLEGAL_DLL_RELOCATION
{非法系统 DLL 重定位} 系统 DLL %hs 在内存中被重定位。应用程序将无法正常运行。发生重定位是因为 DLL %hs 占用了为 Windows 系统 DLL 保留的地址范围。应联系提供 DLL 的供应商以获取新的 DLL。
我认为在 AppContainer 中运行的程序无权读取内存 DLL,但 MSVC 编译的程序工作正常。
像下面的例子:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!\n";
return 0;
}
直接使用它可以正常工作CreateProcess()
,但在 AppContainer 中返回 623 错误。
g++ 没有添加额外的编译指令,它是 g++ -g {source file} -o {target file}.exe
需求:解决623错误。
参考:AppContainer
g++ 版本:MinGW 8.2.0-4
MSVC 版本:14.22.27905
Windows SDK:10.0.17134.0
解决方案
推荐阅读
- c# - 如何在后面的代码中将图像嵌入到 ListView 中?
- docker - 如何修复错误“无法在 unix:///var/run/docker.sock 连接到 Docker 守护进程。docker 守护进程是否正在运行”
- python - @Property - 函数没有被执行 - Python
- c - 如何在 Visual Studio 中使用 C 的 SAL 注释编写此函数?
- angular - Angular Inside ngFor如何设置[禁用]不适用于多个条件
- vue.js - 如果在 router.js vuejs 中条件为真,如何在其他路由上重定向
- sql - 需要有关如何存储数据的建议
- php - find请求中如何绑定数组参数?
- python - 将 aws-lambda-powertools-python 与 python 类 lambda 一起使用
- java - 从变量名展开字符串