Форум программистов, компьютерный форум CyberForum.ru

Новые прибабахи в 2012 - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
04.09.2012, 19:04     Новые прибабахи в 2012 #1
Вот получаю такую фиговину в новой студии 2012

1>c:\users\ramyb\documents\visual studio 2012\projects\detla\detla\detla.cpp(15): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110): см. объявление "strcpy"

Раньше всегда пользовался функцией strcpy(), а сейчас насильно заставляют использовать strcpy_s().

Как отключить эту байду, чтобы как прежде было?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 19:04     Новые прибабахи в 2012
Посмотрите здесь:

C++ Новые координаты точки / смена осей координат
Новые массивы C++
C++ Почему создаются новые объекты?
Как заставить прогу на с++ ждать новые записи из БД C++
C++ VS 2012
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 19:05     Новые прибабахи в 2012 #2
ramybozy, Я вот даже не знаю... Если в ошибке написано, почему бы не прочесть?

To disable deprecation, use _CRT_SECURE_NO_WARNINGS
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
04.09.2012, 19:21  [ТС]     Новые прибабахи в 2012 #3
Ну а как это сделать?
Я пробовал так:
C++
1
#define _CRT_SECURE_NO_WARNINGS
Не помогает.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 19:25     Новые прибабахи в 2012 #4
ramybozy, Да вообщем-то в студии в настройках проекта (где конкретно не помню, там где все define-ы указываются - -D_CRT_SECURE_NO_WARNINGS
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
04.09.2012, 19:27     Новые прибабахи в 2012 #5
Как отключить _CRT_SECURE_NO_WARNINGS?
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
04.09.2012, 19:40  [ТС]     Новые прибабахи в 2012 #6
Ну это слишком просто, можно и в свойствах проекта просто указать блокировку предупреждения 4996, но, как я сказал, это слишком просто, нам бы что-нибудь посложней, так чтобы и предкомпилированные заголовки можно было использовать, и чтобы прежние функции работали.

А так то любой сможет.

Добавлено через 9 минут
ВАУ!!! Нашел!!!
Вот оно лекарство:
C++
1
#define  _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.09.2012, 19:45     Новые прибабахи в 2012 #7
Но всё же, лучше использовать strcpy_s. Потеря производительности минимальна, а повышение стабильности - колоссальна.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 20:32     Новые прибабахи в 2012 #8
Deviaphan, Отсутствие компилируемости на других платформах аналогично стабильно)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.09.2012, 20:43     Новые прибабахи в 2012 #9
Разве strcpy_s это плюшка MSVS? Грустька.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 20:44     Новые прибабахи в 2012 #10
Deviaphan, ага
Да и в стандарте про нее ничего нету.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
05.09.2012, 09:24     Новые прибабахи в 2012 #11
Наверное все что советует студия вместо стандартных функций - это есть ее собственные плюшки. Правда некоторые другие компиляторы их уже тоже поддерживают (могу ошибаться, но вроде Watcom поддерживает студийные функции).

Не по теме:

Я думаю, что Watcom'овцы добавили эту поддержку, что б студийный код был хоть как-то переносимым. Типа:"В майкрософт думали, что привязали код к компилятору, а вот хрен вам, мы его тоже компилим "



Добавлено через 2 минуты
Вот, что нашел.
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
05.09.2012, 10:13  [ТС]     Новые прибабахи в 2012 #12
Цитата Сообщение от ForEveR Посмотреть сообщение
Да и в стандарте про нее ничего нету.
Это еще фигня. strcpy и strcat еще можно вылечить, как указано выше, а вот strtok уже так не лечится, приходится использовать strtok_s с тремя аргументами.
Зато в этой новой студии теперь можно пользоваться range-based оператором for, а также уже работает директива
C++
1
#include <thread>
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 10:29     Новые прибабахи в 2012 #13
например, ситуация (создаю искусственно, но может бабахнуть само из-за угла):
C++
1
2
3
4
5
6
char buffer[5];
int i = 0;
::strcpy (buffer, "something longer as five characters");
if (i == 0){
  makeSomeVeryImportantThing(); // не будет выполнено скорее всего.
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.09.2012, 10:46     Новые прибабахи в 2012 #14
novi4ok, strncpy никто не отменял
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 23:31     Новые прибабахи в 2012 #15
Цитата Сообщение от ForEveR Посмотреть сообщение
novi4ok, strncpy никто не отменял
да вообще никто ничего не отменял, только язык себя изживает потихоньку. еще лет пять, и будет реликт.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.09.2012, 23:41     Новые прибабахи в 2012 #16
да вообще никто ничего не отменял, только язык себя изживает потихоньку. еще лет пять, и будет реликт.
Голословное заявление. Ты программируешь на C++ профессионально?
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.09.2012, 21:20     Новые прибабахи в 2012 #17
Цитата Сообщение от Герц Посмотреть сообщение
Голословное заявление. Ты программируешь на C++ профессионально?
именно. и уже давно. и имел возможность проследить, как развивается "языководство".
если сегодня вдруг все решили прекратить развивать свой софт, котоый разрабатывается начиная с прошлого века, и разработать его заново, то очень для немногих применений с++ оказался бы лучшим решением. имею опыт сопровождения приложения, разработанного на с++ в конце прошлого века, причем имеются варианты под linux и windows, и опыт разработки того же на c#. в результате c# вариант - быстрее, проще сопровождается, меньше кода. и на разработку затрачено на порядок меньше ресурсов. я это не выдумываю. это то, что происходит.
наверняка имеются области, где с++ - лучший выбор. но таких все меньше и меньше. ведь это - объективный процесс: технические ресурсы становятся все дешевле и доступнее, а разработка софта что-то не дешевеет.
можешь считать, что я голословен, но я это серъезно предполагаю, насчет пяти лет. с++ востребован в основном там, где имеются большие старые наработки, и выскочить из этого продукта практически невозможно.
Toshkarik
06.09.2012, 21:36
  #18

Не по теме:

novi4ok, ИМХО: полный, необоснованный бред.

novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.09.2012, 21:42     Новые прибабахи в 2012 #19
Цитата Сообщение от Toshkarik Посмотреть сообщение

Не по теме:

novi4ok, ИМХО: полный, необоснованный бред.

когда-то и большевичков за силу не считали, а оно во как вышло.
я сам когда-то к java серъезно не относился, а сегодня такая масса продуктов с его использованием создана и разработки ведутся.
я серьезно утверждаю, что если сегодня понадобилось ты разрабатывать что-то from scratch, то выбор с++ в большинстве случаев - "по неосторожности". по многим причинам.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2012, 21:47     Новые прибабахи в 2012
Еще ссылки по теме:

C++ C++11 новые классы стандартной библиотеки
C++ Новые новины из С++11
Вычислить новые значения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Toshkarik
06.09.2012, 21:47     Новые прибабахи в 2012
  #20

Не по теме:

novi4ok, ну если это было бы действительно так, то уже сегодня развитие и поддержка языка, как минимум, притормозилась/упразднилась.

Yandex
Объявления
06.09.2012, 21:47     Новые прибабахи в 2012
Ответ Создать тему
Опции темы

Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru