13d58139fSopenharmony_ci# libboundscheck 23d58139fSopenharmony_ci 33d58139fSopenharmony_ci#### Description 43d58139fSopenharmony_ci 53d58139fSopenharmony_ci- following the standard of C11 Annex K (bound-checking interfaces), functions of the common memory/string operation classes, such as memcpy_s, strcpy_s, are selected and implemented. 63d58139fSopenharmony_ci 73d58139fSopenharmony_ci- other standard functions in C11 Annex K will be analyzed in the future and implemented in this organization if necessary. 83d58139fSopenharmony_ci 93d58139fSopenharmony_ci- handles the release, update, and maintenance of bounds_checking_function. 103d58139fSopenharmony_ci 113d58139fSopenharmony_ci#### Function List 123d58139fSopenharmony_ci 133d58139fSopenharmony_ci- memcpy_s 143d58139fSopenharmony_ci- wmemcpy_s 153d58139fSopenharmony_ci- memmove_s 163d58139fSopenharmony_ci- wmemmove_s 173d58139fSopenharmony_ci- memset_s 183d58139fSopenharmony_ci- strcpy_s 193d58139fSopenharmony_ci- wcscpy_s 203d58139fSopenharmony_ci- strncpy_s 213d58139fSopenharmony_ci- wcsncpy_s 223d58139fSopenharmony_ci- strcat_s 233d58139fSopenharmony_ci- wcscat_s 243d58139fSopenharmony_ci- strncat_s 253d58139fSopenharmony_ci- wcsncat_s 263d58139fSopenharmony_ci- strtok_s 273d58139fSopenharmony_ci- wcstok_s 283d58139fSopenharmony_ci- sprintf_s 293d58139fSopenharmony_ci- swprintf_s 303d58139fSopenharmony_ci- vsprintf_s 313d58139fSopenharmony_ci- vswprintf_s 323d58139fSopenharmony_ci- snprintf_s 333d58139fSopenharmony_ci- vsnprintf_s 343d58139fSopenharmony_ci- scanf_s 353d58139fSopenharmony_ci- wscanf_s 363d58139fSopenharmony_ci- vscanf_s 373d58139fSopenharmony_ci- vwscanf_s 383d58139fSopenharmony_ci- fscanf_s 393d58139fSopenharmony_ci- fwscanf_s 403d58139fSopenharmony_ci- vfscanf_s 413d58139fSopenharmony_ci- vfwscanf_s 423d58139fSopenharmony_ci- sscanf_s 433d58139fSopenharmony_ci- swscanf_s 443d58139fSopenharmony_ci- vsscanf_s 453d58139fSopenharmony_ci- vswscanf_s 463d58139fSopenharmony_ci- gets_s 473d58139fSopenharmony_ci 483d58139fSopenharmony_ci 493d58139fSopenharmony_ci#### Build 503d58139fSopenharmony_ci 513d58139fSopenharmony_ci``` 523d58139fSopenharmony_ciCC=gcc make 533d58139fSopenharmony_ci``` 543d58139fSopenharmony_ciThe generated Dynamic library libboundscheck.so is stored in the newly created directory lib. 553d58139fSopenharmony_ci 563d58139fSopenharmony_ci#### How to use 573d58139fSopenharmony_ci1. Copy the libboundscheck.so to the library file directory, for example: "/usr/local/lib/". 583d58139fSopenharmony_ci 593d58139fSopenharmony_ci2. To use the libboundscheck, add the “-lboundscheck” parameters to the compiler, for example: “gcc -g -o test test.c -lboundscheck”.