LINUX.ORG.RU

C++ обратно совместим с Си, так что для начала может оказаться достаточно сменить компилятор. А потом уже переделываешь по вкусу :)

Остаётся вопрос - надо ли. Пока не сможешь обосновать, какие конкретные бонусы получишь от перевода, лучше забей.

shuthdar ★★★
()

Забей

Скомпилируй свою лабораторную C++-компилятором.

x4DA ★★★★★
()
Ответ на: комментарий от shuthdar

> C++ обратно совместим с Си

за несколькими исключениями, но там компилятор, если что тыкнет и объяснит

lester ★★★★
()

1. $ mv main.c main.cpp
2. CC=g++
3. ...
4. profit!

Turbid ★★★★★
()
Ответ на: комментарий от Kristi

> а зачем?:)

Например, для чуть более строгой проверки типов :-)

Begemoth ★★★★★
()

С++ совместим с С89, но не с С99.

anonymous
()
Ответ на: комментарий от anonymous

>Врешь.

Ну в общем-то грамотно спроектированные программы на C и плюсах обычно имеют немного общего только в отдельных мелких функциях/методах. Всё-таки часть базового синтаксиса у них общая.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

C89 является подмножеством С++. Иначе бы на С++ писали бы только 2 профессора-маньяка из университета штата Гадюкино.

anonymous
()
Ответ на: комментарий от anonymous

неспроста ведь одна расшифровка имени С++ говорит, что им пользуются ДО инкремента как улучшенным С.

anonymous
()
Ответ на: комментарий от anonymous

>C89 является подмножеством С++.

Допустим, но это не отменяет тот факт, что писать плюсовые программы в сишном стиле, а тем более мешать эти два подхода, не стоит.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

>Допустим, но это не отменяет тот факт, что писать плюсовые программы в сишном стиле, а тем более мешать эти два подхода, не стоит.

Не хочешь ли ты сказать, что писать нужно с применением классов, замешанных на темплейтах аля Александреску где ни попадя? ИМХО как раз грамотные программы на плюсах как раз с С имеют массу общего. Отличие только в разных полезных мелочах вроде ссылок и тому подобного.

anonymous
()
Ответ на: комментарий от anonymous

> C89 является подмножеством С++

Не является. Взять хоть те же ключевые слова, которых в С++ больше. Это уже даёт возможность написать на С программу, которая не будет допустимой на С++.

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

а зачем?:)

вот полная структура может ты поймёшь лучше так.. |-+AuthServer (c++) |-+ClusterServer (c++) |-+libs (c++) |-+VoiceServer(это хочу поменять) |-+WorldServer (c++)

а зачем?:)

стандарт скоро будет больше я про с++ =)

C++ обратно совместим с Си, так что для начала может оказаться достаточно сменить компилятор. А потом уже переделываешь по вкусу :)

Остаётся вопрос - надо ли. Пока не сможешь обосновать, какие конкретные бонусы получишь от перевода, лучше забей.

ммм.. у меня Microsoft Visual Studio 2008 1пак для винды и последний для линукса (Debian использую) зачем менять??))

Остаётся вопрос - надо ли. Пока не сможешь обосновать, какие конкретные бонусы получишь от перевода, лучше забей.

смысл что бы перевести через некоторое время на C++0x (если он удовлетворит всем нуждам проекта)

ps. проект Кроссплатформенный так что можно хоть каким компилить компилятором ))

schnek
() автор топика
Ответ на: комментарий от Begemoth

>> C89 является подмножеством С++

Не является. Взять хоть те же ключевые слова, которых в С++ больше. Это уже даёт возможность написать на С программу, которая не будет допустимой на С++.


подмножеством

которых в С++ больше


подмножеством


которых в С++ больше



Segmentation fault

lester_dev ★★★★★
()
Ответ на: комментарий от lester_dev

> Segmentation fault

А вот нефиг было парсер на С писать.

Begemoth ★★★★★
()
Ответ на: комментарий от Love5an
$ gcc test.c
test.c: In function ‘int main()’:
test.c:6: error: expected unqualified-id before ‘template’
test.c:6: error: expected initializer before ‘template’
test.c:7: error: expected primary-expression before ‘template’

Учи C.

anonymous
()
Ответ на: комментарий от anonymous
max@pluto:~/
% gcc -o foo foo.c 
max@pluto:~/
% gcc --version
gcc (GCC) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая 
коммерческую ценность и применимость для каких-либо целей.
Begemoth ★★★★★
()

Стандарт С++ 1.1/2

C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 2 9899:1990 Programming languages - C (1.2). In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, inline functions, operator overloading, function name overloading, references, free store management operators, and additional library facilities.

Каким образом конфликты с зарезервированными словами языка С++ относятся к нарушению «facilities provided by C»?

anonymous
()
Ответ на: комментарий от anonymous

> Учи C.

Выучил бы сам сначала. А вообще похоже, что у тебя в системе gcс криво собран.

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

С как подмножество С++ не означает полнейшую совместимость компиляции. Оно лишь означает, что в С++ есть возможности С89 и программы с С на С++ переводятся довольно легко в сравнении с переводом с Пролога на С++.

anonymous
()

придется прикрутить индусский комбайн под названием ооп

kto_tama ★★★★★
()

Писать новые части на С++, старые оставить на С. Если это большой проект, а не лабараторная.

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

>С как подмножество С++ не означает полнейшую совместимость компиляции.

не совсем. все-таки чисто с-функции лучше оборачивать в extern «C» { }

lester_dev ★★★★★
()
Ответ на: комментарий от lester_dev

extern «C» нужно для компоновки С++ с программами, откомпилированными как С. Что бы компилятор С++ не изменял у них имена функций. А если вся программа компилируется как С++, то никакой надобности в extern «C» нет.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.