SAL - это язык Microsoft для статического анализа исходного кода C++.
0 ответов

Visual Studio 2015 string.h противоречивые аннотации

Я использую Visual Studio 2015, и я также установил (и переустановил) последний SDK. Я запустил новый проект и установил уровень предупреждения, я также установил "Обрабатывать предупреждения как ошибки" и настроил запуск статического анализа кода п…
25 сен '16 в 13:40
1 ответ

Как Microsoft SAL может предотвратить ошибку "один на один"

Вот пример, приведенный в MSDN ( http://msdn.microsoft.com/en-us/library/hh916383.aspx), в котором пытались объяснить аннотацию SAL, которая может помочь найти распространенную ошибочную ошибку. wchar_t * wmemcpy( _Out_writes_all_(count) wchar_t *de…
05 июл '13 в 23:13
1 ответ

MSVC SAL vs. C++2a Контракт

В MSVC есть функция SAL, которую можно использовать для описания параметра, результата и т. Д., И она работает хорошо, а переносимость также хороша, функция контракта C++2a, кажется, делает то же самое, может кто-нибудь дать Разница между ними?
15 дек '18 в 08:57
1 ответ

Анализ кода не понимает _In_opt_ параметр Аннотация?

Похоже, ошибка SAL. Код: PAAFILEFILTER_PROTECTED_FILE curFile = NULL; try { status = GetProtectedFile(FileIdInfo, instanceContext, &curFile); if(!NT_SUCCESS(status)) { TraceError("Can't GetProtectedFile with status: %!STATUS!\n", status); leave;…
01 апр '16 в 10:29
2 ответа

Аннотации sal (prefast) для принудительного применения числа переменных аргументов

У меня есть функция variadic: print_n_integers(7, 1, 2, 3, 4, 5, 6, 7); int print_n_integers( unsigned int count, ... ) { // use va_start etc. } Я хотел бы использовать аннотации Microsoft SAL от sal.h так что компилятор Visual Studio замечает, когд…
11 июн '15 в 03:56
1 ответ

Не могу понять отчет анализатора VS2015

Анализатор сообщает, что определенный параметр не инициализирован. Я не понимаю, почему. Код: LPTSTR buffer = NULL; DWORD reqSize = 16000; DWORD dataType; LPTSTR * array; DWORD szChars; BOOL bRegProp; // Allocate buffer according to required size bu…
04 янв '16 в 08:42
0 ответов

Изменение IP-адреса Docker на 10.10.xx

Мы пытаемся использовать SAL на OS X. Docker и Kitematic кажутся великолепными, но я не могу понять, как подключиться к SAL после того, как он был настроен в Kitematic (Docker). Машина, на которой размещен Docker, - 10.10.10.15. Docker создает вирту…
17 мар '16 в 12:56
1 ответ

Понимание __deref_out

Я новичок в программировании Windows, и я не могу найти какие-либо ресурсы для понимания, что означает эта аннотация SAL. Я в основном пытаюсь найти примеры, поэтому я точно знаю, что это значит и для звонящего, и для вызываемого. Статья MSDN здесь …
21 ноя '14 в 00:02
1 ответ

Gitfs как бэкенд для стека соли не работает

Я использую версию 2015.8.1 salt-master и хочу использовать gitfs в качестве бэкэнда, но он не работает для меня. Пожалуйста, проверьте ниже конфигурацию для того же самого. fileserver_backend: - git gitfs_provider: pygit2 gitfs_user: salt-stack git…
10 ноя '15 в 04:31
2 ответа

Странное SAL аннотации предупреждение

Я пытаюсь использовать аннотацию SAL Micosoft для своего проекта, однако получаю следующее предупреждение и не знаю почему. В качестве примера я создал новое консольное приложение C++ и получил следующий код: #include <sal.h> class Whatever { …
16 мар '09 в 23:32
3 ответа

Язык исходных аннотаций Microsoft (SAL) - есть ли способ воспользоваться этим?

Есть ли способ воспользоваться SAL от Microsoft, например, через синтаксический анализатор C, который сохраняет эту информацию? Или это сделано Microsoft, только для внутреннего использования Microsoft? Это было бы чрезвычайно полезно для многих зад…
03 май '12 в 07:34
1 ответ

Jira SAL с использованием PluginSettings

Я искал способ для хранения специфичных для проекта конфигураций для моего плагина. На первом этапе я хочу сохранить только простую строку типа "Hello". Итак, я нашел SAL и PluginSettings. https://developer.atlassian.com/docs/atlassian-platform-comm…
08 май '15 в 08:47
1 ответ

SAL аннотации и параметры указателя

Я читал о SAL, и мне не ясно, применяются ли аннотации к типам указателей к ссылке или к значению, на которое она указывает. Например, если у меня есть: void f(_In_ type* t); _In_ означает "Параметр должен быть действительным в предварительном состо…
30 авг '13 в 17:40
1 ответ

Могу ли я удалить проверки NULL и bounds, если я использую SAL?

Насколько я могу положиться на SAL? Нужно ли делать NSTATUS my_func(_In_ int *p) { if (NULL == p) { return STATUS_INVALID_PARAMETER; } *p = 1; return STATUS_SUCCESS; } или я могу просто сделать NTSTATUS my_func(_In_ int *p) { *p = 1; return STATUS_S…
22 ноя '14 в 02:10
2 ответа

Вывод указателя на ошибку SAL вызывающей стороны

Я пытаюсь добавить SAL в мой код... я работал в соответствии с msdn и нашел ошибку в примерах msdn, не знаю, как с этим бороться. Здесь немного изменился пример "Вывод указателя на вызывающую сторону (пример: аннотация Outptr)" из Понимания SAL Outp…
31 окт '14 в 16:14
0 ответов

Microsoft SAL аннотации для двух атрибутов GCC?

Я нашел эту страницу: https://docs.microsoft.com/en-us/cpp/c-runtime-library/sal-annotations?view=vs-2017 документирующую множество аннотаций SAL. Но я не могу найти аннотации SAL, которые аналогичны двум аннотациям GCC: __attribute__((fallthrough))…
16 янв '19 в 01:48
1 ответ

Безопасно ли удалять аннотации SAL из кода?

Я портирую некоторый код из Visual Studio в Mingw gcc. Я заметил, что в этом коде много аннотаций, таких как __field_ecount_opt AM_NOVTABLE _out_bcount_part_opt(x,y) используются. Я наткнулся на эту ветку, в которой говорится о аннотациях SAL. Мой в…
05 мар '15 в 01:14
0 ответов

Почему этот простой пример аннотации не отклоняется в Статическом анализе кода?

Я использую SAL, чтобы убедиться, что все пути кода, которые создают объект X должен позвонить X::work() прежде чем уничтожить его. #include <sal.h> class X { bool worked = false; public: _Post_satisfies_(!worked) X() : worked(false) {} _Post_…
08 июн '18 в 06:25
1 ответ

C++ source_annotation_attribute

Просматривая исходный код .NET Framework 4.7 с открытым исходным кодом, я наткнулся на заголовок C++. sal.h и нашел строку кода, говорящую [source_annotation_attribute( SA( Method ) )] что похоже на атрибуты и AttributesUsage класс в C#. Теперь я зн…
10 июл '17 в 19:52
2 ответа

Почему макрос _Printf_format_string_ не выдает никаких предупреждений?

В следующем фрагменте неправильное использование спецификаторов формата в вызове MyFormat() должно выдавать предупреждение в соответствии со спецификациями SAL, и если я раскомментирую идентичный вызов printf(), я действительно получу все эти предуп…
22 фев '19 в 11:24