Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2018, 08:00   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос Какой компилятор использовать лучше?

Подскажите, пожалуйста, какой компилятор использовать? В VS17 почему то отходит от стандарта, так что трудности с ним. Если код в VS17 не работает, то в других компиляторах C++ 17 работает без никаких проблем. (Ведь VS17 это как 17-ая версия C++?)
И с каким компилятором работать? Или вообще я слышал такое, что можно работать без компиляторов - просто с помощью консоли и с ручной работой.
А как на работе (реальной, в компаниях) работают с C++?
Мaкс вне форума Ответить с цитированием
Старый 08.08.2018, 08:15   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
В VS17 почему то отходит от стандарта
Куда?
https://en.cppreference.com/w/cpp/compiler_support
Цитата:
Сообщение от Мaкс Посмотреть сообщение
Если код в VS17 не работает, то в других компиляторах C++ 17 работает без никаких проблем
Какой код?
Цитата:
Сообщение от Мaкс Посмотреть сообщение
Ведь VS17 это как 17-ая версия C++?
VS 2017 это название продукта. До этого были VS 2015, VS 2013, VS 2012, VS 2010, VS 2008, ...
Цитата:
Сообщение от Мaкс Посмотреть сообщение
можно работать без компиляторов - просто с помощью консоли и с ручной работой
Вы не отличаете IDE от компилятора.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.08.2018, 08:19   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
В VS17 почему то отходит от стандарта, так что трудности с ним.
Какие?

Цитата:
Сообщение от Мaкс Посмотреть сообщение
Если код в VS17 не работает, то в других компиляторах C++ 17 работает без никаких проблем.
В каких других? Вы уверены, что это проблема вс17?

Цитата:
Сообщение от Мaкс Посмотреть сообщение
(Ведь VS17 это как 17-ая версия C++?)
Нет. Это версия студии и только. Поддержку стандартов лучше смотреть на страницах типа https://docs.microsoft.com/en-us/cpp...ge-conformance
Также не стоит забывать, что в студии, как и в других компиляторах, есть переключатель используемого стандарта.

Цитата:
Сообщение от Мaкс Посмотреть сообщение
И с каким компилятором работать?
Любой из современных, обращая внимания, если надо, на их страницу с описанием текущей поддержки стандартов. Сейчас все стараются следовать стандарту.

Цитата:
Сообщение от Мaкс Посмотреть сообщение
Или вообще я слышал такое, что можно работать без компиляторов - просто с помощью консоли и с ручной работой.
Можно. Только сначала надо вызубрить интел мануалы, коды команд и научится их считать.

Цитата:
Сообщение от Мaкс Посмотреть сообщение
А как на работе (реальной, в компаниях) работают с C++?
По разному. Есть те, кто сидять еще на вс2010, а есть и на 2017... Также зависит от того, что делают.
p51x на форуме Ответить с цитированием
Старый 08.08.2018, 09:07   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Это версия студии и только
Это скорее название. Там же есть версии типа 11.0 (VS 2012), 12.0 (VS 2013), 14.0 (VS 2015).
https://en.wikipedia.org/wiki/Micros...Studio#History
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.08.2018, 09:11   #5
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Какой код?
Он чуть по ниже. На VS17 не работает код. А на других работает на c++17 с небольшой поправкой, а на пример с c++14 без изменений:
Код:
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
	struct tm *ptr;
	time_t lt;

	lt = time('\0');

	ptr = localtime(&lt);

	cout << ptr->tm_hour << ':' << ptr->tm_min << ':' << ptr->tm_sec;
	system("pause");
	
	return 0;
}
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы не отличаете IDE от компилятора.
Прочитал. IDE это комплекс для разработки, а компилятор собирает программу.
Цитата:
Сообщение от p51x Посмотреть сообщение
Какие?
В моём (не в первом случае) вот такой код, он "ругается" на последнюю строку:
Код:
struct tm *ptr;
time_t lt;
lt = time('\0');
localtime(&ptr, &lt);
Никак не получается его сделать для VS17. И с помощью с офф. вики.
Мaкс вне форума Ответить с цитированием
Старый 08.08.2018, 09:22   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Все работает, выдало только ошибку о небезопасности localtime предложив заменить на вполне стандартную localtime_s https://en.cppreference.com/w/c/chrono/localtime (можно проигнорировать если прочитать текст ошибки или погуглить)

И да, это появилось намного раньше С++17, и вообще это С, а не С++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.08.2018, 09:24   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А где здесь С++17? Тут же С сплошной. Допишите #define _CRT_SECURE_NO_WARNINGS КАК ВАМ СОВЕТУЕТ КОМПИЛЯТОР и все будет работать.
p51x на форуме Ответить с цитированием
Старый 08.08.2018, 09:30   #8
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Все работает, выдало только ошибку о небезопасности localtime предложив заменить на вполне стандартную localtime_s (можно проигнорировать если прочитать текст ошибки или погуглить)
Это я знаю, можно прописать
Код:
#define _CRT_SECURE_NO_WARNINGS
но, разве не лучше последовать рекомендациям? Будет вроде бы несовместимость, или нет...
Цитата:
Сообщение от p51x Посмотреть сообщение
А где здесь С++17? Тут же С сплошной.
C в книге по C++? Да, так и есть, но он не предупредил что это C код... Ладно..
Цитата:
Сообщение от p51x Посмотреть сообщение
Допишите #define _CRT_SECURE_NO_WARNINGS КАК ВАМ СОВЕТУЕТ КОМПИЛЯТОР и все будет работать.
А смысл только предупреждения я не пойму... Так и сделаю.
Мaкс вне форума Ответить с цитированием
Старый 08.08.2018, 09:32   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
но, разве не лучше последовать рекомендациям?
Дык следуйте.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.08.2018, 09:38   #10
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Спасибо за подсказку!
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой массив лучше использовать? Morgan8 Помощь студентам 2 21.11.2014 07:45
какой компилятор лучше всего использовать для изучения языка С++ Zweck Помощь студентам 11 01.02.2014 12:36
Какой компилятор использовать? Vodolei Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 18.12.2012 10:33
Какой шрифт лучше всего использовать? Человек_Борща Общие вопросы Delphi 8 01.04.2011 18:56
Какой компилятор лучше? Veytarn Общие вопросы C/C++ 2 09.01.2007 21:29