FreeBasic
Главная
Вход
Регистрация
Пятница, 27.12.2024, 04:36Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Сравнение языков PureBasic и FreeBasic
haavДата: Суббота, 22.09.2012, 22:17 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Сравнение языков PureBasic и FreeBasic


Таблица сравнений находится ЗДЕСЬ


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
ShadExДата: Вторник, 25.09.2012, 20:39 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 51
Репутация: 1
Статус: Offline
Ну, про минусы ПюреВасика понятно, а почему ты выбрал для своей библиотеки похожие названия функций и концепцию именно из него?

Честно говоря, не очень удобный способ прописывать создание элементов GUI (учитывая дополнительные константы-номера при создании), лучше наверно было бы взять концепцию и похожие по названию функции из AutoIT...


Сообщение отредактировал ShadEx - Вторник, 25.09.2012, 20:42
 
haavДата: Вторник, 25.09.2012, 22:08 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Quote (ShadEx)
Ну, про минусы ПюреВасика понятно, а почему ты выбрал для своей библиотеки похожие названия функций и концепцию именно из него?


На тот момент мне это показалось хорошей идеей. С другой стороны многие названия носят уникальные имена , не пересекающиеся с API , да и несут хороший смысл того, что они делают. Про AutoIT я на тот момент только мельком слышал...


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
}{oma6bI4Дата: Четверг, 25.10.2012, 16:29 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Quote
PureBasic: казуальные 2D игры, простые 3D игры\демки


IMHO
Справедливости ради, для этих целей больше подходит BlitzMax/Blitz3D (Basic)

На вскидку:
http://blitzetc.blitzmax.ru/index.php/Каталог:Blitz3D-Программы
 
haavДата: Четверг, 25.10.2012, 18:27 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Quote (}{oma6bI4)
IMHO Справедливости ради, для этих целей больше подходит BlitzMax/Blitz3D (Basic)


Согласен. Блитц заточенный под игры движок.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
electrikДата: Четверг, 20.02.2014, 15:54 | Сообщение # 6
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
меня тут друг пытается на пурик перетянуть. я и незнаю даже. ведь я привык к WinAPI, да и всегда интересно самому всё писать. там много чего готовенького. возникла у нас идея типа виртуального мира написать, так сказать 3d, звуковая общалка.
вот и думаем, где проще будет, за счет готовых компонентов.
мне впринципе пофиг, но чем-то ему пурик понравился.
ща конечно его поставлю, но синтаксис, эт да. объявлять переменные типа myvar.s, за место dim myvar as string - как то диковато выглядит, любителей basic, это может запутать. могут подумать, что идёт обращение к какому-нибудь элементу типа или класса.
да и всякие $ доллары, # решотки, тож как-то путает.
дело привычки, но насовсем на пурик переходить не хочу. да и у меня миссия, так сказать, всем чем можно, помогать FreeBasic в продвижении, пусть это будут даже заголовочные файлы к библиотекам.
да и подрубать к FreeBasic, можно любые библиотеки, разьве что от c++ классы не подрубить.единственное, что радует в пурике, маленькие бинарники. во FreeBasic они тоже маленькие, но на пурике простые проги будут весить ещё чуть меньше.
ну и ещё плюс, для любителей яблока, вот тут FreeBasic проигрывает. зато PureBasic, нет для супер операционной системы dos, для лузеров это не важно, но продвинутым иногда dos может пригодиться.
у нас на работе редакторы  по брайлю, под dos работают в лексиконе - и это не прикол.
год назад я работал в dos, на машине матричной печати, сам программу для неё под dos писал именно на FreeBasic.
 
haavДата: Пятница, 21.02.2014, 05:26 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Что ж Серега, удачи!

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
electrikДата: Пятница, 21.02.2014, 12:00 | Сообщение # 8
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
глянул пурик, вещь не плохая, много чего интересного. готовые компоненты для создания серверов, мэйлов и т.д. надо будет глянуть твою window9, помню, что там бинарники вродь большие получаются, но так же помню, что вродь ты там что-то оптимизировал.
попробовать реверснуть пуриковские функции, и добавить их в window9.
может ещё что-то можно заоптимайзить будет, ведь если положить функции  в разные bas файлы, то в библиотеке они будут тоже как-то отделены, и в бинарник будут браться только те, которые реально используются
ладно, будет время, гляну сурсы window9.

концепция pure мне понравилась, впринципе логично, сначала всё создаём, кнопки, сервера, а потом обрабатываем события.
классно будет,  если эт всё на FreeBasic перетащить.
и кодить приятней будет, и FreeBasic'у плюс
 
haavДата: Пятница, 21.02.2014, 13:36 | Сообщение # 9
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Как ты Серега собираешься что то там перетаскивать? Если в DLL , то даже будь у тебя лицензия, это делать незаконно (такая уж лицензия у purebasic). А у меня библиотека легальная и я не хочу чтобы из-за таких косяков ей перестали пользоваться зарубежные коллеги. У них вопрос лицензии стоит очень остро.

Что касается размера, то тут мне понятно почему от версии к версии размеры бинарников вырастают как минимум на 30 кб. Всему виной встроенные операторы:  new и delete . Если пройтись по библиотеке и заменить способ выделения памяти на функции Allocate, Deallocate , то размер бинарника маленькой программки упадет как минимум на 60 кб. Так два примера, делающие одно и тоже весят 78кб и 12 кб:

Код
Dim As Integer Ptr a = New Integer
Delete a

Код
Dim As Integer Ptr a = allocate (4)
Deallocate(a)

Но на самом деле никого сейчас не удивишь маленьким размером, времена DOS прошли. Когда у меня был жесткий диск 40гб , я тоже старался держать на компе только маленькие программы , а сейчас реально пофигу. Да и кроме того , на реальных программах (не хелловордах) , где включены картинки , звуки или просто много кода ,  разницы никакой не будет на чем ты пишешь , то есть размер будет сопоставим.

P.S. Если уж ты реально разбираешься в реверсинге, то было бы неплохо если бы ты смог разобраться как работает функция FindString (поиск строк) и связанные списки. Как я не пробовал писать списки на чистом winapi , все равно пуриковские реально быстрее.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
electrikДата: Воскресенье, 23.02.2014, 18:35 | Сообщение # 10
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
короче, поповоду поиска строк, это можно глянуть, а вот поповоду связанных списков, тут я с этим просто не заморачивался, и уже реверсить ни чего не надо.

Код
open "c:\a.txt" for output as #1
print #1,command()
close
SLEEP(3000000,1)


компилируем и кидаем этот файл в purebasic\compilers, не забыв сделать копию polink.
компилим пуриковскую прогу, естественно остановится, потом лезем в temp пользовательской папки, или если вы изменяли переменную окружения.
там будет папка purebasic5 с кучей цифр, ну а кто умный, понял о чём я. скажу лишь, после реальной компиляции, там ни чего нет.

Добавлено (21.02.2014, 21:45)
---------------------------------------------
попробую узнать у человека про списки, он что-то мне рассказывал про это. он поклонник c++, мож подскажет алгоритм, или куда пойти за ним. а так, будет желание, гляну туда, мож пойму как оно написано.
в связных списках, наверное есть места, где копируется память.
есть способ от manhunter, быстро копировать память, идея такова, всё копируется на ассемблере movsd, а остальные оставшиеся 3 или 2 или 1 байт, копируются как есть, по одному. выигрыш в скорости, говорят большой.но а если x64, там вообще по 8 байт за раз можно копировать, а остальные побайтно, думаю нет смысла вставлять проверку <4.
читал я когда-то про спаривание команд, но я честно скажу, не переварил это. если на ассемблере владеть этой техникой, проц выжимается по максимуму.
что такое спаривание команд, как я понял, две команды работают по числу тактов как одна.но думаю, это ты знаешь, чтоб быстро копировать память, массив должен быть выровнен по скольку уж не помню, наверное по границе 4 байта на 32 системах, 8 на 64. таже фигня с кодом, только там другие выравнивания.

Добавлено (21.02.2014, 21:53)
---------------------------------------------
по поводу window9, ну ладно, не реверсинг, но такие же функции, для работы с network, и т.д. реверсинг в данном случае подразумевает изучение кода.
ладно, это возможно и не будет, щас порыв так сказать, от впечатлений. я прекрасно осознаю, что в одиночку всё это перелопатить, маньяком надо быть.

Добавлено (23.02.2014, 18:35)
---------------------------------------------
я конечно понимаю, что тут не purebasic форум, но всё же спрошу как у бывалова.
функция catchSound, может брать звук из памяти, но грузить то надо целый звук, а мне надо подчитывать с винта, причем не wave файл, а raw данные.
в winapi, можно считывать состояния буферов и добавлять в очередь. тут тоже можно глянуть что звук остановился, но если я начну так подгружать, думаю паузы будут при воспроизведении.
уже всю доку перерыл, пока так и не надыбал ничего.
хотел переписать свои говорящие часики на пурике, только из-за кроссплатформености графических окон и т.д.
можно конечно и fmod заюзать, но хотел без лишних библиотек. видимо не судьба.
короче, я всё больше убеждаюсь, что пурик со встроенными функциями, очень ограничен для ковыряния на низком уровне. и видимо идея с виртуальным миром, на пурике тож не катит, так как тут тоже из сети надо будет подгружать кусочки звука, а писать на winapi, эт я и на FreeBasic накатать могу.
надежда была на кроссплатформенные мощности языка, но как на зло функционал ограничен.

 
haavДата: Воскресенье, 23.02.2014, 19:38 | Сообщение # 11
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Серега! Я что и знал на пурике, уже успел забыть. А со звуком на пурике я вообще не работал, кроме простого воспроизведения. Так что ничем тут помочь не смогу. Попробуй спросить на русском форуме: http://purebasic.info/phpBB3ex/index.php, может там подскажут как это сделать встроенными возможностями.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
  • Страница 1 из 1
  • 1
Поиск: