README.md 1.3 KB

bounds_checking_function

介绍

  • 遵循C11 Annex K (Bounds-checking interfaces)的标准,选取并实现了常见的内存/字符串操作类的函数,如memcpy_s、strcpy_s等函数。
  • 未来将分析C11 Annex K中的其他标准函数,如果有必要,将在该组织中实现。
  • 处理边界检查函数的版本发布、更新以及维护。

函数清单

  • memcpy_s
  • wmemcpy_s
  • memmove_s
  • wmemmove_s
  • memset_s
  • strcpy_s
  • wcscpy_s
  • strncpy_s
  • wcsncpy_s
  • strcat_s
  • wcscat_s
  • strncat_s
  • wcsncat_s
  • strtok_s
  • cwcstok_s
  • sprintf_s
  • swprintf_s
  • vsprintf_s
  • vswprintf_s
  • snprintf_s
  • vsnprintf_s
  • scanf_s
  • wscanf_s
  • vscanf_s
  • vwscanf_s
  • fscanf_s
  • fwscanf_s
  • vfscanf_s
  • vfwscanf_s
  • sscanf_s
  • swscanf_s
  • vsscanf_s
  • vswscanf_s
  • gets_s

构建方法

  • 编译步骤
  1. 将src下的.c文件添加到构建脚本的源码清单中。

  2. 在编译选项中指定头文件目录以及项目需要的编译选项(例如:在CFLAGS中添加 -Ipath_to_include -fstack-protector-strong -fPIC -Wall -D_FORTIFY_SOURCE=2 -O2)。

  3. 为每个.c文件编译生成.o文件 。

  4. 根据项目需要将.o文件生成静态库或共享库使用。

  • 编译示例:

    gcc -o memcpy_s.o -c -Iinclude -fstack-protector-strong -fPIC -Wall -D_FORTIFY_SOURCE=2 -O2 src/memcpy_s.c