首页 文章
  • 6 votes
     answers
     views

    std :: regex和双ABI

    今天我发现了一个有趣的双libstdc ABI案例,影响了库的兼容性 . 长话短说,我有两个库都在内部使用std :: regex . 一个是使用CXX11 ABI构建的,另一个不是 . 当这两个库在一个可执行文件中链接在一起时,它会在启动时崩溃(在输入 main 之前) . 这些库是不相关的,并且不公开提及任何 std:: 类型的接口 . 我认为这些库应该不受双重ABI问题的影响 . 显然不是!...
  • 143 votes
     answers
     views

    如何查看哪些标志-march = native将激活?

    我'm compiling my C++ app using GCC 4.3. Instead of manually selecting the optimization flags I' m使用 -march=native ,理论上应该添加适用于我正在编译的硬件的所有优化标志 . 但是我如何检查它实际使用的是哪些标志?
  • 0 votes
     answers
     views

    MinGW GDB(v7.6.1) - (gdb)在fd 0上检测到异常条件

    我有一个非常简单的C程序: #include <iostream> using namespace std; int main(){ int i = 0; cout << "Hello world!" << endl; i++; } 当我用debug编译链接时: ---jGRASP exec: C:\MinGW\bin\g++...
  • 6 votes
     answers
     views

    我需要帮助尝试使用MinGW编译GLFW的简单示例

    我试图从GLFW的文档中编译一个例子 . 我的库和源文件的文件夹结构是: C:\ CPP \ glfw3.dll glfw3dll.a libglfw3.a test.cpp 包括\ GLFW \ glfw3.h glfw3native.h #include <GLFW/glfw3.h> int main(void) { GLFWwindow* window; /*...
  • 0 votes
     answers
     views

    C fopen()无法在/ tmp中打开文件

    我正在关注tutorialspoint.com上的基本C编程教程 我有以下程序在/ tmp中生成一个名为test.txt的文件: #include <stdio.h> int main() { FILE *fp; fp = fopen("/tmp/test.text", "w+"); fprintf(fp, &quo...
  • 3 votes
     answers
     views

    编译中的Geany,g和SDL错误

    所以,我正在关注一个简单的C with SDL教程,但我遇到了一些错误 . 首先我使用Geany并且我下载了相应的SDL2库,这是事情: 在我的项目文件夹中有一个main.cxx文件,我使用geany打开,如前所述: 我包括这个库: #include <iostream> #include <SDL2/SDL.h> #include <SDL2/SDL_image....
  • 0 votes
     answers
     views

    编译错误架构x86_64的未定义符号:

    我有一个程序,我试图从我的项目目录编译,并无法解决以下错误 我的编译命令 g++ grades.cpp -o grades 我看到以下错误 Undefined symbols for architecture x86_64: "tbb::task_scheduler_init::initialize(int, unsigned long)", referenced from:...
  • 219 votes
     answers
     views

    GCC转储预处理器定义

    有没有办法让gcc / g从命令行转储其预处理器定义?我的意思是像 __GNUC__ , __STDC__ 等等 .
  • 1 votes
     answers
     views

    未找到Msys MinWG GTK-3错误程序文件

    我在D:\ Program Files \ msys中安装了 msys2 和 mingw64 以及 mingw64-GTK3 .我安装的软件包是mingw-w64-x86_64-gtk3,mingw-w64-x86_64-make,mingw-w64-x86_64-gcc和...我要编译 main.cpp $ cat main.c #include <gtk/gtk.h> void...
  • 0 votes
     answers
     views

    为什么不能在ws2_32中找到getnameinfo?

    我不明白为什么g在ws2_32中找不到 getnameinfo ,nm表明它在那里 . 这是输出: $ I:/Programs/MinGW/msys/1.0/bin/sh.exe ../libtool --tag=CXX --mode=link g++ -g -O2 -no-undefined -version-info 16:0:0 -o libetpan.la -rpath /i/Pr...
  • -2 votes
     answers
     views

    尝试从方法返回指向对象的指针时出现分段错误

    当我试图从classA的方法返回classB的对象时,我会抛出'segment fault' . 我不知道如何解决这个错误,如果有人能告诉我为什么会发生这个错误,我将不胜感激 . 所以......这是代码: classA.h #include "classB.h" #ifndef _CLASS_A_H_ #define _CLASS_A_H_ class ClassA{ p...
  • 1 votes
     answers
     views

    我在制作GCC时遇到错误(Makefile:4999:目标'configure-stage1-gmp'的配方失败)

    以下是我安装GCC的步骤 下载并解压缩GCC,GMP,MPFR,MPC(最新版本) . 没有版本更名为GMP,MPFR,MPC,并将GMP,MPFR,MPC移至GCC的源文件夹 走了GCC的路径并导出了库"export LD_LIBRARY_PATH=LIBRARY_PATH:/usr/local/lib" 采用GMP路径并进行配置和安装(./configure...
  • 1 votes
     answers
     views

    用mcmodel = medium [closed]编译时C程序崩溃

    当使用mcmodel = medium编译时,C程序会因分段错误而崩溃 . 我们在堆栈上使用了一些非常大的数组,我们需要启用中型mcmodel . 我正在使用g 5.4,当我对应用程序进行扫描时,它会打印出错误 . 请告知如何调试 . strace ./app execve("./app", ["./app"], [/* 65 vars */]) = -1...
  • 1 votes
     answers
     views

    模板中的关键字“typename”

    以下是代码和引用来自Addison Wesley的C模板: template <typename T> class MyClass { typename T::SubType * ptr; … }; 如果没有typename,SubType将被视为静态成员 . 因此,它将是一个具体的变量或对象 . 因此,表达式T :: SubType * p...
  • 0 votes
     answers
     views

    在ubuntu上使用make的错误编译代码 . Clang错误:未知警告选项'-Wlogical-op';

    我试图从github编译Monero,我遇到以下错误 . 知道如何解决它? 我甚至降级了gcc,并降低到6.5 [ 5%] Built target generate_translations_header [ 13%] Built target libminiupnpc-static [ 15%] Built target lmdb [ 16%] Built target easyloggin...
  • 28 votes
     answers
     views

    C模板,未定义的引用

    我有一个声明如下的函数: template <typename T> T read(); 并定义如下: template <typename T> T packetreader::read() { offset += sizeof(T); return *(T*)(buf+offset-sizeof(T)); } 但是,当我尝试在main()函数中使...
  • 8 votes
     answers
     views

    更简单的c模板编译错误输出

    在C中使用模板时,任何错误都会导致编译器发出大量输出 . 在大多数情况下,当我正在处理大部分信息时,我需要滚动查找我感兴趣的信息,例如: 列出了每个候选模板 . 我很少使用这个长列表,它只会使输出混乱 . 扩展了模板特化的别名,例如 std::string 写为 std::__cxx11::basic_string<char, std::char_traits<char>...
  • 1 votes
     answers
     views

    是否可以使用C来编排基类相对于其派生类的偏移量?

    考虑以下“黑匣子”, template<std::size_t offset, typename T> class BlackBox; 必须具备以下功能: class SomeClass; // This class has a virtual destructor // and a default constructor. constexpr s...
  • 3 votes
     answers
     views

    如何将makefile包含到其他makefile中?

    我有一些C类,每个都有一个带有makefile的自己的文件夹,test.cpp用于测试目的等等 . Main folder |-> Class1 folder |-> Class2 folder |-> Class2.1 folder |-> Class2 folder 我有一个主项目,必须包括这些类 . 我试图将所有子makefile包含在主makef...
  • 3 votes
     answers
     views

    C TR1正则表达式不可用

    我'm trying to utilize the ' TR1 ' regular expression extensions for some C++ string parsing. I'已读到 <regex> 标头和命名空间std :: tr1是必需的 我可以使用 <regex> 标头进行编译(虽然它强制我使用标志, -std=c++0x 或 -std=gnu++0x ...
  • 2 votes
     answers
     views

    为什么我的C编译器说虚拟成员没有定义?

    This question可能是重复的,但我不确定,因为我的程序在一个文件中 . // my-program.cpp class A { public: virtual void foo(); }; class B : public A { public: void foo() {} }; int main() { B myB; } 然后我在终端输入 g++ my-progra...
  • 1 votes
     answers
     views

    Pthread条件变量不可预测的结果

    首先抱歉发布一个很长的问题,但请保持耐心:) . 作为我的应用程序的一部分,我使用线程来读取内存映射文件的不同部分,因为映射文件的前半部分由主线程读取和处理,映射文件的后半部分由另一个线程读取和处理 . 我正在使用一个条件变量,以确保第二个线程等待,直到主线程填充结构中的文件相关值 . 使用这种方法我有时会正确填充文件大小,有时它无法正确显示 . 以下是适用的代码: void * thread_p...
  • 217 votes
     answers
     views

    C unordered_map使用自定义类类型作为键

    我试图使用自定义类作为unordered_map的键,如下所示, #include <iostream> #include <algorithm> #include <unordered_map> //#include <map> using namespace std; class node; class Solution; class No...
  • 2 votes
     answers
     views

    为ARM交叉编译安装gcc时出现问题

    为ARM交叉编译安装gcc时出现问题 我一直在尝试安装gcc-arm-linux-fnueabi软件包,我已经通过几种不同的方法完成了几次,但我似乎总是缺少include目录中的c文件夹 . 要安装,我用过: sudo apt-get install gcc-arm-linux-gnueabihf 安装完成后,我的/ usr目录中有arm-linux-gnueabi和arm-linux-gnuea...
  • -1 votes
     answers
     views

    g编译和链接多个文件时

    我遇到g编译/链接问题 . 我想实现一个动态数组 . 我将类定义和实现分为“DArray.h”和“DArray.cpp”文件 . 并在“DArraytest.cpp”文件中进行测试,其中包含一个main functionn . 所有文件都在同一目录中,我使用以下命令编译g * .cpp 但它仍然给我这样的链接错误/tmp/cc4tu73o.o:在函数 __static_initialization...
  • 7 votes
     answers
     views

    G Cpp中的“未定义引用”

    似乎无法让错误消失 . 错误如下 . 我看过谷歌仍然无法搞清楚 . 这不像我是Cpp的新手,但有一段时间没有被它愚弄 . Weird thing is it worked with G++ in Windows... 错误: [ze @ fed0r! --- ** __ *] $ g main.cpp /tmp/ccJL2ZHE.o:在函数`main'中: main.cpp :( . ...
  • 1 votes
     answers
     views

    C链接对象的文件(G)

    class.h #include <iostream> #include <stdint.h> using namespace std; template <typename T> class CIntegerType { public: void Show ( void ); private: T m_Data; }; class....
  • 3 votes
     answers
     views

    无法链接GLFW3:未定义的引用

    我之前已经意识到类似的东西(glfw3 compiling undefined references),但我仍然无法让它工作 . 欢迎任何帮助! 下面是运行make时的编译器输出: g -std = c 11 -Wall -Wextra -Werror -pedantic-errors -I / usr / local / include -c -o Main.o Main.cpp g -std...
  • 15 votes
     answers
     views

    编译器优化:g比intel慢

    我最近购买了一台带有双启动的计算机,以C语言编写代码 . 在Windows上我在linux上使用intel C编译器和g . 我的程序主要包括计算(具有数值积分的定点迭代算法等) .我以为我可以在linux上接近windows的表演,但到目前为止我还没有:对于完全相同的代码,用g编译的程序比用intel编译器慢大约2倍 . 从我读到的内容来看,icc可以更快,甚至可以达到20-30%的增益,但我没...
  • 18 votes
     answers
     views

    静态数据成员初始化

    为什么静态数据成员初始化必须在类之外? class X { public: int normalValue = 5; //NSDMI static int i; }; int X::i = 0; 为什么静态数据成员(这里是“i”)只是一个声明,而不是一个定义?

热门问题