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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2016, 16:08   #1
userN6677
 
Регистрация: 05.03.2016
Сообщений: 9
По умолчанию Visual studio C++ 2013 показывает ошибки в стандартных *.h файлах (!?)

Здравствуйте,

Создал проект в вижуал студио С++ 2013..
Но при компиляции
Visual studio C++ 2013 показывает ошибки в стандартных *.h файлах (!?)
Этого же не может быть!
Посмотрите скриншот.
Помогите, пожалуйста, разобраться с этим.
Изображения
Тип файла: jpg stdlib errors.jpg (110.9 Кб, 170 просмотров)
userN6677 вне форума Ответить с цитированием
Старый 05.03.2016, 16:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Значит ошибка в вашем коде, а вы его скрываете
p51x вне форума Ответить с цитированием
Старый 05.03.2016, 16:57   #3
userN6677
 
Регистрация: 05.03.2016
Сообщений: 9
По умолчанию За меня не надо ничего решать. Я просто прошу совета.

За меня не надо ничего решать. Я просто прошу совета ( если вы компетентны ответить).
С-код очень большой, а хедер файлы еще больше.
Сюда всего этого не загрузить.
Я компилировал этот проект (*.prj) в LCC ( см в инете) и там он компилировался без единой ошибки.
Когда я все файлы проекта ( в том числе и хедеры) перенес в вижуал студио - то в самих С файлах не было обнаружено ни единой ошибки, но было 205 ошибок в stdlib.h, stdio.h, string.h
Как вы видите на скриншоте - это на самом деле несуществующие ошибки.
Но почему вижуал студио их показывает - это как раз и вопрос, на который я хочу получить тут ответ.
Вы можете спросить - а зачем мне это надо.
Дело в том , что этот проект = игра для виндовс, написанная в 2003 г. и не мной.
Я хочу там изменить некоторые параметры игры. Для этого мне надо продебагить С-сорс код и внести изменения.
userN6677 вне форума Ответить с цитированием
Старый 05.03.2016, 17:09   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
За меня не надо ничего решать. Я просто прошу совета ( если вы компетентны ответить).
Если вы такой умные, тогда что вы здесь делаете? И почему у вас не работает?

Цитата:
Я компилировал этот проект (*.prj) в LCC ( см в инете) и там он компилировался без единой ошибки.
lcc стар, неподдерживал вполне стандарт и уже тогда не развивался.

Цитата:
Когда я все файлы проекта ( в том числе и хедеры) перенес в вижуал студио - то в самих С файлах не было обнаружено ни единой ошибки, но было 205 ошибок в stdlib.h, stdio.h, string.h
Это значит, что у вас что-то не так с подключение хедеров, настройками или включен предкомпилированный заголовк.

Цитата:
Как вы видите на скриншоте - это на самом деле несуществующие ошибки.
Пропустите закрывающую скобку и ошибку вы можете увидеть не совсем в той строке.

Цитата:
Когда я все файлы проекта ( в том числе и хедеры) перенес в вижуал студио
А проект вы создавали? А какой тип? А настройки какие? Что в начале спика ошибок?
Цитата:
Но почему вижуал студио их показывает - это как раз и вопрос, на который я хочу получить тут ответ.
Потому что при компиляции в коде обнаружились ошибки.
p51x вне форума Ответить с цитированием
Старый 05.03.2016, 17:34   #5
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
Это значит, что у вас что-то не так с подключение хедеров, настройками или включен предкомпилированный заголовк.
скорее всего. какая-то адская комбинация старых и новых хедеров, которая привела к неправильной инициализации полезных макросов.
а если код совсем старый, там могут оказаться .с файлы, это значит что студией была произведена конвертация старого прокта в новый. и по правилам конвертации файлы .c студия будет радостно обрабатывать согласно стандарта с, а хедеры .h и другие файлы согласно более свежего стандарта.

Последний раз редактировалось f.hump; 05.03.2016 в 17:45.
f.hump вне форума Ответить с цитированием
Старый 08.03.2016, 11:51   #6
userN6677
 
Регистрация: 05.03.2016
Сообщений: 9
По умолчанию Решение проблемы найдено (сам нашел)

Цитата:
Сообщение от f.hump Посмотреть сообщение
скорее всего. какая-то адская комбинация старых и новых хедеров, которая привела к неправильной инициализации полезных макросов.
а если код совсем старый, там могут оказаться .с файлы, это значит что студией была произведена конвертация старого прокта в новый. и по правилам конвертации файлы .c студия будет радостно обрабатывать согласно стандарта с, а хедеры .h и другие файлы согласно более свежего стандарта.
=== оказалось, что достаточно было заменить во всех местах исходников ключевое слово interface на ключевое слово struct - после чего все "ошибки" в стандартных хедерах пропали.
..ну кто бы мог до этого догадаться?...
я это случайно нашел в хакерских форумах. в СИ применяется "interface" а в СИ++ вместо "interface" надо писать "struct".
... но вообще-то - все таки неясно... в Visual Studio проекте есть опция
"компилировать как С / как С++"). В принципе, эта опция должна в случае С использовать ТОЛЬКО стандарты языка С ( иначе - ТОЛЬКО языка С++). У меня стоит "компилировать как С" - это уже должно было бы забраковать все ключевые слова С++ - но Visual Studio этого не сделала. Резюме: это (очередная) недоработка Visual Studio.
userN6677 вне форума Ответить с цитированием
Старый 08.03.2016, 12:01   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Нету interface ни в стандартном С, ни в стандартном С++. Только если C++/CLI какой-нибудь.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.03.2016, 13:57   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

userN6677 : Вывод, это всецело ВАША ошибка и ВАШЕ не знание языка.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual studio 2013 MarineKing Фриланс 0 28.05.2015 16:26
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 1 15.11.2014 21:07
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 10 15.11.2014 20:02
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 3 20.10.2014 07:16
Интерфейс приложений в стиле Office 2013, Visual Studio 2012/2013, Adobe CC nnmserg WPF, UWP, WinRT, XAML 2 12.09.2014 12:41