Вот разбираюсь с новой версией Visual C++ 7.3, которая входит в поставку Visual Studio .Net 2004. Первое с чем столкнулся, не компилируеться простейщий пример.
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
}
Долго мучался. Решил посмотреть в файл stdio.h. При дальнейшем рассмотрении выяснилось, что printf обьявлен в stdio просто как макрос, который использует boost::format и std::cout. Но разработчики забыли включить boost/format.hpp в stdio.h. Пришлось переписать пример так:
#include <boost/format.hpp>
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
}
Хорошо что теперь MS поставляет VC вместе с библиотекой boost. А то пришлось бы выкачивать.
Из за этого нововведения, параметры в printf теперь задаються так:
#include <boost/format.hpp>
#include <stdio.h>
int main()
{
int i = 3;
printf("Hello, world! %d \n") % i;
}
Подробнее как задавать праметры к printf описано в документации boost.
01.04.04 18:59: Перенесено модератором из 'C/C++' — ПК
Здравствуйте, Vamp, Вы писали:
V>Черт, этому по хорошему самое место в юморе. Но ведь там не только сишники тусуются, люди не поймут... V>А за шутку — 5 баллов.
Пусть тут повесит до завтра...
... << RSDN@Home 1.1.3 beta 1 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Эти Микрософтщики совсем с ума посходили. По-моему у Страуструпа ничего подключать совсем не надо. А на визуале программить, так очучение возникает, что и не на С++ вовсе пишешь.
Re[2]: "Hello, world!" не компилируеться на VC 7.3
__>Эти Микрософтщики совсем с ума посходили. По-моему у Страуструпа ничего подключать совсем не надо. А на визуале программить, так очучение возникает, что и не на С++ вовсе пишешь.
Я вообще не понимаю, как это printf может быть макросом, учитывая, что он обязан быть определен в std
Of course, the code must be complete enough to compile and link.
Re[4]: "Hello, world!" не компилируеться на VC 7.3
Здравствуйте, Lorenzo_LAMAS, Вы писали:
А>>Вы явно не читали ISO/IEC 14882:2004. В соответствии с 17.4.1.2/4, этот заголовок является deprecated. Включать теперь нужно <stdio.hpp>.
L_L>Дайте цитату, пожалуйста. А что по этому поводу в ISO/IEC 14882:2005 ?
Там вообще отменили заголовки.
Re[4]: "Hello, world!" не компилируеться на VC 7.3
От:
Аноним
Дата:
01.04.04 11:31
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:
А>>Вы явно не читали ISO/IEC 14882:2004. В соответствии с 17.4.1.2/4, этот заголовок является deprecated. Включать теперь нужно <stdio.hpp>.
L_L>Дайте цитату, пожалуйста.
Да что Вы пристали со своими цитатами... Будто не знаете, где revisions брать. Скачайте со страницы Эндрю Кёнига.
Re[3]: "Hello, world!" не компилируеться на VC 7.3
L_L>Ага. И в качестве еще одного расширения — возможность наследования макросов.
Бери круче.
Переопределение, перегрузка и шаблонные макросы. А также макросы-члены и виртуальные макросы.
Да здравствует мыло душистое и веревка пушистая.
Re[6]: "Hello, world!" не компилируеться на VC 7.3
От:
Аноним
Дата:
01.04.04 12:03
Оценка:
Здравствуйте, Vamp, Вы писали:
V>Переопределение, перегрузка и шаблонные макросы. А также макросы-члены и виртуальные макросы.
Указатели на макросы забыл.
Re[7]: "Hello, world!" не компилируеться на VC 7.3
Здравствуйте, <Аноним>, Вы писали:
V>>Переопределение, перегрузка и шаблонные макросы. А также макросы-члены и виртуальные макросы.
А>Указатели на макросы забыл.
И на макросы-члены.
А вот интересно, виртуальное наследование макросов поддерживается? А что стандарт говорит по поводу значения sizeof() для пустых макросов?
Также, ходят слухи, что планируется совместимость VBA. Таким образом, сила С++ делает возможным вскорости появление полиморфных (!!!) макро-вирусов
Разработчики Comeau выпускают пилотную версию компилятора с поддержкой всех этих нововведений! Ай да молодцы, всегда впереди планеты всей.
Алексей Кирдин
Re[8]: "Hello, world!" не компилируеться на VC 7.3
Здравствуйте, Анатолий Широков, Вы писали: АШ>Там вообще отменили заголовки.
Что, неужели наконец-то сделали автоматическое включение? Класс! Я уже задолбался — я теперьк плюсам возвращаюсь реже, чем версии компилеров выходят... И каждый раз мучительно вспоминаю, что где надо включить. А как сделали, кстати — там через хелп находятся нужные хидеры, или просто подбирают минимальный набор библиотечных, покрывающий все undefined symbol?
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: "Hello, world!" не компилируеться на VC 7.3
Здравствуйте, Lorenzo_LAMAS, Вы писали:
V>>Это микрсофот-специфик расширение. Пространство имен для макросов.
L_L>Ага. И в качестве еще одного расширения — возможность наследования макросов.
с множественным наследованием.. унаследовали от макроса и от его перегрузки (при уловии, что это не потомок) потом система случайным образом с вероятностью равной вероятности увидеть сегодня динозавра для отдельного экземпляра определяет следующий адрес джампа, апосля мы строим нейронную сеть год обучаем ее на примерах работы с софтом, после
подключаем ес забиваем в перфокарты с помощью долота и молотка, ну в крайнем случае зубами алгоритм по оптимизации работы системы садим того мамонта, тьфу слона, тьфу птиродактиля, которого увидели сегодня и пошла работа...
Compiler can be as trained AI but can't compose music.
Antheil piano jazz sonata. Я болен ПГМ.
Re[2]: "Hello, world!" не компилируеться на VC 7.3
"_master_" <26257@news.rsdn.ru> wrote in message news:590960@news.rsdn.ru... > Эти Микрософтщики совсем с ума посходили. По-моему у Страуструпа ничего подключать совсем не надо. А на визуале программить, так очучение возникает, что и не на С++ вовсе пишешь.