|
расширение области видимости переменной |
|
|
|
May 14 2009, 07:15
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(amw @ May 14 2009, 10:21)  Уже говорили - *.cpp ..\WinAVR-20090313\doc\avr-libc\avr-libc-user-manual\FAQ.html Цитата Can I use C++ on the AVR? Basically yes, C++ is supported (assuming your compiler has been configured and compiled to support it, of course). Source files ending in .cc, .cpp or .C will automatically cause the compiler frontend to invoke the C++ compiler. Alternatively, the C++ compiler could be explicitly called by the name avr-c++........................................
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
May 14 2009, 13:02
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Забросить студию и собрать проект руками, написав или поправив makefile для Winavr. Есть в комплекте утилита для помощи в написании makefile. Есть документация на русском языке по make. Вообще-то, уже работа с make обсуждалась неоднократно. В список компилируемых файлов внесите их с правильными расширениями Код # List C source files here. (C dependencies are automatically generated.) SRC =
# List C++ source files here. (C dependencies are automatically generated.) CPPSRC = и поправьте опции компилятора для расширения сообщений о компиляции. Можете узнать много нового
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
May 15 2009, 05:08
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(Сергей Борщ @ May 14 2009, 22:33)  Но хоть что такое С++ и как оно стыкуется с С вы знаете? Про name mangling и вытекающий из него extern "C" для сишных функций слышали? Иначе лучше вам действительно переименовать локальную переменную. Что такое С++ я знаю. Про extern "C" для сишных функций я слышал, но речь идет не о фйнкции. А если вы это к #define __cplusplus, то я думал, что так WinAVR распознает, что прога написана на С++. Цитата(sergeeff @ May 14 2009, 23:08)  Вся эта возня с переменными, она для реальной работы или для учебы? По-моему поменять имена у глобальных переменных - дел на 10 минут, а нам задают вопросы третий день. Для саморазвития с последующим применением в работе. Для поиска истины, если хотите. Просто человек я въедливый иногда бываю. Хочется разобраться. Цитата а нам задают вопросы третий день. Но ведь никто никого не принуждает отвечать
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
May 15 2009, 07:10
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(dimka76 @ May 15 2009, 08:08)  Что такое С++ я знаю. Я тоже знаю, что такое кардиология. Но это не значит, что могу проводить операции на сердце или даже оказать первую помощь, если (тьфу-тьфу) кому-то станет плохо. По вашим вопросам понятно, что знания у вас если и есть, то поверхостные. Не обижайтесь. Цитата(dimka76 @ May 15 2009, 08:08)  Про extern "C" для сишных функций я слышал, но речь идет не о функции. А если вы это к #define __cplusplus, Нет, это я к тому, что если вы переведете один из файлов проекта на плюсы - то сразу же получите ругань линкера, что из вашего плюсового файла не видны функции из сишных. А из вопроса про #define __cplusplus понятно, что никаких специальных действий для решения этого у вас не предусмотрено и сразу, с наскоку, решить это у вас не получится.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 15 2009, 08:04
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(Сергей Борщ @ May 15 2009, 11:10)  Не обижайтесь. Я и не обижаюсь. Про С++ я только читал. На практике не применял. Цитата Нет, это я к тому, что если вы переведете один из файлов проекта на плюсы - то сразу же получите ругань линкера, что из вашего плюсового файла не видны функции из сишных. Как я уже выше говорил, я этот файл переводил в плюсы (давал ему расширение .С). Линкер не ругался. Потому, что этот файл не обращается к сишным (без плюсов) функциям. Наоборот, фунции из .с файлов, обращаются к функциям этого файла( которому я давал расширение .С). Но, опять таки, как я уже говорил выше, компилятор выдавал предупреждение на -std=gnu99.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|