Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование double в __int64 
:(
    Опции темы
UnrealMan
Дата 24.12.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(GoldFinch @  24.12.2008,  19:02 Найти цитируемый пост)
UnrealMan, кроме С++ есть много других языков программирования, с точки зрения которых ваш код на С++ может показаться написанным "через ж."

Очень странное заявление.

Цитата(GoldFinch @  24.12.2008,  19:02 Найти цитируемый пост)
если вы чегото не знаете это значит что вы это не знаете, а не то что это не существует

Мне достаточно того, что вероятность существования этого чего-то очень мала (до тех пор, пока кто-либо не предоставит весомых аргументов считать иначе).

Цитата(GoldFinch @  24.12.2008,  19:02 Найти цитируемый пост)
>Что мешает сохранить значение объекта, на который указывает переданный указатель, до возврата управления функцией?
- то что его надо хранить неопределенно долго
- то что значение надо передать в адресное пространство другого процесса

Я не вижу в этих пунктах никаких препятствий.

Цитата(Earnest @  24.12.2008,  19:31 Найти цитируемый пост)
Да вы, батенька, идеалист... 

Ошибаешься. Я материалист smile 

Цитата(Earnest @  24.12.2008,  19:31 Найти цитируемый пост)
Знаешь, сколько код живет?

Зачастую больше, чем хотелось бы. Не нужно путать продолжительность жизни кода и его качество.

Цитата(Earnest @  24.12.2008,  19:31 Найти цитируемый пост)
Какого возврата?

Пока функция не вернёт управление, временный объект в примере выше или тем более локальный объект, адрес которого также может быть передан в функцию, гарантированно существует.

Цитата(Earnest @  24.12.2008,  19:31 Найти цитируемый пост)
Есть асинхронная передача, есть другие процессы

Ну, есть, и что дальше?

Цитата(Earnest @  24.12.2008,  19:31 Найти цитируемый пост)
Но если достаточно запихать float в 4-байтовый int - неужели я буду городить этот огород?

Какой такой огород? Покажи на конкретных примерах, что с чем сравнивается.

Это сообщение отредактировал(а) UnrealMan - 24.12.2008, 22:42
PM MAIL   Вверх
GoldFinch
Дата 25.12.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



Цитата(UnrealMan @  24.12.2008,  22:40 Найти цитируемый пост)

>значение надо передать в адресное пространство другого процесса

Я не вижу в этих пунктах никаких препятствий.

чтобы передать указатель в чужое АП этот указатель должен указывать на переменную в чужом АП, а создать переменную в чужом АП - не самая тривиальная задача, более того, зачастую это впринципе невозможно

Цитата(UnrealMan @  24.12.2008,  22:40 Найти цитируемый пост)
Пока функция не вернёт управление, временный объект в примере выше или тем более локальный объект, адрес которого также может быть передан в функцию, гарантированно существует.

асинхронные функции сначала возвращают управление, а потом используют переданные им объекты, вы не знали?
PM MAIL ICQ   Вверх
mes
Дата 25.12.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(GoldFinch @  25.12.2008,  12:53 Найти цитируемый пост)
асинхронные функции сначала возвращают управление, а потом используют переданные им объекты, вы не знали? 

клонируя при этом нужные из переданных данных, и удаляя последние, когда они им станут не нужны.  (в нормальных условиях)



--------------------
PM MAIL WWW   Вверх
GoldFinch
Дата 25.12.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



mes, так ведь не везде такое предусмотрено
PM MAIL ICQ   Вверх
UnrealMan
Дата 25.12.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(GoldFinch @  25.12.2008,  12:53 Найти цитируемый пост)
чтобы передать указатель в чужое АП 

Как реализация межпроцессного взаимодействия связана со способом передачи значения в исходную функцию?

Цитата(GoldFinch @  25.12.2008,  12:53 Найти цитируемый пост)
асинхронные функции сначала возвращают управление, а потом используют переданные им объекты, вы не знали?

Переданные объекты никогда не используются асинхронно, вместо них всегда используются копии объектов.
PM MAIL   Вверх
GoldFinch
Дата 25.12.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



UnrealMan, да с чего вы взяли что всегда копии?
в CreateThread, CreateRemoteThread, SendMessage - не копии
PM MAIL ICQ   Вверх
mes
Дата 25.12.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(GoldFinch @  25.12.2008,  15:32 Найти цитируемый пост)
SendMessage -

а с чего Вы взяли что эта функция  асинхроннaя ??  (также как и две другие) smile 
Цитата

Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message.

Может имелось ввиду PostMessage. Вот она асинхронная, но и копирует данные. 
Цитата

The PostMessage function places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message.


Это сообщение отредактировал(а) mes - 25.12.2008, 15:47


--------------------
PM MAIL WWW   Вверх
GoldFinch
Дата 25.12.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



пусть не асинхронная, но в SendMessage параметры сообщения передаются окну без копирования, если в lparam указатель на переменную - никто не скопирует эту переменную
PM MAIL ICQ   Вверх
UnrealMan
Дата 25.12.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(GoldFinch @  25.12.2008,  15:32 Найти цитируемый пост)
да с чего вы взяли что всегда копии?

Если параметры функции - не ссылки, то по-другому быть не может smile
PM MAIL   Вверх
mes
Дата 25.12.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(GoldFinch @  25.12.2008,  16:00 Найти цитируемый пост)
пусть не асинхронная, но в SendMessage параметры сообщения передаются окну без копирования, если в lparam указатель на переменную - никто не скопирует эту переменную 

Ну и где Вы видите проблему ? При отсылке между потоками ? Так там нельзя использовать эту функцию  smile 
При пользовании окном этого указателя, в следующем цикле ? так если окну нужны данные, оно должно сохранить их , а не указатель. 



--------------------
PM MAIL WWW   Вверх
UnrealMan
Дата 25.12.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(mes @  25.12.2008,  17:33 Найти цитируемый пост)
Ну и где Вы видите проблему ? При отсылке между потоками ? Так там нельзя использовать эту функцию  

Как это нельзя? smile Её можно использовать даже для отсылки данных между процессами (см. WM_COPYDATA). Разумеется, все полезные данные при такой отсылке должны копироваться.
PM MAIL   Вверх
mes
Дата 25.12.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(UnrealMan @  25.12.2008,  18:36 Найти цитируемый пост)
Как это нельзя? smile

ошибся.. ( Хотя  сути не меняет. )




--------------------
PM MAIL WWW   Вверх
J0ker
Дата 25.12.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 4
Всего: 14



UnrealMan, кончай морочить детям голову  smile 

Дети, UnrealMan вам намякивает, что объект самостоятельно может управлять своим жизненным циклом - без привлечения внимания вызывающего кода - вопрос лишь в правильном интерфейсе



--------------------
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1002 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.