Здравствуйте, Khimik, Вы писали:
K>Мне сторонний программист портировал мою Delphi программу на Lazarus и скомпилировал на Linux и Mac
Пока вашу программу будет писать сторонний программист, а вы все свое свободное время будете тратить на обсуждение "мировых проблем" типа "Рост цен на жильё по категориям", "Цифровой рубль и банковский мультипликатор", "Биткоин vs Тонкоин" и прочую хрень, то вы никогда не будете прогрессировать как программист (раз уж вы себя таковым заявляете). А пока я вижу у вас только полнейшее отсутствие любых знаний, относящихся к программированию.
V>Пока вашу программу будет писать сторонний программист, а вы все свое свободное время будете тратить на обсуждение "мировых проблем" типа "Рост цен на жильё по категориям", "Цифровой рубль и банковский мультипликатор", "Биткоин vs Тонкоин" и прочую хрень, то вы никогда не будете прогрессировать как программист (раз уж вы себя таковым заявляете). А пока я вижу у вас только полнейшее отсутствие любых знаний, относящихся к программированию.
Себестоимость одного запроса ChatGPT стоит 4 цента. Чем сложнее система — тем она дороже. Может людям не по карману будет твой Протектор.
Мне сторонний программист портировал мою Delphi программу на Lazarus и скомпилировал на Linux и Mac (он говорит что пришлось для этого вести параллельно два исходника). С Linux версией вроде всё нормально, а с Mac есть какие-то странные баги. На одном Mac Intel компьютере вроде работает, но невидимы многие кнопки и пункты меню (хотя на них можно кликать). На другом компьютере при выборе пунктов меню в определённой последовательности программа вылетает. Ещё один пользователь написал что программа периодически слетает, хотя в принципе пользоваться можно; а другой написал что слетает не только программа, но и другие программы, запущенные одновременно с ней. Ещё один написал, что dmg архив Mac версии повреждён и не запускается, хотя Intel версия работает нормально.
Я подозреваю, что всё дело в нестандартной инсталляции программы, которую я пока использую — через .dmg файлы (образы диска). Процедура инсталляции выглядит следующим образом:
1) Человек распаковывает dmg файл и копирует его содержимое на каталог на винчестере;
2) Чтобы система не помещала файл в карантин, можно набрать в терминале что-то вроде этого:
$ cd /Users/username/Downloads/Program/
$ xattr -d com.apple.quarantine Program_ARM.app
Другой вариант — кликнуть правой кнопкой на приложении и выбрать System settings -> Privacy & Security
3) После копирования нужно ещё размонтировать dmg файл.
Это всё является источником данных багов? Если да, как делать инсталлятор правильно? Россиянам это Apple вообще разрешит?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K>в нестандартной инсталляции программы, которую я пока использую — через .dmg файлы
Вообще-то для мака это как раз стандартная инсталляция. Весть почти софт устанавливается так — открывается образ диска, пользователю показывается окошко с ярлыком программы и ярлыком папки Приложения, и он должен перетащить ярлык программы на ярлык Приложения, после чего программа копируется в папку Приложения.
Здравствуйте, Khimik, Вы писали:
K>Это всё является источником данных багов? Если да, как делать инсталлятор правильно? Россиянам это Apple вообще разрешит?
Многие разработчики забывают, что программы не математическая абстракця — ПРОГРАММЫ РАБОТАЮТ НА ДЕВАЙСАХ. И в первую очередь если вы рарабатываете ПО для некого девайса, пусть и с помощью т.н. кроссплатформы — вам нужно иметь этот девайс. Пусть б/у пусть старый и грязный — но иметь работающий девайс с установленной ОС. Скорее всего даже несколько девайсов с разными ОС, если такая поддержка планируется.
Причин может быть вагон и маленькая тележка. Просто даже собрать либу из исхдников — уже часто задача, кторая на несколько дней выходит.
Здравствуйте, Khimik, Вы писали:
K> R>На моей памяти ты уже третий раз работу местным предлагаешь. Так и не нашел постоянного партнера?
K> Да, хочу отдать всю свою работу на аутсорс, чтобы было больше времени изучать философию, физику, биологию, политологию, экономику и т.д.
Это верный способ угандошить продукт. Впрочем, дело твое, а меня скорее удивляет факт, что за все время ты не нашел постоянства.
K> Меня вообще раздражает это форумное сектантство, когда в каждом разделе сидит свой контингент, не интересующий ничем, кроме своей узкой специализации.
Эм... Приходишь на тематический форум и раздражаешься тому, что обсуждения ведутся околотематические? Тебе нужно найти форум, где народу интересно обсуждать философию, физику, биологию, политологию, экономику, вирусологию, космологию, гадание на картах таро и резиновые гвозди, где публике интересно быть специалистами во всем и ни в чем одновременно (чего-то на квантофизическом) и прекратить раздражаться
K> Вам может быть интересно хоть что-то, кроме зарабатывния лишней штуки баксов?
Здравствуйте, wantus, Вы писали:
W>Здравствуйте, Wawan, Вы писали:
W>>процессоры интела очень многие косяки программистов в синхронизации между потоками прощают, т.к. аппаратно сами синхронизируют все записи между кешами всех ядер W>>процессоры АРМ так НЕ делают, и потому многопоточность будет работать случайным образом и требует программерские скилы гораздо скиловее самых скиловых интелоских скилов Ж)
W>Обана. А детали где почитать?
в x86 все синхрится само
а в арм решили сэкономить энергию электричесткую но получили перерасход энергии программерской, синхронизация вручную
Здравствуйте, Khimik, Вы писали:
K>Мне сторонний программист портировал мою Delphi программу на Lazarus и скомпилировал на Linux и Mac (он говорит что пришлось для этого вести параллельно два исходника). С Linux версией вроде всё нормально, а с Mac есть какие-то странные баги. На одном Mac Intel компьютере вроде работает, но невидимы многие кнопки и пункты меню (хотя на них можно кликать). На другом компьютере при выборе пунктов меню в определённой последовательности программа вылетает. Ещё один пользователь написал что программа периодически слетает, хотя в принципе пользоваться можно; а другой написал что слетает не только программа, но и другие программы, запущенные одновременно с ней. Ещё один написал, что dmg архив Mac версии повреждён и не запускается, хотя Intel версия работает нормально. K>Я подозреваю, что всё дело в нестандартной инсталляции программы, которую я пока использую — через .dmg файлы (образы диска). Процедура инсталляции выглядит следующим образом:
K>1) Человек распаковывает dmg файл и копирует его содержимое на каталог на винчестере; K>2) Чтобы система не помещала файл в карантин, можно набрать в терминале что-то вроде этого:
K>$ cd /Users/username/Downloads/Program/ K>$ xattr -d com.apple.quarantine Program_ARM.app
K>Другой вариант — кликнуть правой кнопкой на приложении и выбрать System settings -> Privacy & Security K>3) После копирования нужно ещё размонтировать dmg файл.
K>Это всё является источником данных багов? Если да, как делать инсталлятор правильно? Россиянам это Apple вообще разрешит?
Атрибут карантина не должен влиять на программу, если она уже запущена.
А за что вы так своих пользователей не любите, купите за 99 долларов подписку разработчика и подписывайте, нотаризуйте свои программы.
K>Я подозреваю, что всё дело в нестандартной инсталляции программы, которую я пока использую — через .dmg файлы (образы диска).
Вполне обычная инсталляция наряду с инсталляцией из AppStore. Многие такой вариант используют.
K>1) Человек распаковывает dmg файл и копирует его содержимое на каталог на винчестере;
Обычно для этого делают окошко, где пользователь просто делает визуальный drag-n-drop.
K>2) Чтобы система не помещала файл в карантин, можно набрать в терминале что-то вроде этого:
K>$ cd /Users/username/Downloads/Program/ K>$ xattr -d com.apple.quarantine Program_ARM.app
Очень кривой путь. По-хорошему нужно просто подписать бинарники.
K>Другой вариант — кликнуть правой кнопкой на приложении и выбрать System settings -> Privacy & Security
Это нестандартный и тернистый путь для пользователя.
K>3) После копирования нужно ещё размонтировать dmg файл.
Это все мелочь и обычная практика. Пользователь сам потом сделает.
K>Это всё является источником данных багов? Если да, как делать инсталлятор правильно? Россиянам это Apple вообще разрешит?
Не похоже. Скорее похоже на кривость портирования (Lazarus или программист что-то неправильно сделал/недоделал). Плюс см. комментарии выше.
Здравствуйте, DiPaolo, Вы писали:
K>>Это всё является источником данных багов? Если да, как делать инсталлятор правильно? Россиянам это Apple вообще разрешит? DP>Не похоже. Скорее похоже на кривость портирования (Lazarus или программист что-то неправильно сделал/недоделал).
Если это так, то у меня объявление — ищу кого-то кто вылечит этот Lazarus код, предлагаю 80 000р за работу.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, r0nd, Вы писали:
K>>Если это так, то у меня объявление — ищу кого-то кто вылечит этот Lazarus код, предлагаю 80 000р за работу.
R>Какой объем существующего кода? Можешь посчитать с помощью cloc? Вывод утилиты скинь сюда.
Мне пока неохота скачивать cloc, в проекте около 300 модулей с общим размером 7 МБ (это размер всех .pas файлов).
Поскольку на rsdn не работает почта, мой email grandrienko[одомашненный волк]rmedprog.com
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Shmj, Вы писали:
S>Многие разработчики забывают, что программы не математическая абстракця — ПРОГРАММЫ РАБОТАЮТ НА ДЕВАЙСАХ. И в первую очередь если вы рарабатываете ПО для некого девайса, пусть и с помощью т.н. кроссплатформы — вам нужно иметь этот девайс. Пусть б/у пусть старый и грязный — но иметь работающий девайс с установленной ОС. Скорее всего даже несколько девайсов с разными ОС, если такая поддержка планируется.
В большинстве случаев даже и девайс не нужен — достаточно поставить необходимую операционку на виртуалку прямо на рабочей машине.
Здравствуйте, drVanо, Вы писали:
V>В большинстве случаев даже и девайс не нужен — достаточно поставить необходимую операционку на виртуалку прямо на рабочей машине.
MacOS не поставишь. Какой-нибудь хакинтош, который только со старой версией и то не все функции работают — возможно.
Вердикт такой: если софт не приносит даже денег на компьютер разработчику — то нафиг он тогда нужен?
Здравствуйте, drVanо, Вы писали:
S>>Но на железе от Apple типа M2 процессор? V>Для тестов на М2, да — придется покупать сам девайс, но это как раз остаток от "большинства случаев", о которых я писал
Вы на каком железе запустили Sonoma на VMware? Если железо не от Apple — там нужен VMWare macOS Unlocker и прочие прибамбасы, причем работает все криво, если вообще заработает.
Здравствуйте, Shmj, Вы писали:
S>Вы на каком железе запустили Sonoma на VMware? Если железо не от Apple — там нужен VMWare macOS Unlocker и прочие прибамбасы, причем работает все криво, если вообще заработает.
Вы имеете ввиду железо на хостовой машине? У меня древний i7-4770. Для удаленной отладки под Intel мне вполне хватает даже виртуальной 10.9, которую я еще ставил на VirtualBox. Для реальных тестов под М2 есть свежий макбук.
P.S. Недавно проапгрейдил на билдсервере под ESXi 5.0 виртуальную macOS c 10.8.5 на 10.11.6. Тоже полет нормальный.
сделай прогу однопоточной
процессоры интела очень многие косяки программистов в синхронизации между потоками прощают, т.к. аппаратно сами синхронизируют все записи между кешами всех ядер
процессоры АРМ так НЕ делают, и потому многопоточность будет работать случайным образом и требует программерские скилы гораздо скиловее самых скиловых интелоских скилов Ж)
Здравствуйте, Shmj, Вы писали:
K>>Мне пока неохота скачивать cloc, в проекте около 300 модулей с общим размером 7 МБ (это размер всех .pas файлов).
S>Это только .pas — т.е. написанный руками код? Или и автогенеренныый?
Ну да, то что я написал.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, drVanо, Вы писали:
V>>В большинстве случаев даже и девайс не нужен — достаточно поставить необходимую операционку на виртуалку прямо на рабочей машине.
S>MacOS не поставишь. Какой-нибудь хакинтош, который только со старой версией и то не все функции работают — возможно.
Здравствуйте, rudzuk, Вы писали:
K>> Если это так, то у меня объявление — ищу кого-то кто вылечит этот Lazarus код, предлагаю 80 000р за работу.
R>На моей памяти ты уже третий раз работу местным предлагаешь. Так и не нашел постоянного партнера?
Да, хочу отдать всю свою работу на аутсорс, чтобы было больше времени изучать философию, физику, биологию, политологию, экономику и т.д.
Меня вообще раздражает это форумное сектантство, когда в каждом разделе сидит свой контингент, не интересующий ничем, кроме своей узкой специализации. Вам может быть интересно хоть что-то, кроме зарабатывния лишней штуки баксов?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Wawan, Вы писали:
W>процессоры интела очень многие косяки программистов в синхронизации между потоками прощают, т.к. аппаратно сами синхронизируют все записи между кешами всех ядер W>процессоры АРМ так НЕ делают, и потому многопоточность будет работать случайным образом и требует программерские скилы гораздо скиловее самых скиловых интелоских скилов Ж)
Здравствуйте, Wawan, Вы писали:
W>>>процессоры интела очень многие косяки программистов в синхронизации между потоками прощают, т.к. аппаратно сами синхронизируют все записи между кешами всех ядер W>>>процессоры АРМ так НЕ делают, и потому многопоточность будет работать случайным образом и требует программерские скилы гораздо скиловее самых скиловых интелоских скилов Ж)
W>ключевое слово для поиска W>cache coherence
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, Wawan, Вы писали:
W>>>>процессоры интела очень многие косяки программистов в синхронизации между потоками прощают, т.к. аппаратно сами синхронизируют все записи между кешами всех ядер W>>>>процессоры АРМ так НЕ делают, и потому многопоточность будет работать случайным образом и требует программерские скилы гораздо скиловее самых скиловых интелоских скилов Ж)
W>>ключевое слово для поиска W>>cache coherence
I>А этим точно не операционка должна заниматься?
думаю этим занимаются в реализации std mutex и иже с ними
просто многие любят lock free алгоритмы а на арме их надо отлаживать заново
Здравствуйте, Wawan, Вы писали:
W>думаю этим занимаются в реализации std mutex и иже с ними W>просто многие любят lock free алгоритмы а на арме их надо отлаживать заново
Здравствуйте, drVanо, Вы писали:
V>Здравствуйте, Wawan, Вы писали:
W>>думаю этим занимаются в реализации std mutex и иже с ними W>>просто многие любят lock free алгоритмы а на арме их надо отлаживать заново
V>А вы точно ARM и ARM64 не путаете?
V>_InterlockedExchangePointer от MSVC: V>
я хотел сказать лишь что при переходе с интела на арм надо перепроверить синхронизацию потоков
конкрентно какие отличия это надо мучать гугл, я про все варианты работы процессоров не копенгаген
судя по случайным глюкам у ТС это похоже оно