g++相关内容

链接器返回“重定位在符号索引处具有无效符号..."

我正在 Ubuntu 上尝试一些代码.我正在尝试运行以下代码 #include #include #include #include “随机.h"使用命名空间标准;/* 函数原型!*/无效初始化随机种子();整数随机整数(整数低,整数高){初始化随机种子();双 d= rand()/(双(RAND_MAX)+1);双 s= d*(双(高)-低+1); ..
发布时间:2022-01-23 20:35:45 C/C++开发

构建调试目标时最好的 g++ 优化级别是什么?

当您想要构建可调试的东西(特别是 g++,但可能与 gcc 共享答案)时,最好的 -O 级别是什么?换句话说,在构建“调试"目标而不是“发布"目标时. gcc 在线文档在比较 -O0 和 -O1 时有点粗略(这里).我的解释是 -O1 只启用一种甚至可能影响可调试性的优化,即 -fomit-frame-pointer.但是引用文档,它仅在 -O1 中启用“这样做不会干扰调试".我的解释正确吗 ..
发布时间:2022-01-23 20:35:39 其他开发

用 g++ 编译的奇怪代码

以下代码使用g++ 4.8.1编译成功: int main(){整数(*)();} 它看起来像一个简单的函数指针声明: int(*f)(); 它不能用 clang 3.4 和 vc++ 2013 编译. 它是编译器错误还是标准的黑暗地方之一? 用 g++ 4.8.1 编译好的类似奇怪代码片段列表(更新): int(*)(); int(*); int(*){}; ..
发布时间:2022-01-23 20:35:31 C/C++开发

标准库 ABI 兼容性

假设我们有一个共享库,它接受或返回某种标准类: //lib.h#include std::vectorreturnSomeInts();//lib.cpp#include “lib.cpp"std::vectorreturnSomeInts() {返回 {1, 3, 5};} 因此,很明显,在编译共享库 lib.so 时,必须针对特定版本的标准库编译此代码,例如使用 ..
发布时间:2022-01-23 20:35:14 服务器开发

使用 g++ 编译 C++ 源代码时的 VLA

我了解 VLA 是 C99 的一部分,但不是 C++0x.那么我的问题是 g++ 为什么以及如何使用 VLA 编译代码.我在下面写了一个测试用例: test.c #include "stdio.h"int main(int argc, char *argv[]) {诠释我;整数数组[argc];for(i = 0; i ..
发布时间:2022-01-23 20:35:08 C/C++开发

如何在netbeans(linux)中链接库?

