13d58139fSopenharmony_ci# libboundscheck 23d58139fSopenharmony_ci 33d58139fSopenharmony_ci#### 介绍 43d58139fSopenharmony_ci- 遵循C11 Annex K (Bounds-checking interfaces)的标准,选取并实现了常见的内存/字符串操作类的函数,如memcpy_s、strcpy_s等函数。 53d58139fSopenharmony_ci- 未来将分析C11 Annex K中的其他标准函数,如果有必要,将在该组织中实现。 63d58139fSopenharmony_ci- 处理边界检查函数的版本发布、更新以及维护。 73d58139fSopenharmony_ci 83d58139fSopenharmony_ci#### 函数清单 93d58139fSopenharmony_ci 103d58139fSopenharmony_ci- memcpy_s 113d58139fSopenharmony_ci- wmemcpy_s 123d58139fSopenharmony_ci- memmove_s 133d58139fSopenharmony_ci- wmemmove_s 143d58139fSopenharmony_ci- memset_s 153d58139fSopenharmony_ci- strcpy_s 163d58139fSopenharmony_ci- wcscpy_s 173d58139fSopenharmony_ci- strncpy_s 183d58139fSopenharmony_ci- wcsncpy_s 193d58139fSopenharmony_ci- strcat_s 203d58139fSopenharmony_ci- wcscat_s 213d58139fSopenharmony_ci- strncat_s 223d58139fSopenharmony_ci- wcsncat_s 233d58139fSopenharmony_ci- strtok_s 243d58139fSopenharmony_ci- wcstok_s 253d58139fSopenharmony_ci- sprintf_s 263d58139fSopenharmony_ci- swprintf_s 273d58139fSopenharmony_ci- vsprintf_s 283d58139fSopenharmony_ci- vswprintf_s 293d58139fSopenharmony_ci- snprintf_s 303d58139fSopenharmony_ci- vsnprintf_s 313d58139fSopenharmony_ci- scanf_s 323d58139fSopenharmony_ci- wscanf_s 333d58139fSopenharmony_ci- vscanf_s 343d58139fSopenharmony_ci- vwscanf_s 353d58139fSopenharmony_ci- fscanf_s 363d58139fSopenharmony_ci- fwscanf_s 373d58139fSopenharmony_ci- vfscanf_s 383d58139fSopenharmony_ci- vfwscanf_s 393d58139fSopenharmony_ci- sscanf_s 403d58139fSopenharmony_ci- swscanf_s 413d58139fSopenharmony_ci- vsscanf_s 423d58139fSopenharmony_ci- vswscanf_s 433d58139fSopenharmony_ci- gets_s 443d58139fSopenharmony_ci 453d58139fSopenharmony_ci#### 构建方法 463d58139fSopenharmony_ci 473d58139fSopenharmony_ci运行命令 483d58139fSopenharmony_ci``` 493d58139fSopenharmony_cimake CC=gcc 503d58139fSopenharmony_ci``` 513d58139fSopenharmony_ci生成的动态库libboundscheck.so存放在新创建的lib目录下。 523d58139fSopenharmony_ci 533d58139fSopenharmony_ci#### 使用方法 543d58139fSopenharmony_ci1. 将构建生成的动态库libboundscheck.so放到库文件目录下,例如:"/usr/local/lib/"。 553d58139fSopenharmony_ci 563d58139fSopenharmony_ci2. 为使用libboundscheck,编译程序时需增加编译参数"-lboundscheck",例如:"gcc -g -o test test.c -lboundscheck"。