g++相关内容

防止 std 命名空间之外的标准函数

我只使用特定于 C++ 的头文件(例如 ),但是我仍然得到全局声明的函数,而不仅仅是 std 中的函数命名空间.有没有办法(也许是编译器开关)来防止这种情况发生? 例如下面的代码: #include 浮动随机(){返回0.0f;}int main() { 返回 0;} linux下编译失败,报错: >g++ -c main.cpp main.omai ..
发布时间:2022-01-23 21:12:11 C/C++开发

Clang 的链接器

我为 Clang 使用哪个链接器? 如果我使用 Clang 或 GNU 链接器(ld) 作为链接器,我得到了大量的错误,就好像我没有链接到标准库一样. g++ $(OBJS) -o $(BINDIR)/obtap 看来我必须使用 g++ 来链接我的 Clang 对象. 解决方案 我运行的是 'clang' 而不是 'clang++',这意味着它没有链接 C++ 标准库. ..
发布时间:2022-01-23 21:12:02 C/C++开发

未检测到theano g++

我安装了 theano,但是当我尝试使用它时,我得到了这个错误: 警告(theano.configdefaults):未检测到 g++!Theano 将无法执行优化的 C 实现(针对 CPU 和 GPU),默认为 Python实施.性能会严重下降. 我安装了g++,并且把正确的路径放在环境变量中,所以就像theano没有检测到一样. 有谁知道如何解决这个问题或可能是什么原因? ..
发布时间:2022-01-23 21:11:38 Python

如何告诉 MinGW 链接器不要导出所有符号?

我正在使用 MinGW 工具链构建一个 Windows 动态库. 为了构建这个库,我静态链接到提供 API 的其他 2 个库,并且我有一个 .def 文件,我在其中编写了我想在我的库中导出的唯一符号. 问题是 GCC 正在导出所有符号,包括我链接到的库中的符号.有没有办法告诉链接器只导出 def 文件中的符号? 我知道有选项 --export-all-symbols 但似乎没有相 ..
发布时间:2022-01-23 21:11:27 C/C++开发

为什么 constexpr 上下文会使编译器失败,而没有完美优化?

我玩弄了 constexpr 并发现了一些有趣的行为: 在某些情况下,在函数前添加 constexpr 可以使 GCC 尝试更加努力地优化,从而完全优化函数并仅提供计算值.但是,从 constexpr 上下文调用这样一个完全优化的函数会导致错误,因为它在内部使用(编译器内置的)函数/内在函数,这些函数/内在函数未标记为 constexpr(尤其是 memcpy). (Clang 在将 co ..
发布时间:2022-01-23 21:11:11 C/C++开发

在没有 -fPIC 的情况下将静态库链接到共享库

我想将目标文件和静态库合并到一个共享库中,但静态库不应暴露,它只在进入共享库的目标文件中引用.我认为在这种情况下,我不需要使用 -fPIC 编译静态库,但我不知道如何告诉链接器我不会使用静态库中的符号这一事实.为了说明我的问题,请使用以下文件: 文件foo.cpp: #include "static.h"使用命名空间标准;字符串版本信息(){返回静态版本信息();} 文件static.c ..
发布时间:2022-01-23 21:11:03 C/C++开发

g++:内部编译器错误:分段错误(程序 cc1plus) - 我从哪里开始?

我正在将在 Ubuntu 14.04 上编译的代码移植到 16.04.我已经克隆了我的 git repo,安装了依赖项并尝试了通常的 make 命令,很快我就遇到了 g++: internal compiler error: Segmentation fault (program cc1plus) ...我不确定从哪里开始诊断和解决此问题. 我会尽可能多地分享,看看是否有人可以指导我解决问题 ..
发布时间:2022-01-23 21:10:55 C/C++开发

对构造函数的未定义引用

我是一名尝试 C++ 的 Java 开发人员. 我刚刚创建了一个新课程.在我的其他课程中,我想要列出可以存储过滤器对象的列表. Filter.h #ifndef FILTER_H_#define FILTER_H_类过滤器{上市:过滤器(int id);内部标识;〜过滤器();};#endif/* FILTER_H_ */ Filter.cpp #include "Filter. ..
发布时间:2022-01-23 21:10:31 C/C++开发

g++ 花引号在控制台和“问题"中显示不正确列表

最近,我从 Visual Studio 切换到 Eclipse CDT.我已经把它设置得很漂亮,这样我的 Cygwin 安装中的 G++ 编译器就可以毫不费力地找到并编译我的代码. 不过,有一点小小的不满.每次 G++ 报告警告或错误时,大括号单引号 ' 和 ' 分别显示为 â€~ ’.这似乎是一个字符编码问题;G++ 或 Cygwin 正在吐出 CDT 或 Eclipse 都不喜欢的字 ..
发布时间:2022-01-23 21:10:23 其他开发

是什么让 gcc std::list 排序实现如此之快?

我有一个链表实现,我正在试验合并排序和快速排序算法. 我不明白为什么 std::list 中的排序操作如此之快.查看 linux 下的 std::list ,它似乎也是链表,而不是基于数组的列表. 我在这里尝试的合并排序与 Dave Gamble 的版本几乎相同:合并排序链接列表 另外,我想我会尝试基于此代码的简单快速排序:http://www.flipcode.com/arch ..
发布时间:2022-01-23 21:09:57 服务器开发

GCC 构建问题 (#include_next limits.h)

当我尝试时 $ make 依赖 -f gcc.mak 我的 Ubuntu 机器上的一个中间件我得到了这个 /usr/include/../include/limits.h:125:26: 错误:没有搜索limits.h的包含路径 这是limits.h:125周围的内容: /* 获取编译器的limits.h,它定义了几乎所有的ISO 常量.我们把这个#include_next 放在双重包含 ..
发布时间:2022-01-23 21:09:27 服务器开发

在 C++ 中包含 C 代码

我正在尝试将 C 代码包含到一个简单的 C++ 程序中,但遇到了一个意想不到的问题 - 当我尝试编译该程序时,g++ 给出了以下错误: /tmp/cccYLHsB.o:在函数“main"中:test1.cpp:(.text+0x11): undefined reference to `add' 我搜索了一个解决方案,找到了这个教程: http://www.parashift.com/c+ ..
发布时间:2022-01-23 21:09:22 C/C++开发

scoped_lock 如何避免发出“未使用的变量"?警告?

boost::mutex::scoped_lock 是一个方便的 RAII 包装器,用于锁定互斥锁.我对其他事情使用了类似的技术:一个 RAII 包装器,它要求数据接口从/重新连接到串行设备. 但是,我想不通的是为什么在下面的代码中只有我的对象 mst —其实例化和销毁确实有副作用 —导致 g++ 发出“未使用变量"警告错误,而 l 设法保持沉默. 你知道吗?你能告诉我吗? [gen ..
发布时间:2022-01-23 21:09:15 C/C++开发