我正在使用 C++。我想在 linux 上构建包含 memcpy_s 的代码。我正在使用 gcc 9.3。我做了一些修改。
#ifdef __cplusplus
extern "C" {
#define _STDC_WANT_LIB_EXT1_ 1
#include <string.h>
}
#endif
void doMemCopy(char* buf, size_t buf_size, char* in, int chr) {
memcpy_s(buf, buf_size, in, chr);
}
我使用 CMakelist 文件,例如:
set(CMAKE_C_FLAGS_RELEASE "-MD -Ob3 -O2 -fp:fast -JMC- -DNDEBUG -utf-8")
set(CMAKE_CXX_FLAGS_RELEASE "-MD -Ob3 -O2 -fp:fast -JMC- -DNDEBUG -utf-8")
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
它给了我这个错误:错误:'memcpy_s'没有在这个范围内声明;您指的是 'memcpy' 吗?我究竟做错了什么。