gcc VS代码中的C/C++扩展-编译器链接“_string. h”而非“string. h”

57hvy0tb  于 2023-03-02  发布在  C/C++
关注(0)|答案(1)|浏览(214)

我在一个程序中使用“strcpy()”,当调用它时,我收到一个语法警告
调用宏strcpy'时参数太少
经过一番挖掘,我发现我的编译器正在从实现_string.h宏的路径/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_string.h链接_string.h。到目前为止,这是我遇到这个问题的唯一库。(是的,我包括string.h,而不是_string.h
可以肯定地认为这是由于VS代码的C/C++扩展造成的,因为我在vim中重新创建时没有遇到这个问题。
下面是“悬停”在我使用strcpy()时扩展的屏幕截图:x1c 0d1x
其他人有过这个问题吗?如果有,你是如何修复的?_string.hstring.h有什么区别?

更新日期:

查看_string.h文件后,第25行包含以下# error "Never use <secure/_string.h> directly; include <string.h> instead.",但我只使用string.h

cuxqih21

cuxqih211#

  • _string.h* 表示“永远不要直接使用〈secure/_string.h〉****;包括〈string.h〉”。因此,这意味着 string.h 包括 _string.h

相关问题