Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: PB +) PureBasic Добавлено: 01.06.04 16:58  

Автор вопроса:  Fallout | Web-сайт: mudator.by.ru
http://www.purebasic.com/

Вот интерестно обещают маленькие экзешники от 5КБ... плюс куча всяких наворотов без всяких рантаймов и тд итп... вообщем счас качаю... ещё 40% осталось...

Компилятор платный... там и ИДЕ есть и подобное... вообщем просто интерестно а лучше ли он PowerBasic или нет.. если да.. и он оптимизирует и не суёт мусор как Повер то гуд. +))

Ответить

  Ответы Всего ответов: 24  

Номер ответа: 1
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #1 Добавлено: 02.06.04 15:12
Purebasic есть на пиратских сидюках вместе с PB.
Описание одной из версий есть в моей статье:
http://vbnet.ru/article/showarticle.asp?id=131

Если говорить кратко, по сравнению с ПБ, Purebasic значительно слабее, на порядок...
Переходить на него с ПБ нет смысла

Ответить

Номер ответа: 2
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #2
Добавлено: 02.06.04 15:59
 Судя по статье он траслирует код в мнемонику, а потом через чужой компилятор делает экзешник. А ПБ сразу в машинные коды.

 А вообще то жаль что там мало хороших компиляторов БЕЙСИК-а. Не из чего выбрать.

Ответить

Номер ответа: 3
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #3
Добавлено: 02.06.04 16:09
Я скачаю и гляну последнюю версию... а насчёт ПБ... то слишком много грязного кода... бээ... почему не сделают.. нормальный

Ответить

Номер ответа: 4
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #4 Добавлено: 02.06.04 16:16
В Purebasic примитивный синтаксис языка, но для многих пользователей он подойдет... Там есть поддержка мультимедии, библиотеки компрессии и прочие мелкие вкусности.
Может он тебе и понравится...

Ответить

Номер ответа: 5
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #5
Добавлено: 02.06.04 16:52
Хм... блин ну прсото ПБ тоже не выход... а хочется чистоты.. кода а так ПБ очень хорошь

Ответить

Номер ответа: 6
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #6
Добавлено: 02.06.04 18:08
 Ну покажи хоть где ты там мусор увидал. Где код нечист на руку? Может алгоритм был неоптимизирован. И вообще, непонятно на чём собственно PB писался. Если на АСМ, то на каком. Или может на ЯВУ? Хотя вряд ли.

Ответить

Номер ответа: 7
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #7 Добавлено: 03.06.04 09:22
PBWIN 7.x это 16-разрядное приложение. Писался соответсвенно он каким-то древним компилятором.
Бинарный код очень похож на Borland C++ для Win 3.11

Ответить

Номер ответа: 8
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #8
Добавлено: 03.06.04 09:40
Создай пустой проект с одной голой WinMain функцией откомпилируй .. потом дизассемблируй и дивись.... откуда чтолько странного ненужного тебе кода +) создай простую функцию типа a=b+c и погляждди опять таки в дизассемблере что с ней стало....

Ответить

Номер ответа: 9
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #9 Добавлено: 03.06.04 10:43
По моему ты слишком много требуешь от PB. Это же не ассемблер в конце-концов,
в Дельфи к примеру пустой проект с одной формой будет скомпилирован в EXE весом
в полмегабайта! Вот где мусора навалом...

Ответить

Номер ответа: 10
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #10
Добавлено: 03.06.04 10:50
Дело не в том что он ассемблер просто я бы хотел чтоб я делаю... программу и у меня былоб то что я дулаю а не какой нить каркасик ещё навесок ... который мне не сдался +)

Ответить

Номер ответа: 11
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #11 Добавлено: 03.06.04 11:03
Практически любой компилятор имеет "STUB PE" - стартовый каркас к которому дописывается
скомпилированный код. В PBWIN он имеет размер около 5-6 кбайт, качество кода в стубе
практически не имеет значения, его главная задача загрузить код в память, запустить
функцию RtlWinMainStartUP которая возмет из системы параметры (hInstance, hPrevInst,
lpszCmdLine,nCmdShow ) и передаст их функции WinMain, в код пользователя...

Кстати, есть проги которые "чистят" EXE от мусора, к примеру экзешники от PBWIN
уменьшаются в размере на 1-2 кбайта, а дельфийские на 20-40 кбайт! Так, что
в PB еще не так все плохо...

:)

Ответить

