草庐IT

gcc-statement-expression

全部标签

c++ - 与 VS2013 相比,gcc 4.7.2 中的 std::map 实现效率非常低?

有人可以帮我理解std::map容器是如何实现的吗?我有一个包含原子成员的类,我不需要调用复制构造函数,所以我使用c++11delete运算符来抑制复制构造函数的隐式生成。MyCalss(constMyClass&a)=delete;这在我的Windows构建中运行良好,但是在Linux中,我收到一条错误消息,通知我std::map类的[]运算符正在尝试调用已删除的函数。在WindowsVS2013和LinuxGCC4.7.xmap实现之间似乎存在重大差异。这促使我做了一个关于如何将对象插入map的实验。我写了这个小示例程序:#include#include#include#inclu

c - 将 User32 与 gcc 链接起来

我有一个C程序,它有一个在windows.h中定义的函数调用(我已经包含了),但是,当我尝试用gcc编译它时>,我得到错误:warning:implicitdeclarationoffunction`LockWorkStation'我查看了MSDN文档,发现此函数是User32库文件,我想知道如何将它链接到我的文件。 最佳答案 LockWorkstation可在Windows2000及更高版本上使用。您必须声明您的目标Windows版本。让它看起来像这样:#define_WIN32_WINNT0x500#include

windows - 适用于 Windows 的 gcc 4.7 二进制文件

我在哪里可以下载适用于Windows平台的gcc4.7的二进制文件?谢谢。 最佳答案 我推荐GCC的TDM构建,但还不是4.7-但也许你可以向作者询问一些新的东西?可用:http://tdm-gcc.tdragon.net/download 关于windows-适用于Windows的gcc4.7二进制文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9920225/

使用 gcc -c *.c 将源代码编译成目标文件

我的操作系统是Windows10。这次我使用命令提示符进行编译。根据我正在阅读的书,要编译所有源文件并使其成为目标文件,(在当前目录中)通过键入以下命令来完成:gcc-c*.c它说操作系统将用所有C文件名替换*.c但为什么会出现此错误?gcc:error:*.c:Invalidargumentgcc:fatalerror:noinputfilescompilationterminated.我在正确的目录中。当我用它们各自的名字编译我的源文件时,它工作正常。但是'*.c'不工作。在使用'*.o'链接目标文件时出现同样的错误该命令不适用于Windows操作系统吗?如果不是,Windows是

c++ - MinGW C++ : expected primary-expression before '/' token

这是我在这里的第一个问题,也是我第一次无法在网上四处寻找解决C++问题的方法。我在这方面相对缺乏经验,不确定什么是相关的,所以我只会发布我认为可能有用的内容。我正在使用SDL制作跨平台应用程序。我在Windows7(64位)上使用MinGW4.6.1,并在另一台计算机上安装了Ubuntu。它在Ubuntu(使用g++)上编译良好,没有任何提示,但是当我尝试在我的Windows机器上使用g++编译时,出现以下错误:...matrix.cpp:77:17:error:expectedprimary-expressionbefore'/'token...matrix.cpp:78:11:er

python 3 : `else` statement get executed even `if` statement was true

根据之前的问题ElsestatementexecutingeventheIFstatementisTRUE提供的建议是检查缩进。缩进在我的代码中似乎是正确的。似乎是什么问题?根据https://www.tutorialspoint.com/python/python_if_else.htmAnelsestatementcanbecombinedwithanifstatement.Anelsestatementcontainstheblockofcodethatexecutesiftheconditionalexpressionintheifstatementresolvesto0ora

c - 使用 minGW gcc 未定义对 _imp____glew* 函数的引用

我正在尝试在Win7x64系统上使用MinGW编译一个相对简单的OpenGL程序,但我不断收到对几个GLEW函数的undefinedreference。我已将库设置为链接到程序,并一直在四处寻找列表中可能缺少的任何库,但链接器的输出仍然如下所示:16:35:50****IncrementalBuildofconfigurationDebugforprojecttest****Info:InternalBuilderisusedforbuildgcc-LD:/DEV/openGL/lib/x86-LD:/DEV/x86/lib-otest.exetest.o-lfreeglut-lgla

windows - 在 Eclipse/CDT/gcc 中使用 Visual Studio 构建的 .lib

我在最初使用VisualStudio开发的Windows上使用gcc编译程序时遇到了一些问题。到目前为止,我已经能够解决几乎所有问题,例如缺少头文件等,但现在我陷入了最后一件事:gcc无法链接到我的程序使用的第三方库之一(FlyCapture2.lib)。它告诉我它在那里找不到任何函数/方法。我已经检查了库是否真的在库路径上以及诸如此类的事情,但它仍然不起作用。我四处搜索了一下,了解到它可能与使用Microsoft编译器创建的.libs的格式有关。有没有办法将这样的库转换为与gcc兼容?还有什么我可能错过的吗?(我已经找到了这个similarquestion,但是它的解决方案在这里不起

python - ctypes cdecl 在调用 gcc 编译的 dll 返回结构时缺少 4 个字节

我有一个c库(chipmunk),我想使用ctypes调用它。但是,它在返回结构的函数上失败了?我得到的错误是File"qw.py",line19,inb=cpBBNew3(1,2,3,4)ValueError:Procedurecalledwithnotenougharguments(4bytesmissing)orwrongcallingconvention这是(相关的)C代码:在cpBB.h中typedefstructcpBB{cpFloatl,b,r,t;}cpBB;cpBBcpBBNew3(cpFloatl,cpFloatb,cpFloatr,cpFloatt);在cpBB.

c - Windows 是否有等同于 Unix GCC 的 __attribute__((weak)) 的 __declspec?

我想导入一些C代码但覆盖它的main()函数。我可以在Unix中通过在C代码的主声明前加上__attribute__((weak))来做到这一点,但是,这不会在Windows中编译,因为StrawberryPerl的GCC和MinGW的GCC都无法识别__attribute__((弱))。在线阅读文档,__declspec似乎功能相似。是否有一个__declspec等同于UnixGCC的__attribute__((weak))宏?这是一个更具体的版本earlier我发布的问题。 最佳答案 我认为还有另一种使用MSVC的方法,如果您