Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Несколько запар с MSVC 2008 |
Автор: NYX 22.12.2009, 15:29 |
Здравствуйте уважаемые человеки. Не так давно собсно я ковырялся на BCB6 и горя не знал. Но тут в коем моменте понял что некоторые вещи проще было бы делать на MSVC, поскольку он тесно связан Win API. И вот не так давно решил повторить стаарую попытку, установил значит (пробную) компылятор, запустил.... красота! Создал консольку, прописал элементарнийший код типа: #include <conio.h> #include <iostream> char cWord; loop: cWord = getch(); cout << cWord; goto loop; И все бы ничего но произошло следующее: Компилятор заговорил языком нечеловеческим просто! Он начал ругаться на необъявленный класс cout. Полез в МСДН нашел cout\cerr и что в общем и ожидал увидеть, это является классом из iostream ![]() ![]() ЕЕсчо вопросик: Есть ли какая нибудь книжеца, которая описывает конкретно язык, в MSVC поскольку например в BCB6 main он и есть main а в VC _TMAIN (так же как и в RAD Studio который на мой взгляд более профессионально собран нежели MSVC) который в виде агрументов принимает _TCHAR.... ну как бы с чем это связанно? ![]() ![]() |
Автор: siew 22.12.2009, 15:32 |
а namespace std написал? Добавлено через 51 секунду или std::cout |
Автор: NYX 22.12.2009, 15:44 |
Ёмаё забыл ![]() ![]() Сори я просто лютый НУБ! Еще вопросец: некоторые инклуды объявляются как <*.h> а некоторые просто <*>, опять же с чем это связано? O_o Просто вот в борланде древнем 6 версии, там написал <fstream.h> то он так и работает. Написал <iostream.h> и он тож работает, а в VC iostream без .h надо писать а что то вот другое с .h, еще что то другое без .h ... Как не странно дико для меня это как то ![]() |
Автор: siew 22.12.2009, 15:50 |
На счёт этого сам для себя ещё не определился с ответом, но моё предположение такое: <*> это стадартные библиотеки языка, а <*.h> стандартные библиотеки системы. Я над этим не задумывался.... сталкивался но не думая ставил либо убирал .h %) Добавлено через 1 минуту и 39 секунд немного неправильно обозвал хедэры..... не "библиотеки", а "заголовочные файлы" |
Автор: NYX 22.12.2009, 15:55 |
ок Спасибо за ответы ![]() ![]() ![]() |
Автор: NYX 22.12.2009, 16:44 |
По поводу неординарности это дело относительное ![]() ![]() ![]() Вот книг по С++ у мя куча, и есть среди них книга некого Стивена Прата, издательство SAMS, это более 1000 страниц, описаний и прочего, её даже читать не надо, просто тупо сморишь что надо... вывод так вывод, строки - строки, все грамотно и четко. Но вот как бы в этой книге я не нашел описаний чем отличается char от _TCHAR. В чем разница между такими вещами которые в VC есть а в борлане к примеру их использоание приводит к возмущениям компилятора. Так если речь идет об одном языке, то почему он такой разный в разных компиляторах? ![]() ![]() Мне просто очень эта тема интересна, хочется как то ... развиваться что ли, надеюсь форум сей мне в этом поможет ![]() |
Автор: Earnest 23.12.2009, 07:17 |
Вообще-то самый актуальный справочник для программиста - это MSDN. TCHAR и прочая - это расширения VC. Легко видеть, что это просто typedef. Такие же как ULONG, DWORD etc. Вообще префикс T в строковых типах (хотя он не всегда префикс, например LPTSTR)... ну в общем он означает, что это мутирующий тип: в зависимости от настроек Юникод (включен он или выключен) эти типы становяться то обычными, то широкими. Это удобно, но нужно привыкнуть. В форуме неоднократно возникают темы "про это". До того регулярно, что у старожилов уже скулы сводит. И распинаться 151 раз на эту тему просто сил нет. Но старые темы остались, поищи. |
Автор: NYX 23.12.2009, 14:12 |
Ок! Не в общем это не сильно напрягает, хот ULONG хоть TCHAR ![]() ![]() ![]() ![]() ![]() ![]() |