最近,我遇到了一个用C编写的问题,其中有一些未定义的行为,由于这些行为存在一些分段错误.而其他帮助我调试它的人也收到了他们的编译器GCC的警告.在我的例子中,当在VS代码中运行同样的问题时,它没有给出任何警告,甚至没有一个错误,遗憾的是没有输出.执行开始,然后在终端中关闭自己的. 我用的是Windows 11.

我想要这样的警告. People who helped me got this kind of warnings

推荐答案

编译时应该try 添加-Wall -Wextra,如下所示:

gcc main.c -o executable.exe -Wall -Wextra

这些选项告诉编译器更加严格,并向您显示更多警告.你可以看到他们在这page美元上到底做了什么

C++相关问答推荐

了解返回函数指针的函数定义

C sscanf没有捕获第二个参数

从内联程序集调用Rust函数和调用约定

为什么在C中进行大量的位移位?

当多个线程在C中写入相同的文件描述符时,如何防止争用情况?

两个连续的语句是否按顺序排列?

在c++中使用堆栈的有效括号

带有sigLongjMP中断I/O的异常处理程序

模拟shell并运行.sh文件

Clang:如何强制运行时错误的崩溃/异常由于-fsanitize=undefined

初始变量重置后,char[]的赋值将消失

如何在C语言中正确打印图形

RawMotion的XInput2错误(具有较高值的XISelectEvents上的BadValue)

==284==错误:AddressSaniizer:堆栈缓冲区下溢

用C++初始化局部数组变量

区分MySQL C界面中的文本和BLOB字段

为什么一个在线编译器拒绝这个VLA代码,而本地的Apple clang却不拒绝;t?

struct 中的qsort,但排序后的 struct 很乱

#define X Defined(Y) 是有效的 C/C++ 宏定义吗?

与 C 相比,C++ 中无副作用的无限循环的好处是 UB?