|
|
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите, пожалуйста, какие-нибудь ссылки, по которым можно найти информацию о технологии разработки кроссплатформенных приложений. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 22:57:36 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
P.S. можно на английском... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 22:58:30 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 23:22:57 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
да там вываливаются ссылки только на by, а почитать без покупки не выходит :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2005, 23:18:43 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
java. Что тут ещё читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2005, 23:35:02 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
jillВсем привет! Подскажите, пожалуйста, какие-нибудь ссылки, по которым можно найти информацию о технологии разработки кроссплатформенных приложений. Заранее спасибо. 1. Приложениий каких? (например СУБД; GUI; Расчет чего-то...) 2. На чем пишем (умеем)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:54:16 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
Конечно JAVA на ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 09:58:57 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
не получилось запостить, вот ссылка http://java.sun.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 09:59:49 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
Можно ещё Qt для гуёв посоветовать. Но там пересобирать придётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 11:27:26 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
To 2i+2l Есть така весчь ACE TAO. Некая обертка над такими OS зависимыми и везде используемыми функциями, типа - открыть, прочитать, записать файл - загрузить динамическую бибатеку, вызвать у нее функцию - поставить mutex - породить новый процесс или поток и еще много чего. Как раз то, что надо, правда без окошек. И если до этого с stl и boost не работал - тяжеловато будет. А так, распростроняется бесплатно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 19:54:56 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
2 andrushok >Есть така весчь ACE TAO. Некая обертка над такими OS зависимыми и везде используемыми функциями, типа - открыть, прочитать, записать файл - загрузить динамическую бибатеку, вызвать у нее функцию - поставить mutex - породить новый процесс или поток Что тут системно зависимое? Кроме загрузки динамической библиотеки, но ее-то грузить зачем, сама загрузится когда нужно будет. Все отстальное как раз системно независимое, обертка не нужна. 2 jill Самый правильный вопрос был: какие приложения интересуют? Если нет ГУЯ, то никаких особых технологий нет, как и проблем с кросплатформенностью. Пишите на С по кернигану-ричи или на стандартном С++, возмите любую книгу по стандартному С++, и все. Кстати в этих книгах обычно говорится о тех нескольких простых правилах, которые нужно соблюдать при разработке кросплатформенных приложений, у Кернигана и Ричи это точно есть. Не связывайтесь с джавой, там такие же проблемы с кросплатформенностью + проблемы с версиями библиотек и ВМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 02:05:52 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
To 0x7F А можно с вами поспорить, а? 1) открыть файл/ создать файл. Вроде бы везде похоже, но как передать доступ - на винде и на юнихе по разному 2) походить по директориям - совсем разная байда -- кстати, виндовоз имеет свой API на счет файлов, а всяки open, fopen, create - лишь его обертки 3) поставить mutex - чой-то не вижу соответсвия - пример в студию 4) породить процесс - а иде в виндах fork()? -- кстати, еще одни грабли, в ксах pid получаем сразу, после fork а в винде, только после exec* (exec* - тоже обертка, чего точно не помню). Помойму, так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 05:48:59 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
Вердикт: правильное приложение станет кроссплатформенным после пересборки с минимальным (если у разработчиков руки из головы растут) переделыванием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 23:40:35 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
2 andrushok >1) открыть файл/ создать файл. Вроде бы везде похоже, но как передать доступ - на винде и на юнихе по разному Что такое передать доступ, кому? Остальное кросплатформенное, возражений вроде нет. >2) походить по директориям - совсем разная байда Этого в Вашем первоначальном посте не было. Зачем куда-то ходить? Никогда не сталкивался с такой задачей. Есть файл, работаем с ним. >-- кстати, виндовоз имеет свой API на счет файлов, а всяки open, fopen, create - лишь его обертки Пусть обертки, нас это каким боком задевает? >3) поставить mutex - чой-то не вижу соответсвия - пример в студию Прямого соответсвия нет, у мелкософта есть класс CMutex. Если очень ружно можно написать свои аналоги pthread_mutex_lock(pthread_mutex_t *); для винды, которые будут работать с CMutex. Но это тоже по-моему нетипичная задача. Я никогда не сталкивался, хотя с многопоточностью работал довольно много. При открытии поток блокируется обычной переменной isLock, которую proc() должна установить в 0, примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. >4) породить процесс - а иде в виндах fork()? -- кстати, еще одни грабли, в ксах pid получаем сразу, после fork а в винде, только после exec* (exec* - тоже обертка, чего точно не помню). И форка тоже в первоначальном посте не было. Есть екзек, хоть и с граблями. С форком никогда не приходилось сталкиваться, с екзеком мало. Я согласен, есть отличия. Но во-первых они есть и для джавы разных платформ, т.е. полностью платформеннонезависимое программирование это сказка, а во-вторых их в большинстве случаев можно легко учесть. 2 Sarin >Вердикт: правильное приложение станет кроссплатформенным после пересборки с минимальным (если у разработчиков руки из головы растут) переделыванием. Да. С вычислительными программами вообще никаких проблем нет, с разными многопоточными и сокетными проблемы есть, но их мало. Обычно сводится к написанию несложных оберток, их немного, и ifdef-ов в h файлах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 02:58:33 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
c127 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Так это, батенька, и есть оно самое - кроссплатформенное програмирование :) Есть огромное множество "мелочей", используя которые вам не понадобится доставать левой пяткой правое ухо, для того, что бы запустить свою программу на другой платформе. Совет пользовать стандарт С/С++ конечно хорош, но проблема в том, что эти стандарты, к сожалению, не покрывают очень многого, что нужно в повседневной жизни (ждём с нетерпением C++0x уже который год): ни тебе стандарта работы с базами данных, ни распределённых вычеслений, ни работы с файловой системой (ой, извеняюсь, совсем позабыл, что таких задач не бывает - просто файлов достаточно :) ) и пр. Для того, что бы посоветовать что либо, надо, конечно, знать, что, куда и от куда планируется портировать. Как введение могу посоветовать старую-престарую работу для разработчиков mozilla: http://www.mozilla.org/hacking/portable-cpp.html (там уже многое устарело). PS. (для с127) Под unix'ом обычно всегда вызывают fork перед вызовом exec (есть, конечно, исключения, но они всего лишь исключения). Поэтому, если разговор про процессы, то fork подразумевается само-собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 05:03:00 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
To 01111111 Cобственно мы с вами и пришли к мению, шо можно ручками подкрутить например CFile и СMutex для ксов, а для виндов написать обертку DIR. Я энто делал, работало. Но ACE-TAO сие делает за тебя и не надо поганить свой коде всякими #ifdef. Кстати, если вдруг на Mac надо будет портировать? Я там воще ничего не знаю... =) акромя что конец стоки тама просто \r (на винде \r\n, на ксах \n). Тоже кстати, проблемка. Небольшая, но учитовать надо. И еще. На разных платформах порядок байтов младший-старший разный. Даже у солярок на спарке и на интеле - процессорно зависимая весчь. А есть некие кросплатформенные бинарные файлы - Blast Search Databases. Предпологается, что можно сгенерить их на обной платформе и один в один использовать на другой. Не большое дело проверить порядок байтов, но все же... У ACE-TAO такой проблемы нет. Все конечно можно сделать ручками. Но уже все и так сделано =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 05:59:24 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
c127 Пожалуйста, пример кода Java, который будет работать под Windows и не будет работать под Linux в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 08:32:57 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
не совсем пример кода - но был случай когда самописное GUI приложение под Red Hat 5.3 (там еще была jdk 1.1, соответственно awt юзалась) - так вот, там виджеты не прорисовывались, если его запускали через X-ы удаленно из виндов. Наверное это был все же глюк X-сервера, но странно, что другие (не java) gui-евые приложения вполне себе прорисовавались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 09:36:42 |
|
||
|
где почитать про кроссплатформенность?
|
|||
|---|---|---|---|
|
#18+
2 FishingIsGood >Так это, батенька, и есть оно самое - кроссплатформенное програмирование :) А я и не говорил что его нет. Я говорил что все тонкости кросплатформенного программирования изложены у Кернигана-Ричи и умещаются в паре абзацев. Просто нужно сначала думать а потом программировать, а не наоборот. В этом случае "огромное множество "мелочей", " выродится во вполне обозримое и подъемное количество кода. >Но ACE-TAO сие делает за тебя и не надо поганить свой коде всякими #ifdef. Верно. Но только ради вот этого - открыть, прочитать, записать файл - загрузить динамическую бибатеку, вызвать у нее функцию - поставить mutex - породить новый процесс или поток врядли стоит тащить, а главное изучать ACE-TAO. Для других задач может и имеет смысл. >Кстати, если вдруг на Mac надо будет портировать? Как раз на маке работает лучше чем на винде, это же фрибсд. Там единственная проблема с которой я столкнулся это что некоторые h файлы лежат в директории .../include/sys 2 Кувалдин Роман >c127 Пожалуйста, пример кода Java, который будет работать под Windows и не будет работать под Linux в студию. Во-первых я о линуксе в применении к джаве не говорил, читайте внимательно. Есть ведь и другие платформы, например довольно распространенная PalmOS, на которой джавы нет вообще, есть какой-то кусок не удовлетворяющий никаким стандартам. И что теперь делать с кросплатформенным программированием? Во вторых кроме кода в джаве есть еще виртуальная машина и библиотеки. Возьмите версию линукса со слегка устаревшей VM или слегка устаревшими библиотеками, возьмите достаточно сложный джава код и получите желаемый результат. Или не устанавливайте их вообще, они ведь в линукс (и в винду) не входят, у меня на машине не установлены например. В этом случае желаемый результат достигается даже быстрее и легче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 22:25:58 |
|
||
|
|

start [/forum/topic.php?fid=25&fpage=245&tid=1490668]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 405ms |

| 0 / 0 |
