|
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
|
||||||
Как отключить _CRT_SECURE_NO_WARNINGS?14.03.2010, 15:54. Показов 183328. Ответов 44
Метки нет (Все метки)
Код - работа с файлом. Выдает ошибку warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Прочел что как то надо отключить эту ошибку. Подскажите пожалуйста как это сделать в Visual Studio 2008
0
|
||||||
| 14.03.2010, 15:54 | |
|
Ответы с готовыми решениями:
44
CRT_SECURE_NO_WARNINGS Как отключить брандмауэр или отключить фаервол Безопасно ли слоту отключить отключить себя же? |
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 28.01.2019, 19:38 | |
|
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|||||||
| 28.01.2019, 20:04 | |||||||
0
|
|||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 28.01.2019, 20:29 | |
|
Это к сожалению не работает.
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
||
| 28.01.2019, 20:37 | ||
|
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 28.01.2019, 21:03 | |
|
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 28.01.2019, 21:06 | |
|
0
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 28.01.2019, 21:41 | |
|
Убрал, абсолютно тоже самое.
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
||
| 28.01.2019, 21:53 | ||
|
Добавлено через 3 минуты Ты в курсе, что для Debug и Relese разные настройки?
0
|
||
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||
| 28.01.2019, 21:58 | ||
#define _CRT_SECURE_NO_WARNINGS куда-нибудь в самое начало, сразу после #pragma once, из остальных мест этот дефайн уберите. Или, как вариант, можно отключить предварительно скомпилированный заголовок, тогда будут работать оба других способа (только что провел эксперимент).
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 28.01.2019, 22:49 | |
|
Изменил Debug на Release, в чем разница не знаю, но заработало.
0
|
|
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,070
|
||||||||||||||||||||
| 29.01.2019, 10:33 | ||||||||||||||||||||
Пожалуйста, не путайте терминологию. Функции с суффиксом _s ничуть не безопаснее обычных. Вот тут еще один фанатик msvs пытался доказать пригодность _s функций. Разумеется, не преуспел.
Optimus11, попробуйте еще добавить
0
|
||||||||||||||||||||
| 29.01.2019, 11:33 | |
|
0
|
|
| 29.01.2019, 12:27 | |
|
Не по теме: Azazel-San, вот только психоанализа фанатиков мне и не хватало! %-)
0
|
|
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||||
| 29.01.2019, 16:29 | |||||||
msvs - это не компилятор, а студия.Студийный компилятор так же собрал этот код без каких либо проблем. Так о чем это вы? О пригодности безопасных версий сам за себя говорит тот факт, что их лоббируют мелкомягкие, и что их признали полезными настолько, что включили в стандарт. С помощью препроцессора кросс-платформа достигается за счет кросс-платформенной функции, у которой под капотом в зависимости от дефайнов срабатывает нужная реализация. Можете использовать любые стандартные функции, включая небезопасные. Зачем следовать рекомендациям компилятора, вы хотели спросить? Затем, что бы код был надёжным. Предупреждение от компилятора - предупреждение, а не ошибка. Стандарт не запрещает компиляторам использовать собственные расширения. Если вы считаете, что вам не нужна падушка безопасности, и вы предпочитаете ездить не пристёгиваясь ремнем, то вы всегда можете отключить это предупреждение. Для этого не нужно ослаблять защиту стандартной библиотеки. 1. Некрасивый способ: В самом начале предварительно скомпилированного заголовка: #pragma warning(disable:4996) 2. Корректный способ: Правый клик по проекту -> свойства -> c/c++ -> все опции. Ищем вкладку: Disable Specific Warnings Указываем значение: 4996 Если нужно подавить несколько предупреждений - вписываем через точку-с-запятой. И фсё! Оставьте в покое _CRT_SECURE_NO_WARNINGS И не имейте привычки трогать имена, которые зарезервированы для нужд языка.
0
|
|||||||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,070
|
|||||||||||||||
| 29.01.2019, 17:17 | |||||||||||||||
|
Задумайтесь, почему тот же gcc, который ЕМНИП лучше всех следит за стандартом, не спешит их реализовывать? Почему clang не спешит? Почему никто не спешит? На самом деле эти функции еще опаснее стандартных, поскольку называются "безопасными", но не являются таковыми, то есть дают чувство ложной безопасности. А вот обычные использовать не получается: msvs ругается и говорит "мы тут придумали новые функции, поэтому стандартные теперь запрещены". Для уменьшения совместимости придумали, что ли? Но не тогда, когда рекомендации компилятора снижают качество кода, его переносимость и надежность. Потому что распространять исходные коды в виде "проекта" под какую-то конкретную IDE - плохая идея. Хотя бы потому что не все пользуются той же IDE, что у вас, и тем более той же версией IDE. Поэтому лучший способ распространения программ - набор исходных кодов + configure + make или что-то подобное вроде cmake. А поскольку отдельные файлы исходного кода могут быть скопированы в другой проект, полагаться на настройки компилятора нельзя и там. Так что самый правильный способ - вынести все платформо- или компиляторо-зависимое в слой совместимости. Но если код построен на стандартных библиотечных функциях и нормальные компиляторы его собирают без ошибок, можно ограничиться костылем для компенсации багов в остальных. Например, так:
0
|
|||||||||||||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||||||
| 29.01.2019, 19:04 | ||||||||||
|
Студия спешит) Стандарт одобрил. Самое главное - у них дизайн использования более безопасный. Учитывая, что используя их сложнее допустить ошибку. Может быть стоило хотя бы с документацией сначала ознакомиться? https://docs.microsoft.com/ru-... ew=vs-2017 Видите ли, есть разница между warning и error И кстати, если вы вдруг не в курсе, ваши make/cmake вполне себе определяют формат проекта. Ну сделайте на make/cmake. Это не принципиально. Принципиально, что разруливать специфику различных тулсетов нужно на уровне системы сборки. А не на уровне исходного кода. Никто ж не виноват, что вы ошибки и предупреждения не различаете. Согласно правилам языка с++, вы со своим костылем завезли в проект UB Такое может прокатить где нибудь в boost. Тамошний склад костылей и UB жестко контролируется многочисленными тестами на каждой заявленной кофеварке во всех возможных конфигурациях. Но не в исходном коде бизнес-приложения. В одном я с вами согласна: представленный вами код - это костыль. В остальном, я бы не стала полагаться на мнение человека, который не знает специфику CL (компилятор vc), и даже не различает где ошибка, а где предупреждение.
0
|
||||||||||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,070
|
|||||||
| 30.01.2019, 11:06 | |||||||
Майкрософт наше все, кто не знает всех багов и особенностей тамошнего компилятора, тот не знает Си!... ох уж эти фанатики
0
|
|||||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||
| 04.02.2019, 15:20 | ||||||
|
по той же самой причине, по которой сишка - самый раздолбайный язык. Что не понятного? Может вы не знаете, почему сишка - раздолбайный язык? а значит их использование приводит к тому, что количество фейлов привентивно уменьшается. Мальчики, которые не умеют признавать свои ошибки, и начинают юлить ака вороватые лесички - хуже девочек. Сами ничерта не знают. Зато язычком мелят
0
|
||||||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,070
|
|||||
| 05.02.2019, 10:05 | |||||
|
Поэтому повторяю вопрос: почему никто не спешит реализовывать псевдо-безопасные функции? Ведь, по идее, они не исключают стандартных. И это вопрос не столько из философии языка, сколько логика разработчиков компиляторов. (нет! Как раз с этим у них самих все плохо)
0
|
|||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||||
| 08.02.2019, 18:16 | ||||||||
|
POSIX - стандарт раздолбаев. А во главу сишного угла - идея о том, что на грабли можно тупо забивать. По принципу: "итак сойдёт!" Это только по вашему тупорылому мнению. Вас ещё раз в документацию ткнуть? могли бы хотя бы попробовать собрать сначала, и глазами посмотреть. Прежде чем нести всякий бред. Речь шла о том, что не разумно пользоваться небезопасным хламом, когда можно пользоваться безопасным. Ещё речь шла о том, что если уж приспичило то делать это нужно грамотно. А не пихать в код UB.
0
|
||||||||
| 08.02.2019, 18:16 | |
|
Как влияет файервол на игры в Windows XP SP3 и как его отключить?
Как сделать защиту контента, PrintScrin можно ли как-то отключить? Как отключить E? Как отключить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|