purebasic.info

PureBasic forum
Текущее время: Вт окт 23, 2018 11:49 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 11:34 am 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
перечитал трэд, много думал.
а можно все же скомпилить вместо .EXE .OBJ?
пробовал coffIT 2.0 - виснет при обработке.

цель простая - хочется попробовать создать 4к интро.

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 12:07 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11304
Благодарил (а): 4 раз.
Поблагодарили: 438 раз.
OBJ это объектный файл, а не исполняемый.
Его нельзя запустить.

Пурик позволяет создавать EXE с минимальным размером 2 КБ.
А если поиграться с линкером
Цитата:
/merge:.text=.code
/section:.code,erw
то можно создать EXEшку размером, 1.5 КБ а может и меньше.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 12:09 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
egons писал(а):
а можно все же скомпилить вместо .EXE .OBJ?

puremaster писал(а):
Щас распишу этапы создания exe/dll в windows пурике:
1 .pb ->(pbcompiler.exe)-> .asm
2. .asm ->(fasm.exe)-> .obj
3. .obj+.lib+.userlib+.rc ->(polink.exe)-> .exe/.dll


Так что истина где то рядом...Надо только прервать цепочку своей программой с именем polink.exe

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 12:31 pm 
Не в сети
профессор

Зарегистрирован: Вт янв 13, 2009 2:41 pm
Сообщений: 370
Благодарил (а): 3 раз.
Поблагодарили: 17 раз.
Пункты репутации: 8
Ну объектник можно создать примерно таким батником
Код:
1
fasm PureBasic.asm


Сам Fasm.exe лежит в папке Compilers.
Только вот как объектник относится к 4к интро, остаётся загадкой.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 1:33 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
kvitaliy писал(а):
1 .pb ->(pbcompiler.exe)-> .asm

о, разобрался, нужно ключ /CoMMENTED,странно, что не получалось :(
Fox писал(а):
Сам Fasm.exe лежит в папке Compilers.

нашел, спасибо.
Fox писал(а):
Только вот как объектник относится к 4к интро, остаётся загадкой.

философский вопрос. просто задурили голову PureBasic 4K framework с готовыми примерами, к тому же есть написанные процедуры и задумка, на ассемблер переделывать не хочется пока что.
дальше - пакер kkrunchy даёт размер 6 килобайт, а скомпоновать crinkler не получилось из-за объектника.
буду разбираться, хотя там затыки с entry point в командной строке.

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 1:48 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Fasm справился с листингом, теперь компоновка:
Код:
1
2
crinkler.exe /LIBPATH:C:\PROGRA~1\PUREBA~1\PURELI~1\Windows\LIBRAR~1 /HASHSIZE:67 /HASHTRIES:40 /VERBOSE:FUNCTIONS /TRANSFORM:CALLS /ENTRY:PureBasicStart /OUT:intro.exe /RANGE:opengl32 kernel32.lib msvcrt.lib user32.lib gdi32.lib dsound.lib opengl32.lib glu32.lib PureBasic.obj
 


и ошибка:
Код:
1
: error: LNK2019: unresolved external symbol _ChoosePixelFormat@8


осталось найти библиотеку

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 1:55 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11304
Благодарил (а): 4 раз.
Поблагодарили: 438 раз.
Чем не устроил имеющийся линкер?
Как писал выше, можно получить EXE размером 1.5 КБ, а если пошаманить, то возможно и меньше.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 2:35 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Чем не устроил имеющийся линкер?

я писал выше - хочется скомпоновать 4к

Пётр писал(а):
Как писал выше, можно получить EXE размером 1.5 КБ, а если пошаманить, то возможно и меньше.

а ссылку можно? мне сегодня с поиском не везет :cry:

тут исходники и нужные объектники с пакером, но не получается опять же(
http://glair.narod.ru/temp/4klang.rar


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 2:38 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
ChoosePixelFormat заменил на wglChoosePixelFormat_
странно....

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 4:24 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11304
Благодарил (а): 4 раз.
Поблагодарили: 438 раз.
egons писал(а):
я писал выше - хочется скомпоновать 4к
Держи, даже меньше - 2.5 КБ, но без звука. Собирал стандартным линкером PB.
За звук отвечает tr4.obj, который добавляет аж 14 КБ в исполяемый файл!


Вложения:
4K_PureBasic.zip [1.14 KiB]
Скачиваний: 261

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 4:46 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр,
спасибо, был б отличным рецепт "минисборка для чайников".
для меня загадка, как сжать 4k.obj до такого размера?

это был созданный 4klang трэк, взял для примера, чтобы разобраться, звука почему-то не слышу :cry:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 5:43 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11304
Благодарил (а): 4 раз.
Поблагодарили: 438 раз.
egons писал(а):
для меня загадка, как сжать 4k.obj до такого размера?
Я его не сжимал, а исключил из кода. Поэтому музыки нет.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 6:30 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
контрольный в голову:
Код:
1
 : error: LNK   0: import HeapAlloc from kernel32 uses forwarded RVA. This feature is not supported by crinkler (yet)


что же касается музыки, то вот образчик, на том же синтезаторе 4klang.

не дано, видимо, добиться музыки(


Вложения:
Комментарий к файлу: примерчик
4kLangTest.rar [22.2 KiB]
Скачиваний: 209
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 7:24 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 224
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
уф, получилось!
взял образец из релиза 3.0, потом исходник допиливал ручками.
2086 байта, однако.

нет в округе музыканта? 8)


Вложения:
4klang.rar [26 KiB]
Скачиваний: 229
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт май 04, 2012 7:36 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11304
Благодарил (а): 4 раз.
Поблагодарили: 438 раз.
egons писал(а):
что же касается музыки, то вот образчик, на том же синтезаторе 4klang.
Можно минифмод использовать.
Код:
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
29
30
31
Procedure _fileopen(name.s)
  ProcedureReturn CreateFile_(name, #GENERIC_READ, #FILE_SHARE_READ, #Null, #OPEN_ALWAYS, #FILE_ATTRIBUTE_NORMAL, #Null)
EndProcedure
 
Procedure _fileclose(handle.l)
  CloseHandle_(handle)
EndProcedure
 
Procedure _fileread(*buffer.l, size.l, handle.l)
  ReadFile_(handle, *buffer, size, @Length, #Null)
  ProcedureReturn Length
EndProcedure
 
Procedure _fileseek(handle.l, pos.l, mode.l)
  Select mode
    Case #SEEK_SET
      SetFilePointer_(handle, pos, 0, #FILE_BEGIN)
    Case #SEEK_CUR
      SetFilePointer_(handle, pos, 0, #FILE_CURRENT)
  EndSelect
EndProcedure
 
Procedure _filetell(handle.l)
  ProcedureReturn SetFilePointer_(handle, 0, 0, #FILE_CURRENT)
EndProcedure
 
FSOUND_File_SetCallbacks(@_fileopen(), @_fileclose(), @_fileread(), @_fileseek(), @_filetell())
 
mod= FMUSIC_LoadSong("BRD - Teleport Prokg.xm", #Null)
FMUSIC_PlaySong(mod)
MessageBox_(0,"","",0)



Вложения:
fmod.rar [28.59 KiB]
Скачиваний: 232

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB