Какие системные вызовы делают эти функции? - PullRequest
1 голос
/ 07 января 2011

Какие вызовы Win32 API используют эти функции (если есть)?

_itoa_s(), strcat_s()

Ответы [ 4 ]

4 голосов
/ 07 января 2011

Возможно НЕТ.

Этими функциями являются версии MicroSoft secure стандарта C itoa и strcat. Эти функции C являются частью библиотеки C, а не системной библиотеки. Предоставляемая ими функция может быть реализована полностью без каких-либо системных вызовов.

Но, в конце концов, я понятия не имею, делают ли они системные вызовы или нет.

1 голос
/ 07 января 2011

Только один, на самом деле, SetUnhandledExceptionFilter ().Вслед за TerminateProcess ().Который находится в пути кода, когда функция обнаружила переполнение буфера.Это предотвращает активацию вредоносных программ путем подключения фильтра необработанных исключений и преднамеренного нарушения прав доступа.К сожалению, это также затрудняет создание пользовательских отчетов о сбоях, когда переполнение вызвано простой ошибкой программирования.Код находится в vc / crt / gs_report.c

1 голос
/ 07 января 2011

Я был бы очень обеспокоен, с точки зрения производительности, если бы такие «базовые» средства требовали системного вызова. У меня нет однозначного ответа на ваш вопрос, но здравый смысл сказал бы: нет.

1 голос
/ 07 января 2011

Вы можете просто войти в них с помощью отладчика и посмотреть, что именно они делают.На первый взгляд, они не выполняют никаких системных вызовов, чего я и ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...