Re[14]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 18:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Erop, Вы писали:


C>>>Причём далеко не только на gcc. Про то как разные настройки выравнивания или "Treat wchar_t as built-in type" на MSVC ломают бинарную совместимость напомнить?

C>>>Поэтому на С++ особо и нет бинарных интерфейсов.
E>>Ну так на С могли бы быть ровно те же проблемы. Просто у системы есть API на С, и нет API на С++
C>Откуда они на С возьмутся? Экспортируемые функции С не содержат полных сигнатур, так что им однофигственно что у тебя wchar_t — это отдельный тип, а не typedef для short'а.
Зато им не однофигственно сколько байт из стека доставать

C>Как раз твоя "главная проблема" на том же Линуксе вообще не стоит.

Как так "не стоит"? Исключения могут летать между разными версиями gcc? Или, аллокации можно передавать?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[12]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 18:27
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

E>>Для связи с C++ объектами тоже можно аналогичную библиотеку написать...

LS>Для С++ можно написать, а там уже есть.

Ну так и системных API на плюсах мало... GDI+ разве отчасти...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[15]: Держи, пожалуйста, себя в рамках!
От: Vamp Россия  
Дата: 03.02.10 18:29
Оценка:
E>Я правда не понимаю, откуда следует выделенное.
Скажем так, на чем реализован КОМ, я точно не знаю. Но полагаю, что на С, как и вся Windows. Но его интерфейсы — сишные. И это следует из спецификации.

E>А привёл я его тут, как пример успешной фиксации платформой одной из особенностей реализации С++...

Ну ты и джаву мог привести с тем же успехом. И питон. И .Нет, прости господи.
Да здравствует мыло душистое и веревка пушистая.
Re[16]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 18:31
Оценка:
Здравствуйте, Vamp, Вы писали:

E>>А привёл я его тут, как пример успешной фиксации платформой одной из особенностей реализации С++...

V>Ну ты и джаву мог привести с тем же успехом. И питон. И .Нет, прости господи.

А ты перечитай моё первое сообщение, где я приводил примеры и COM в том числе
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[15]: Слава COM!!!
От: Cyberax Марс  
Дата: 03.02.10 18:32
Оценка:
Здравствуйте, Erop, Вы писали:

C>>Откуда они на С возьмутся? Экспортируемые функции С не содержат полных сигнатур, так что им однофигственно что у тебя wchar_t — это отдельный тип, а не typedef для short'а.

E>Зато им не однофигственно сколько байт из стека доставать
Ну так то было решено ещё в эпоху PASCAL'я.

C>>Как раз твоя "главная проблема" на том же Линуксе вообще не стоит.

E>Как так "не стоит"? Исключения могут летать между разными версиями gcc? Или, аллокации можно передавать?
Да, и можно.
Sapienti sat!
Re[17]: Держи, пожалуйста, себя в рамках!
От: Vamp Россия  
Дата: 03.02.10 18:33
Оценка: -2
E>А ты перечитай моё первое сообщение, где я приводил примеры и COM в том числе
То есть, ты хотел сказать, что есть и другие реализации ООП, кроме С++? Тогда твое высказывание тривиально.
Да здравствует мыло душистое и веревка пушистая.
Re[14]: С vs C++
От: MxKazan Португалия  
Дата: 03.02.10 19:04
Оценка:
Здравствуйте, Vamp, Вы писали:

I>>Вот приведи сюда код который пропертю реализует и покажи средства инкапуляции филда в пропертю.

V>Вот ты мне можешь объяснить, зачем нужен такой уродец, как property?
А что в них уродливого?
Re[15]: С vs C++
От: Vamp Россия  
Дата: 03.02.10 19:10
Оценка: -1
MK>А что в них уродливого?
Все.
Да здравствует мыло душистое и веревка пушистая.
Re[16]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 19:10
Оценка:
Здравствуйте, Cyberax, Вы писали:

E>>Зато им не однофигственно сколько байт из стека доставать

C>Ну так то было решено ещё в эпоху PASCAL'я.

Блин! Так я про то же и говорю, что в С свои проблемы бинарной совместимости были, и что они были успешно решены. Было бы надо -- и с С++ справились бы...

C>>>Как раз твоя "главная проблема" на том же Линуксе вообще не стоит.

E>>Как так "не стоит"? Исключения могут летать между разными версиями gcc? Или, аллокации можно передавать?
C>Да, и можно.

Чего? Как оно нужный ::operator delete найдёт?
Про исключения тоже забавно. Из какого именно std::excegtion оин будут унаследованы? От STL которой версии?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[18]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 19:12
Оценка:
Здравствуйте, Vamp, Вы писали:

V>То есть, ты хотел сказать, что есть и другие реализации ООП, кроме С++? Тогда твое высказывание тривиально.

То что я хотел сказать, я сказал уже много раз.

