visual-c++ 相关问题

Microsoft Visual C ++是Windows的C,C ++和C ++ / CLI编译器。最新版本的编译器是Visual C ++ 2017.编译器支持以下语言:C:支持C90和ISO C ++标准的大部分C99和C11部分,自Visual Studio 2017 C ++开始:支持大多数C ++ 11功能以及Visual Studio 2017 C ++ / CLI中的一些C ++ 14和C ++ 17功能

MSCTF.dll 抱怨“发生断言失败”

我正在使用Win10 SDK在Win11上开发应用程序,这是我的环境: MSVC v142 Win10 SDK(10.0.19041.0) PCL 1.12.1 OpenCV 4.8.0 Qt 5.15.2 当我在调试中从 Qt Creator 运行我的应用程序时...

回答 1 投票 0

默认参数改变行为的虚拟方法

我被要求对使用 Visual Studio 2013 VC++ 构建的旧项目进行轻微更改。所以,我安装了 VS2013,进行了更改,编译了它,但它的行为在我没有更改的代码上发生了变化...

回答 1 投票 0

如何将配置文件引导优化自动化作为 Visual C++ 构建的一部分?

我想以自动化方式将 PGO 合并到 Visual C++ 构建步骤中。 具体来说,我希望能够: 选择构建配置(我们称之为发布(PGO)) 单击构建解决方案...

回答 1 投票 0

未解析的外部符号 - GRPC

我使用protoc编译器编译了c++ grpc文件,所以我认为引用应该不会产生任何问题。 我添加了 "grpc\include" 、 "grpc\src" 和 "grpc hird_party\protobuf\src\google\protobuf...

回答 2 投票 0

最小 Visual C++ X-Y 图的起点

有一个用 Visual C++ 编写的绘制 x-y 数据图形的简单程序示例吗? 这是为了操作小型光谱仪。我想要一个显示图表并且几乎不做其他事情的起点,对此...

回答 1 投票 0

我应该使用前向声明来打破 C++ 模块片段之间的循环依赖关系吗?

Visual Studio 2022 中的 C++ 模块可以处理前向声明吗? 下面的代码有一个循环依赖,我想使用前向声明来打破它,但编译器似乎没有这样做

回答 1 投票 0

C# 无法加载 DLL - HRESULT: 0x8007007E 对于具有日本文化的应用程序发生

我有一个c#应用程序,它导入非托管dll(也是我构建的)并使用它。 最近将应用程序从 VS2017 迁移到 VS2022。 现在应用程序只要不能崩溃就会崩溃

回答 1 投票 0

为什么 Visual Studio 会发出警告“关系表达式作为开关表达式”?

