草庐IT

VC_redist.x64

全部标签

c++ - 为什么在一个类中使用 uint64_t 需要比 2 个 uint32_t 更多的内存?以及如何防止这种情况?

我做了下面的代码作为例子。#includestructclass1{uint8_ta;uint8_tb;uint16_tc;uint32_td;uint32_te;uint32_tf;uint32_tg;};structclass2{uint8_ta;uint8_tb;uint16_tc;uint32_td;uint32_te;uint64_tf;};intmain(){std::cout打印202484因此很容易看出一个uint64_t与两个uint32_t一样大,为什么类2会有4个额外字节,如果它们除了用两个uint32_t替换一个uint64_t之外是相同的。

c++ - `__m256` 的包装器使用构造函数产生段错误 - Windows 64 + MinGW + AVX 问题

我有一个看起来像这样的unionunionbareVec8f{__m256m256;//avx8xfloatvectorfloatfloats[8];intints[8];inlinebareVec8f(){}inlinebareVec8f(__m256vec){this->m256=vec;}inlinebareVec8f&operator=(__m256m256){this->m256=m256;return*this;}inlineoperator__m256&(){returnm256;}}__m256需要在32字节边界上对齐才能与SSE函数一起使用,并且应该自动对齐,即使在u

c++ - MS VC++ 上直接和复制初始化的不同行为(使用用户定义的转换运算符)

以下代码compilesfine同时使用g++9.1和clang8.0.0(编译标志为-std=c++17-Wall-Wextra-Werror-pedantic-errors),但不适用于MSVC19.22(编译标志为/std:c++17/permissive-):structX{};structBar{Bar()=default;Bar(X){}};structFoo{operatorX()const{returnX{};}operatorBar()const{returnBar{};}};intmain(){Foofoo;[[maybe_unused]]Barb1=foo;//O

c++ - 如何在 VC6 监 window 口中获取变量的完整字符串值?

我想在VC6监window口中获取char[]变量的完整值,但它只显示截断的版本。我可以从调试内存窗口复制值,但它包含十六进制和字符串值的混合行。当然有更好的方法吗?? 最佳答案 对于大字符串,您几乎会被内存窗口困住——工具提示最终会被截断。幸运的是,内存窗口很容易从中获取数据——我倾向于以8字节的block显示它,因此它易于管理,找到你的字符串数据并将其剪切并粘贴到一个空白窗口中,然后使用alt+拖动到选择列并删除十六进制值。然后从字符串的底部开始并不断向上翻页/删除(换行符)以构建您的字符串(我为该位使用了一个宏)。一旦你得到长

c++ - 什么是无效,更新方法在 VC++ 中做什么

我对C++中的窗口函数有一点疑问。"invalidate()"函数究竟做了什么?它发送什么消息?当我们需要调用它时?还有什么是"update()"函数?"invalidaterect()"是否与"invalidate()"函数类似?谢谢 最佳答案 CWnd::Invalidate()使窗口的整个客户区无效,这表明该区域已过时,应该重新绘制。您通常会在需要重绘的控件上调用它。CWnd::InvalidateRect()仅使窗口的一部分无效。使用Invalidate函数,WM_PAINT消息将发布[不严格为真;查看评论]到消息队列并在将

c++ - 模板构建错误 : Undefined symbols for architecture x86_64:

我正在尝试使用一个模板类,当我在LWS中将它编译到一个文件中时,它起作用了:(链接失效)~http://liveworkspace.org/code/a9c412a7e683439dfa35a9363749369d~但是当我尝试编译它由3个文件组成时,stack.h第4到21行stack.cpp第24到48行main.cpp第49行到结束当我尝试编译这3个文件时,我得到了Undefinedsymbolsforarchitecturex86_64:"Stack2,std::allocator>>::push(Node**,std::basic_string,std::allocator>

c++ - 为什么 list::push_back 在 VC++ 中比在 g++ 中慢得多?

此代码在我的VS2012中大约需要20秒,但在G++中仅需1.x秒。均在win8x64中并使用默认选项编译。listitems;for(inti=0;i是关于内存分配的吗?在我的机器上用VC++输出后释放内存需要3~5秒,而在我friend的(win7x64)上甚至超过1分钟。 最佳答案 嗯...我扩展了您的代码以包含计时:#include#include#include#includeintmain(){std::listitems;clock_tstart=clock();for(inti=0;i我用VC++编译使用:cl/O2

c++ - VC++2012如何切换到设计 View ?

我刚刚安装了VisualStudio2012专业版,我打算编写我的第一个HelloWorld应用程序,但找不到设计器View!如何在VisualC++2012Professional中切换到设计器模式? 最佳答案 也许你习惯了C#,当你说MyForm.cs并且你只是打开它时,它默认打开MyForm.cs[Design]窗口,您可以在其中设计对话。在VisualC++中,对话框的外观存储在资源文件中,因此您需要双击Win32Project3.rc,这会将您的左Pane切换到资源View。然后你会看到更多资源类型(它们看起来像文件夹),

c++ - 为什么代码被clang接受而被vc++拒绝?

clang3.4接受以下代码;而vc++NOV2013CTP拒绝它并出现错误:errorC2668:'AreEqual':ambiguouscalltooverloadedfunctiontemplateconstexprheadT&&__GetFirst__(headT&&value,tailTypes&&...){returnstatic_cast(value);};templateconstexprboolAreEqual(constT&a,constT&b){returna==b;}templateconstexprboolAreEqual(constheadT&head_va

c++ - LNK1112 : module machine type 'x64' conflicts with target machine type 'X86' : Qt creator

我有一个在linux上运行的应用程序,我正试图将其导入到windows上。我已经设置了所有库并对.pro文件进行了更改。现在,当我尝试构建项目时出现此错误:error:LNK1112:modulemachinetype'x64'conflictswithtargetmachinetype'X86'我不确定是什么导致了这个问题。我正在使用32位Qtcreator。我知道有几个链接讨论了更改项目属性,但所有这些都与在VisualStudio中更改它们有关。我正在使用Qtcreator并通过QtUI运行项目。所以我不确定如果必须解决这个问题,必须通过Qt对项目属性进行哪些更改。