Номер ответа: 12
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #12
Добавлено: 03.06.04 11:09
Они не чистят сам код +) они могут убрать дос заглушку и выровнять секции ... до безопастного значения в 512 байт ... ну вырезать ещё релоки тд...

А вот вопрос тоды на засыпку нафига открывать Hkey Local Machine и сразу его закрывать .... в чём тут понт то? зачем верней ПБ компилятор это делает?

Ответить

Номер ответа: 13
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #13 Добавлено: 03.06.04 11:19
Да нет, та прога, что-то из хвостов экзешника выкусывает...

Сейчас запустил пустой экзешик от PB под отладчиком, вот что получилось:

Debug process created...
-PID: 5ACh process handle: E0h
-TID: 19Ch thread handle 11Ch
Dll loaded...ntdll.dll Base: 77F80000h
Dll loaded...ADVAPI32.dll Base: 79060000h
Dll loaded...KERNEL32.dll Base: 793A0000h
Dll loaded...RPCRT4.dll Base: 770F0000h
Dll loaded...ole32.dll Base: 77A50000h
Dll loaded...GDI32.dll Base: 77F40000h
Dll loaded...USER32.dll Base: 77E10000h
Dll loaded...OLEAUT32.dll Base: 779B0000h
Dll loaded...Shim.dll Base: 78320000h
Dll loaded...APISnoop.dll Base: 10000000h
Dll loaded...MSVCRT.dll Base: 78000000h
API: CoInitialize(OLE32.DLL)
Dll loaded...ShellHook.dll Base: 6E380000h
Dll loaded...IMM32.dll Base: 75E00000h
API: CoInitialize returned: 00000000h
API: GetVersionExA(KERNEL32.DLL)
API: GetVersionExA returned: 00000001h
API: GetStartupInfoA(KERNEL32.DLL)
API: GetStartupInfoA returned: 0012FF70h
API: GetCommandLineA(KERNEL32.DLL)
API: GetCommandLineA returned: 00132718h
API: GetEnvironmentStringsA(KERNEL32.DLL)
API: GetEnvironmentStringsA returned: 00139800h
API: GetModuleHandleA(KERNEL32.DLL), 00000000h=?
API: GetModuleHandleA returned: 00400000h
API: TlsAlloc(KERNEL32.DLL)
API: TlsAlloc returned: 00000005h
API: TlsGetValue(KERNEL32.DLL)
API: TlsGetValue returned: 00000000h
API: GlobalAlloc(KERNEL32.DLL), 0040h, 00000054h
API: GlobalAlloc returned: 00139568h
API: TlsSetValue(KERNEL32.DLL)
API: TlsSetValue returned: 00000001h
API: GetSystemInfo(KERNEL32.DLL)
API: GetSystemInfo returned: 00040000h
API: RegOpenKeyExA(ADVAPI32.DLL)
API: RegOpenKeyExA returned: 00000000h
API: RegCloseKey(ADVAPI32.DLL)
API: RegCloseKey returned: 00000000h
API: TlsGetValue(KERNEL32.DLL)
API: TlsGetValue returned: 00139568h
API: GlobalFree(KERNEL32.DLL), 00139568h
API: GlobalFree returned: 00000000h
API: TlsSetValue(KERNEL32.DLL)
API: TlsSetValue returned: 00000001h
API: TlsFree(KERNEL32.DLL)
API: TlsFree returned: 00000001h
API: FreeEnvironmentStringsA(KERNEL32.DLL)
API: FreeEnvironmentStringsA returned: 00000001h
API: CoUninitialize(OLE32.DLL)
API: CoUninitialize returned: 00135B50h
API: ExitProcess(KERNEL32.DLL), 0000h
!!! Debuggee exited...TID: 19Ch ExitCode: 0 (0h)

Ответить

Номер ответа: 14
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #14 Добавлено: 03.06.04 11:23
RegOpenKeyExA открывается затем, что можно указать
для какой Оси ты скомпилировал свою прогу:

#OPTION {VERSION3 | VERSION4 | VERSION5}

Там ищется версия виндовс, если она не совпадает
с #OPTION то прога не запустится

Ответить

Номер ответа: 15
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #15
Добавлено: 03.06.04 11:37
Угу... НО Я ТО НЕ ИСПОЛЬЗУЮ ЭТУ КАМАНДУ ПРЕПРОЦЕССОРА!!!! о чём я и говрю я хочу чтоб было то что я пишу ...

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам