GCC是GNU编译器集合,包括gcc C编译器和g ++ C ++编译器等。它具有强大的警告功能,可以揭示C和C ++代码中的编码错误。
我收到以下程序的警告 #包括 int 主函数(无效) { int 数字 = 0xff; printf("%B “,数字); printf("%b “,~num); printf("%b &qu...
将 gcc 编译器更新到 gcc12.x 版本时,我遇到了一些新警告。 考虑这段代码: #包括 结构测试 { 内联静态 int i = 0; 测试() { ++i;...
在这种情况下 g++ -Wdangling-reference 警告是否合理?
使用 gcc 13.2 和 -Wdangling-reference 编译我的代码,我很惊讶在这个简单的场景中(godbolt): #包括 #包括 std::string& add_variable(std::...
考虑以下 C++ 代码: #包括 #包括 模板 类 InitInt { 民众: 使用base_type = BaseType; 私人的: 基本类型 v...
我是c++新手。 我想忽略警告 -Wunused-result,我猜它是由于 -Wall 标志而弹出的。我在网上搜索了一下,发现这是我可以通过声明一个编译指示来忽略它。我没有...
我有一个使用枚举作为参数的 C 函数,如下例所示: 类型定义枚举 { AB, 光盘 } A; void f(A 输入) { // 做一点事 } int 主函数(无效) { // 做一点事 f(-10);...
从初始值设定项列表转换为“A”将使用显式构造函数“A::A(int)”
我正在尝试将旧的 C++03 代码库迁移到 C++11。但我无法理解 gcc 在以下情况下警告我的内容: % g++ -std=c++03 t.cxx % g++ -std=c++11 t.cxx t.cxx:功能中...
如何让 gcc/clang 警告 switch 语句中缺少的中断
有没有办法让 gcc 或 clang 警告 switch 语句中缺少的中断? 具体来说,我几乎总是希望 case 语句以中断结尾,如果我能得到
随着不同语言之间的不断切换,我时不时地发现自己尝试用 C/C++ 编写 Python 或 JS 语法片段。 一个抓住了我的...
随着不同语言之间不断的来回切换,我时不时地发现自己尝试用 C/C++ 编写 python 或 JS 语法的片段。一个抓住了我的...
收到不兼容的指针类型警告,因为函数的返回不是 void* 而是结构指针
这个警告似乎没有必要。 在我的代码中,我有一个函数指针类型 (void*)(*函数指针)(void*数据) 并且有些函数需要这种类型的函数指针作为参数,b...
如何添加 -Wno-deprecated 以使命令 CFLAG 变量消除已弃用的警告
尝试过: 使所有 CFLAGS += -D-Wno-deprecated 产量: make: *** 空变量名。停下来。
我有一些使用 std::string_view 的简单代码,它在 gcc10 中运行良好,但在 gcc8 中不起作用。 std::string_view 在 GCC 7 中被添加到 C++17 中,因此应该可以使用它。 #包括 我有一些使用 std::string_view 的简单代码,它在 gcc10 中运行良好,但在 gcc8 中不起作用。 std::string_view已添加到GCC 7中的C++17中,所以应该可以使用它。 #include <string_view> using sv = std::string_view; sv ParseScheme(const sv& url) { sv pattern = "://"; if (auto found = url.find(pattern); found != sv::npos) { return sv(url.begin(), url.begin() + found); } return sv(); } 编译给了我: $ g++ main.cpp --std=c++17 -Werror main.cpp: In function 'sv ParseScheme(const sv&)': main.cpp:9:44: error: invalid conversion from 'std::basic_string_view<char>::const_iterator' {aka 'const char*'} to 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-fpermissive] return sv(url.begin(), url.begin() + found); ~~~~~~~~~~~~^~~~~~~ In file included from main.cpp:1: /usr/include/c++/8/string_view:105:56: note: initializing argument 2 of 'constexpr std::basic_string_view<_CharT, _Traits>::basic_string_view( const _CharT*, std::basic_string_view<_CharT, _Traits>::size_type ) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_string_view<_CharT, _Traits>::size_type = long unsigned int ]' basic_string_view(const _CharT* __str, size_type __len) noexcept ~~~~~~~~~~^~~~~ 我实际上做错了什么,还是 gcc8 中的 string_view 刚刚损坏了? 我可以使用 -fpermissive 忽略该问题,但我们使用 -Werror 进行编译,因此 -fpermissive 警告无论如何都会使构建失败。 这里使用的string_view(Iterator,Iterator)构造函数是C++20中添加的。这就是为什么它在 gcc8 中不起作用。 另一种方法是使用 C++17 中可用的 string_view(const char*, size_type) 构造函数: #include <string_view> using sv = std::string_view; sv ParseScheme(const sv& url) { sv pattern = "://"; if (auto found = url.find(pattern); found != sv::npos) { return sv(url.data() + found, url.size() - found); } return sv(); }
extern void myprint(unsigned char *); 静态内联空 myfunc(无符号字符 *buf) { for (无符号整数 i = 0; i < 20; i++) { buf[i] = i; } } int main(void) { unsigned char...
为什么 gcc -Wall 会发出有关零长度格式字符串的警告?
我四处搜寻了一下这方面的信息,但没有找到任何令人满意的东西。函数调用是否有一些特殊行为 sprintf(someString, ""); 这就解释了为什么会这样
此警告是由 GCC-13 开始的 G++ 编译器发出的。 Clang++ 17 对这段代码很满意。 MSCV 19 产生类似的警告 (39): 警告 C4263: 'Derived &Derived::operator =(const
警告:获取“结构详细信息”的打包成员的地址可能会导致未对齐的指针值 [-Waddress-of-packed-member]
结构细节_状态{ 结构详细信息_状态D1; 结构详细信息_状态D2; }; 结构详细信息{ 结构详细信息状态详细信息状态[2]; }
我正在尝试使用 GCC 版本 >= 12 编译 gcc 编译器,当我运行 make 时出现以下错误 tti -I../../../../gittea/gcc/libcpp -I。 -I../../../../gittea/gcc/libcpp/../include -我...
esp32-opencv-master flann:错误:insn不满足其约束:
我遵循此存储库文本以便能够在 ESP32-CAM 上使用 openCV。我能够使其与默认库(imgcodecs、imgproc 和 core)一起使用,但是当尝试添加 calib3d 时,我...
GCC 编译在 VS Code 外部终端中产生错误,但在另一个窗口中打开终端时编译工作正常
我正在尝试在 VS Code 终端中编译 .c 文件,但是在执行时 gcc test.c -o test.exe VS Code 外部终端将产生以下错误: 汇编消息: 致命错误:无法创建 C:...