g++相关内容

在不同优化级别访问 gcc/g++ 中的局部变量和全局变量的速度

我发现 gcc 中不同的编译器优化级别在访问循环中的局部变量或全局变量时会给出完全不同的结果.这让我感到惊讶的原因是,如果访问一种类型的变量比访问另一种类型的变量更可优化,我认为 gcc 优化会利用这一事实.这里有两个例子(在 C++ 中,但它们的 C 对应物给出了几乎相同的时间): 全局 = 0;for (int i = 0; i ..
发布时间:2022-01-23 21:04:38 C/C++开发

C++ 中的联合实际上是一个类吗?

一位初级开发人员问我是否可以为带有 POD 参数的联合重载赋值运算符,以便在将联合实例分配给该类型的变量时写入联合中的相应数据类型.我回答说我不这么认为,但随后玩弄了以下代码.令我惊讶的是,这段代码实际上已编译(在 Ubuntu 12.04 上使用 g++ 版本 4.6.3) union unMember{浮动 fData;无符号整数 uiData;unMember():uiData(0) {} ..
发布时间:2022-01-23 21:04:28 C/C++开发

如何找出使用 gcc 时实际应用了哪些优化?

使用 IBM 的 XL 编译器系列,可以提供两个选项(-qreport 和 -qlist)来为每个源文件生成报告,其中包括关于哪些优化的信息应用了,或者代码的哪些部分无法优化(以及为什么). 是否有可能获得关于 GNU 的 g++ 的类似报告 - 如果可以,该怎么做? 解决方案 看看 -fdump-tree-[switch] 标志.您可以使用 -fdump-tree-all 来获取大 ..
发布时间:2022-01-23 21:04:19 C/C++开发

在 Windows 7 上导入 Theano 时出现 g++ 错误

我正在尝试根据 thetheano 安装指南.我以前让 theano 使用仅 python 的实现.我在 python 3.4 上使用他们的 git repo 中的 theano 的前沿版本.我尝试使用 theano 建议的 TDM-GCC-64 方法以及 MinGW,两者都导致完全相同的错误.(复制尽可能可读) 使用下面的命令行编译时出现问题:C:\MinGW\bin\g++.exe -sha ..
发布时间:2022-01-23 21:04:12 其他开发

在 g++ 中转储类/结构成员变量

g++ 中是否有用于转储结构/类的成员变量 的标志或工具?为了说明,考虑这样的源代码 struct A { virtual void m() {};};结构 B:公共 A { int b;虚空 n() = 0;};结构 C : 公共 B { int c1, c2;无效o();};结构 D : 公共 C { 虚拟 void n() {};广告;}; 我想得到类似的东西 A: 0 = (vptr ..
发布时间:2022-01-23 21:04:02 C/C++开发

-lm 选项在 g++ 中有什么作用?

-lm选项在g++中有什么作用,什么时候需要? 是否有完整的 g++ 选项说明? 解决方案 这是一个链接器选项.它告诉链接器与 (-l) 链接 m 库 (libm.so/dll).那是数学图书馆.如果您 #include . ..
发布时间:2022-01-23 21:03:56 其他开发

将 Ubuntu 12.04 上的 GCC 4.6.3 升级到 4.8.2

我即将将 Ubuntu 12.04 提供的默认 GCC(版本 4.6.3)更新到 4.8.2,尽管编译需要独立的 C++ 编译器 admin@ubuntu:/usr/local/gcc_build$ sudo make 结束 配置:错误:C++ 编译器丢失或无法运行make[2]: *** [configure-stage1-libcpp] 错误 1 因此我转向g++的安装过程,偏好最新版 ..
发布时间:2022-01-23 21:03:41 其他开发

如果在 C++ 中不返回值会发生什么?

昨天,我发现自己在写这样的代码: SomeStruct getSomeStruct(){SomeStruct 输入;cin>>输入.x;cin>>输入.y;} 当然忘记实际返回我刚刚创建的结构.奇怪的是,这个函数返回的 结构中的值被初始化为零(当使用 g++ 编译时).这只是巧合,还是隐式地在某处创建并初始化了另一个 SomeStruct? 解决方案 是否在某处隐式创建并初始化了另 ..
发布时间:2022-01-23 21:03:33 C/C++开发

用 g++ 链接 opencv 库

您好,我正在尝试编译取自该网站的 c++ 文件:http://opencv-code.com/tutorials/eye-detection-and-tracking/ 用于眼动追踪.但我对此有点陌生,我真的不明白图书馆是如何链接的.我知道包含头文件的绝对路径位于/user/include/opencv2 中.如何在 gcc 命令行(ubuntu)中链接它?我试过这个命令: $ g++ -Wal ..
发布时间:2022-01-23 21:03:23 C/C++开发

在 Visual Studio Code 中编译 C++11

我正在使用 Visual Studio Code 编译 C++ 程序,它适用于大多数 C++ 程序,因为它使用 g++ 命令进行编译.但是,我在使用它编译 c++11 程序时遇到了困难. 当我尝试编译 C++11 程序时,编译器命令 g++ 会尝试使用默认的 C++98 标准对其进行编译,这会导致错误. 我知道使用 g++ -std=c++11,我们可以使用 g++ 编译 C++11 ..
发布时间:2022-01-23 21:02:14 C/C++开发

如何捕获 x86 上的数据对齐错误(Sparc 上的 SIGBUS)

是否有可能在 i386 上捕获数据对齐错误?也许通过设置一个 i386 特定的机器寄存器或类似的东西. 在这种情况下,在 Solaris-Sparc 上我收到了 SIGBUS,但在 i386 上一切正常. 环境: 32 位应用程序 Ubuntu 业力 gcc/g++ v4.4.1 编辑:这就是我问这个的原因: 我们的应用程序在使用 SIGBUS 的 Sol-Spa ..
发布时间:2022-01-23 21:01:58 C/C++开发

是否可以将来自两个可执行文件的覆盖率数据与 gcov/gcovr 合并?

在一个项目中,我在三个不同的可执行文件上运行测试用例,并使用不同的选项进行编译.根据选项,是否采用某些代码路径.现在,我只使用来自一个可执行文件的覆盖率数据. 我正在使用 gcovr 生成一个 XML,然后由 Sonar 解析: gcovr -x -b -r .--object-directory=调试/测试>覆盖报告.xml 我有三组 gcda 和 gcno 文件,但我不知道如何生成它 ..
发布时间:2022-01-23 21:01:49 其他开发

将 -rdynamic 链接器选项添加到 gcc/g++ 会影响性能吗?

我想在应用程序崩溃时获取堆栈跟踪.我知道 -rdynamic 选项可以使用函数名称获取完整的堆栈跟踪.但我担心是否会对我的应用程序的性能产生任何影响. 解决方案 是的,虽然它非常具体,通常不会引起关注. -rdynamic 选项指示链接器将运行时通常不需要的符号添加到符号表中.这意味着动态链接器需要在运行时清除更多(可能更多)符号以进行符号解析. 具体来说,由于基于 GNU 的 ..
发布时间:2022-01-23 21:01:24 服务器开发

当存在同名的共享库时,如何强制链接静态库

假设我有一个文件 main.cpp,它使用 libmath 中定义的 sin() 函数.还假设我们在同一目录中同时拥有 libmath.a 和 libmath.so.现在,如果我发出命令 g++ -o main main.cpp -lmath,Linux 的默认行为是链接到共享库 libmath.so.我想知道有没有办法强制程序与静态库 libmath.a 链接而不删除或移动共享库? 解决方 ..
发布时间:2022-01-23 21:01:17 服务器开发

“g++"和“c++"编译器

我刚刚在我的 Ubuntu 上发现,有两种不同的 C++ 编译器:/usr/bin/g++ 和 /usr/bin/c++.我对后者不熟悉,但 man c++ 只是跳转到 gcc 的手册页.我想知道它们作为 C++ 编译器有什么区别? 解决方案 这是典型的 Ubuntu 符号链接混乱. 如果你ls -l/usr/bin/c++,你会发现它实际上是一个符号链接.到: /etc/alte ..
发布时间:2022-01-23 21:01:10 C/C++开发

语句goto不能跨变量定义?

假设这些代码在g++中编译: #include int main() {整数=0;转到退出;int *b = NULL;出口:返回0;} g++ 会抛出错误: goto_test.c:10:1: error: jump to label ‘exit’ [-fpermissive]goto_test.c:6:10:错误:从这里 [-fpermissive]goto_test ..
发布时间:2022-01-23 21:00:54 其他开发