我有以下代码: 浮动x = 0.43; 浮点y = 1.56; size_t 较大值索引 = 1; size_t 较小值索引 = 0; 开关 (x > y) { 情况1: 较大值索引 = 0; 较小值索引 = 1...

回答 1 投票 0

错误:无法打开源文件“”

我正在运行 Visual Studio C++,我有一个头文件“GameEngine.h”,我试图让另一个文件看到它。 当我#include“GameEngine.h”时,它给我一个错误,它无法打开...

回答 7 投票 0

使用pip安装glpk库时出错

当我想在装有 Windows 10 和 Visual Studio 2022 的 PC 上使用 python 的 pip 安装 glpk 库时,我收到以下错误,从我所看到的来看,尝试编译它们,就好像它是一个 libra...

回答 1 投票 0

C++ 调试:MSVCP140D.dll 未设计为在 Windows 上运行

我正在尝试调试我在 Visual Studio 2017 Professional 中接管源代码的 C++ 程序。我可以在“Release x64”配置中构建应用程序,并且它执行得很好。 即使我

回答 1 投票 0

无法使用 Pitch RTI Free 运行 HLA 应用程序

我一直在尝试使用 Visual Studio 和 Pitch RTI Free 运行应用程序。我已遵循 Pitch pRTI 用户指南第 9 章中所述的说明。我一直在尝试使用...

回答 1 投票 0

如何获取和设置编辑框的“只读”属性?

如何获取和设置编辑框的“只读”属性?

回答 3 投票 0

CMFCPropertyGridCtrl 中的文本位置

编辑时(或在AllowEdit设置为false的情况下单击),文本向左移动: 但 Visual Studio 本身并没有遇到这个问题: 文本在获得焦点之前准确地保持在原来的位置。 哈...

回答 1 投票 0

由于无法识别的表达式或语句,无法将“内联”函数定义写入模块

我正在尝试 MSVC 和模块。 我有以下代码: 模块; #include“windows.h” 导出模块; 当我在 Win32 配置中编译它时,我得到以下信息: 1>...

回答 1 投票 0

CMFCPropertyGridCtrl 添加可编辑字符串属性

我从 CMFCPropertyGridCtrl 派生了一个类来添加一个简单的界面来满足我的需求。我想添加一个新的字符串值,以便可以编辑它: void CPropertyGrid::AddString(const char* 标签, const char*

回答 1 投票 0

使用 MFC 和状态栏调整对话框大小问题

我的对话框的最小尺寸不考虑状态栏的尺寸。 在 OnInitDialog 中,我创建状态栏并将其添加到动态布局中: m_StatusBar.Create(this); m_StatusBar.SetIndic...

回答 1 投票 0

视觉工作室中有状态分配器?看起来有点坏了 - 有没有办法在 VS 中编写一个有效的有状态自定义分配器?

将某些代码移植到 VS 不起作用,因为 std::allocator 的实现不能正确支持具有状态的分配器。 从在 gcc 和 clang 上运行良好的代码示例来看,它看起来...

回答 1 投票 0

Visual Studio Express:致命错误 c1060,编译器堆空间不足

我正在尝试使用 VC 11 从源代码构建一个程序。当编译器即将完成时,它会引发本文标题中提到的错误。 正如我在这里和其他论坛上读到的那样,我...

回答 8 投票 0

汇编和模板类

我正在开发一个小项目,并尝试将一些硬编码值用于内联汇编。为此,我使用模板。我创建了一个代码片段来显示我所看到的 #包括 我正在开发一个小项目,并尝试将一些硬编码值用于内联汇编。为此,我使用模板。我创建了一个代码片段来显示我所看到的 #include <iostream> template <size_t T> struct MyClass { size_t myValue = T; void doSomething() { size_t value = T; __asm { mov eax, [T] mov [value], eax } std::cout << value << std::endl; } }; int main() { auto o = new MyClass<999>(); o->doSomething(); return 0; } 事实证明,对于汇编代码,它试图使用数据段而不是“直接将数字粘贴到那里” ; 25 : { push ebp mov ebp, esp push ecx ; 26 : auto o = new MyClass<999>(); push 4 call ??2@YAPAXI@Z ; operator new add esp, 4 ; 14 : size_t value = T; mov DWORD PTR _value$2[ebp], 999 ; 000003e7H ; 26 : auto o = new MyClass<999>(); mov DWORD PTR [eax], 0 mov DWORD PTR [eax], 999 ; 000003e7H ; 15 : __asm ; 16 : { ; 17 : mov eax, [T] mov eax, DWORD PTR ds:0 ; 18 : mov [value], eax mov DWORD PTR _value$2[ebp], eax ; 19 : } ; 20 : std::cout << value << std::endl; 我正在使用 Visual Studio 2015。还有其他方法可以实现此目的吗? 啊,多么可爱又扭曲的问题啊! 我尝试使用 T 初始化 constexpr 变量。结果是相同的 - 从内存加载值。宏可用于将文字传递给内联汇编,但它们与模板不能很好地混合。 使用 T 在类中初始化枚举在理论上应该可行(https://msdn.microsoft.com/en-us/library/ydwz5zc6.aspx提到枚举可以在内联汇编中使用),但是在内联汇编使 Visual Studio 2015 编译器崩溃:-)。 似乎有效的是一个函数模板,它使用模板参数声明一个枚举,然后在内联程序集中使用该枚举。如果必须将其放在模板类中,则可以在类中实例化模板函数,如下所示: #include <iostream> template <size_t T> void dosomething() { enum { LOCALENUM = T }; size_t value = 0; __asm { mov eax, LOCALENUM mov[value], eax } std::cout << value << std::endl; } template <size_t T> struct MyClass { size_t myValue = T; void doSomething() { ::dosomething<T>(); } }; int main() { //dosomething<999>(); auto o = new MyClass<999>(); o->doSomething(); return 0; } 这会产生以下汇编代码: auto o = new MyClass<999>(); 001B1015 mov dword ptr [eax],0 001B101B mov dword ptr [eax],3E7h o->doSomething(); 001B1021 mov eax,3E7h <--- Victory! 001B1026 mov dword ptr [ebp-4],eax 001B1029 mov ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (01B2048h)] 001B102F push offset std::endl<char,std::char_traits<char> > (01B1050h) 001B1034 push dword ptr [ebp-4] 001B1037 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (01B2044h)]

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.