草庐IT

gcc-linaro

全部标签

c++ - Windows下的异常处理和stacktrace(MinGW/gcc)

我需要使Linux/GCC异常处理系统与Windows/MinGW兼容。注意:我需要从共享库中捕获和回溯异常。这是我在Linux/GCC下的实现方式...标题:#include#includestaticvoidhandler(intsig){//Catchexceptionsswitch(sig){caseSIGABRT:fputs("CaughtSIGABRT:usuallycausedbyanabort()orassert()\n",stderr);break;caseSIGFPE:fputs("CaughtSIGFPE:arithmeticexception,suchasdiv

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 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的方法,如果您

c - GCC:在不链接任何库的情况下编译应用程序

我知道如何在裸机嵌入式应用程序中使用GCC编译C应用程序而不链接任何库,只需设置启动函数并最终设置程序集startup.s文件。相反,我无法在Windows中执行相同的操作(我使用的是MINGW32GCC)。似乎与-nostdlib的链接也删除了在main之前需要执行的所有内容,所以我应该编写一个特定的启动但我没有找到任何关于它的文档。因为我需要在没有Cstdlib的情况下进行编译,原因是我正在为小型32位微Controller编写一个rducedCstdlib,我想在Windows下使用GCC测试和单元测试这个库。所以,如果有其他最简单的方法对我来说没问题。谢谢。