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"。