Прежде всего, вы можете просто переопределить их, например, #define snprintf snprintf_s
. Их подписи равны.
Если вы просто хотите сгенерировать ошибку компилятора, самый простой способ - всегда включать заголовок с переопределением всех функций, которые вы хотите заблокировать.
Эти переопределения могут вызвать синтаксическую ошибку, а также указать пользователю причину ошибки:
#include <stdio.h>
#define snprintf {"Unsafe! Use snprintf_s instead!"}
#define sscanf {"Unsafe! Use sscanf_s instead!"}
#define strncat {"Unsafe! Use strncat_s instead!"}
Вы можете создать такой заголовок (назовем его force_safe.h
) и включить его в начале каждого исходного файла. В G CC вы также можете сделать это во флагах компилятора (например, gcc -iforce_safe.h ...
).