我正在尝试用 C++ 编写一个程序来分析声音.我想使用 libsndfile 库.我在 g++ 编译器选项中添加了一个选项 -lsndfile.但我得到了错误:WavReader.cpp:18: 对 `sf_open' 的未定义引用 如何链接库?请帮忙! #include #include "WavReader.h"#include #include ..
发布时间:2022-01-23 20:34:59 C/C++开发

std::array 的内联初始化有什么问题?

考虑以下声明: #include 结构 X{//std::arrayarr={假,假,假};布尔 brr[3]={假,假,假};}; 按原样,它可以通过 g++ 5.2 正常编译.但是如果我取消注释 std::array,我会得到一个错误: test.cpp:5:46: 错误:数组必须用大括号括起来的初始化程序初始化std::arrayarr={假,假,假};^ ..
发布时间:2022-01-23 20:34:48 C/C++开发

嵌入汇编程序以在可移植 C++ 中操作 64 位寄存器

我有一个简单(但性能关键)的 C (嵌入在 C++ 中)算法来操作数据缓冲区......该算法“自然"使用 64 位大端寄存器值 - 我想优化这使用汇编程序来直接访问进位标志和 BSWAP,因此避免了一次操作一个字节的 64 位值. 我希望解决方案能够在操作系统/编译器之间移植——最低限度地支持 GNU g++ 和 Visual C++——以及分别在 Linux 和 Windows 之间移植 ..
发布时间:2022-01-23 20:34:42 C/C++开发

在每个构建中更改二进制目标文件

在每次构建时使用 G++ GNU 编译器进行编译时,在不更改源代码的情况下,我会得到一个不同的二进制目标文件.是否有一个编译选项每次都会给我相同的二进制文件. 解决方案 复制自 GCC 手册页: -frandom-seed=字符串 此选项提供 GCC 使用的种子,否则使用随机数.它是用于生成某些必须不同的符号名称在每个编译的文件中.它也用于在覆盖数据文件中放置唯一的标记以及产生的目 ..
发布时间:2022-01-23 20:34:32 C/C++开发

g ++可以用已知值填充未初始化的POD变量吗?

我知道调试选项下的 Visual Studio 将使用已知值填充内存.g++(任何版本,但 gcc 4.1.2 最有趣)是否有任何选项可以用可识别的值填充未初始化的本地 POD 结构? struct something{ int a;诠释 b;};无效 foo() {未初始化的东西;栏(未初始化的.b);} 我希望 uninitialized.b 是不可预知的随机性;显然是一个错误并且很容易发 ..
发布时间:2022-01-23 20:34:25 C/C++开发

MingW 上更新的 G++ 收到大量错误消息

我在 Windows 10 上使用 MinGW,最近使用 mingw-get update 和 mingw-get upgrade 更新了我的 g++.即使在完全重新安装 MinGW 之后,也会发生此错误.谷歌搜索没有找到任何远程相关的东西. 我尝试编译 #include int main(){} 失败的原因如下: 包含在 c:\mingw\include\wcha ..
发布时间:2022-01-23 20:34:00 C/C++开发

g++ unicode 变量名

我正在尝试在 g++ 中使用 unicode 变量名. 它似乎不起作用. g++ 是否不支持 unicode 变量名,...或者是否存在 unicode 的某些子集(我没有在其中进行测试). 谢谢! 解决方案 编译时必须指定-fextended-identifiers标志,unicode也必须使用\uXXXX或\uXXXXXXXX(至少在 gcc 中它是 unicode) ..
发布时间:2022-01-23 20:33:53 其他开发

在 g++ 中是在后台使用 pthreads 的 C++ 11 线程模型吗?

我只是在尝试g++ 4.6 和C++11 功能.每次我使用 -std=c++0x 标志编译一个简单的线程代码时,它要么因分段错误而崩溃,要么只是抛出一些奇怪的异常. 我阅读了一些与 C++11 线程相关的问题,我意识到,我还需要使用 -pthread 标志来正确编译代码.使用 -pthread 工作正常,我能够运行线程代码. 我的问题是,C++11多线程模型是否在后台使用Pthread ..
发布时间:2022-01-23 20:33:25 C/C++开发

“A Tour of C++"中的错误代码还是不兼容的编译器?

我在“A Tour of C++"第 12 页看到了以下函数: int count_x(char const* p, char x){整数计数 = 0;而(p){if (*p == x) ++计数;++p;}返回计数;} while (p) 这行对我来说听起来不太对劲.我认为应该是 while (*p).不过,不想太冒昧,我用下面的代码测试了这个函数. int main(int argc, ..
发布时间:2022-01-23 20:33:15 C/C++开发

“g++"不被识别为内部或外部命令,MinGW

在我的电脑上,我有 Windows 7 x86.我安装了 MinGW,我写了路径,但是当我进入 cmd.exe 并写 g++ -v 时它说: "g++" 未被识别为内部或外部命令. 但是当我编写 make -v 命令时,它会识别它.我在学校需要这个,我在 Eclipse 中工作,我什至安装了最新的 java(我看到它必须安装). 解决方案 看到make命令运行正常,我想你忘记在MinG ..
发布时间:2022-01-23 20:32:58 Java开发

regex_match 和 regex_search 之间的区别?

我正在尝试使用正则表达式来回答这个问题,并且发现虽然 regex_match 找到匹配项,但 regex_search 没有. 以下程序是用g++ 4.7.1编译的: #include #include 主函数(){const std::string s = "/home/toto/FILE_mysymbol_EVENT.DAT";std::regex r ..
发布时间:2022-01-23 20:32:50 C/C++开发

g++ 是否满足 std::string C++11 要求

考虑以下示例: int main(){字符串 x = "你好";//这里调用了复制构造函数.字符串 y(x);//c_str return const char*,但这种用法很流行.char* temp = (char*)y.c_str();温度 [0] = 'p';cout 意思是 COW 是不允许的(至少在我的理解中). 怎么可能? g++ 是否满足 std::string C++11 要 ..
发布时间:2022-01-23 20:32:43 C/C++开发

如何避免 C++ 匿名对象

我有一个 ScopedLock 类,它可以帮助在超出范围时自动释放锁.但是,问题是:有时团队成员会编写无效的锁定代码,例如 {作用域锁(互斥锁);//匿名的xxx;} 上面的代码是错误的,因为ScopedLock对象是立即构造和销毁的,所以没能锁定预期的区域(xxx).我希望编译器在尝试编译此类代码时给出错误.这个可以吗? 我已经搜索了 g++ 警告选项,但没有找到正确的选项. 解 ..
发布时间:2022-01-23 20:32:28 C/C++开发