Проблемы с декорайией С++ имён не так страшны, чтобы помешать использовать С++ в качестве языка части API OS

Но теперь я, кажется, уже хочу сказать, что ты не совсем хорошо умеешь читать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[19]: Держи, пожалуйста, себя в рамках!
От: Vamp Россия  
Дата: 03.02.10 19:15
Оценка: :)
E>То что я хотел сказать, я сказал уже много раз.

Проблемы с декорайией С++ имён не так страшны, чтобы помешать использовать С++ в качестве языка части API OS


Я так и не смог понять, почему для иллюстрации этого тезиса ты выбрал КОМ, который НЕ НАПИСАН НА С++, не экспортирует С++ интерфейсы и вообще не имеет отношения к С++.
Да здравствует мыло душистое и веревка пушистая.
Re[16]: С vs C++
От: MxKazan Португалия  
Дата: 03.02.10 19:17
Оценка:
Здравствуйте, Vamp, Вы писали:

MK>>А что в них уродливого?

V>Все.
Слил?
Re[17]: С vs C++
От: Vamp Россия  
Дата: 03.02.10 19:19
Оценка:
MK>Слил?
Это смотря кто.
Да здравствует мыло душистое и веревка пушистая.
Re[20]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 19:19
Оценка:
Здравствуйте, Vamp, Вы писали:

V>Я так и не смог понять, почему для иллюстрации этого тезиса ты выбрал КОМ, который НЕ НАПИСАН НА С++, не экспортирует С++ интерфейсы и вообще не имеет отношения к С++.


Потому, что COM, тем не менее, смог зафиксировать формат таблицы виртуальных функций, которому следуют ВСЕ компиляторы С++ под винду...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[21]: Держи, пожалуйста, себя в рамках!
От: Vamp Россия  
Дата: 03.02.10 19:21
Оценка:
E>Потому, что COM, тем не менее, смог зафиксировать формат таблицы виртуальных функций, которому следуют ВСЕ компиляторы С++ под винду...
Да нет же! КОМ вообще не имеет дела с виртуальными таблицами, потому что НЕ экспортирует С++-классы. Программы на КОМ можно писать, например, на VB, в котором никаких виртуальных таблиц нет вообще.
Да здравствует мыло душистое и веревка пушистая.
Re[21]: Держи, пожалуйста, себя в рамках!
От: Cyberax Марс  
Дата: 03.02.10 19:23
Оценка:
Здравствуйте, Erop, Вы писали:

V>>Я так и не смог понять, почему для иллюстрации этого тезиса ты выбрал КОМ, который НЕ НАПИСАН НА С++, не экспортирует С++ интерфейсы и вообще не имеет отношения к С++.

E>Потому, что COM, тем не менее, смог зафиксировать формат таблицы виртуальных функций, которому следуют ВСЕ компиляторы С++ под винду...
Странно, но у gcc абсолютно такие же виртуальные таблицы. Странно, да?
Sapienti sat!
Re[17]: Слава COM!!!
От: Cyberax Марс  
Дата: 03.02.10 19:32
Оценка:
Здравствуйте, Erop, Вы писали:

E>>>Зато им не однофигственно сколько байт из стека доставать

C>>Ну так то было решено ещё в эпоху PASCAL'я.
E>Блин! Так я про то же и говорю, что в С свои проблемы бинарной совместимости были, и что они были успешно решены. Было бы надо -- и с С++ справились бы...
Эти проблемы на пару порядков сложности различаются. Описание calling convention для С занимает страничку, описание ABI для C++ — около 500 (с учётом исключений, множественного наследования и всяких dynamic_cast).

E>>>Как так "не стоит"? Исключения могут летать между разными версиями gcc? Или, аллокации можно передавать?

C>>Да, и можно.
E>Чего? Как оно нужный ::operator delete найдёт?
Они forward compatible в libstdc++.
Sapienti sat!
Re[18]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 19:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

E>>Чего? Как оно нужный ::operator delete найдёт?

C>Они forward compatible в libstdc++.

Ха! А если я перекрою, например?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 19:56
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Странно, но у gcc абсолютно такие же виртуальные таблицы. Странно, да?

Не абсолютно, но похожие.
А вот с точки зрения COM'а -- точно такие же, кстати...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 19:57
Оценка:
Здравствуйте, Vamp, Вы писали:

E>>Потому, что COM, тем не менее, смог зафиксировать формат таблицы виртуальных функций, которому следуют ВСЕ компиляторы С++ под винду...

V>Да нет же! КОМ вообще не имеет дела с виртуальными таблицами, потому что НЕ экспортирует С++-классы. Программы на КОМ можно писать, например, на VB, в котором никаких виртуальных таблиц нет вообще.

И что? Как то вообще связано с моим утверждением?
Я не утверждаю, что COM на С++ написан или на него ориентирован. Я всего лишь утверждаю, что он задал формат таблиц виртуальных функций под винду...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.