![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Добрый день.
Поделитесь опытом, пожалуйста, у кого в проекте есть и сишный и плюсовый код - используете ли вы один стиль кода или разный для разных языков? Проекту нужен рефакторинг и возникла мысль что разный стиль кода позволит дополнительно различать сишный и плюсовый код, а практика показала, что некоторые испытывают некоторые сложности с этим. |
|||
|
||||
| Lukkoye |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 23.3.2013 Репутация: 1 Всего: 1 |
суржик - плохо. мухи отдельно, котлеты отдельно - хорошо. рефактор: сишный код - в сишные библиотеки. плюсовый код - в плюсовые библиотеки. там, где нужна интеграция сишного апи в оо-рхитектуру, изготавливается класс-обертка. пример: libpq - сишная библиотека. libpqxx - с++ библиотека. Которая является оо-оберткой над libpq, и использует все преимущества ооп. в проекте с++ используют libpqxx, без необходимости вообще знать о существовании libpq |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
||||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Да вот сам пока точно не знаю, потому и советуюсь. Но мысль такая есть.
Встречалось, что одна и та же библиотека при сборке в сишном проекте собиралась с сишным ABI, а при сборке в плюсовом с плюсовым ABI. И спокойно себе жили две разные бинарные версии одной и той же библиотеке в одном и том же продукте одновременно. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
если оно в с++ собирается как с++, о каком С тогда речь?
|
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Просто есть код на Си, который используется и в сишном проекте и в плюсовом в виде source library.
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
drug007, не стоит один и тот же код компилировать как С и С++ в разных проектах. несмотря на совместимость, могут быть тонкие места, и зачем вам поддерживать два варианта кода, если можно один.
пример: sizeof('A') в C и C++ имеет разное значение |
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Полностью согласен. Но факт имел место быть. Поэтому и возникла мысль о разном стиле, чтобы это наводило людей о мысли, что что-то не так. В проекте участвуют и будут участвовать люди с навыками разного уровня, а тут вроде как лишняя подсказка. А переписывать все на один язык точно никто не будет.
|
|||
|
||||
| Antonoff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.10.2014 Репутация: нет Всего: нет |
Надо избавляться от Си, и вообще переходить на Java. Си это ни капли не ООП. Си это ассемблер, маскирующийся под язык высокого уровня. Наличие кода на Си неприемлемо в современном проекте. Это сообщение отредактировал(а) Antonoff - 6.10.2014, 20:53 |
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
||||
|
||||
| Guinness |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |