Даже минимально упрощёный вариант будет создать не так просто.
На это уйдёт не мало времени и сил. А есть ли смысл?
Создатель программ
Сообщений 31 страница 60 из 103
Поделиться3105.02.2010 16:11:01
Поделиться3205.02.2010 16:23:21
интересовался из чистого интереса. Просто работая с "мощным" конструктором Алгоритм, хотелось бы создать что то типа того, только начать с простого. Вот и спросил сложно или нет и как вообще делать. Но из твоего ответа понял что не так все просто.
Поделиться3305.02.2010 16:40:59
Даже минимально упрощёный вариант будет создать не так просто.На это уйдёт не мало времени и сил. А есть ли смысл?
По сути смысла создавать хоть какой нибудь софт, вообще нет. Все что нужно пользователю, уже создано до нас. Но создавая мы учимся, ищем новое для себя и не даем киснуть своим мозгам.
Поделиться3405.02.2010 16:58:09
Это я к тому, что для создания прог, такого класса, нужен опыт.
Поделиться3505.02.2010 17:25:23
Это я к тому, что для создания прог, такого класса, нужен опыт.
Это точно.
Поделиться3629.06.2010 19:52:49
а вообще сложно прикрутить к созданной программе компилятор Пурика? Например в EditorGadget стоит следующий текст:
MessageRequester("","")
Я нажимаю Файл_Создать программу и через пуриковский прикрепленный компилятор программа создает exe используя синтаксис и код, написанный в EditorGadget
Поделиться3729.06.2010 20:11:28
Прикрутить можно (но компилятор весит примерно 10 МБ).
Главное, знать команды, которые нужно передать компилятору.
Поделиться3829.06.2010 20:27:47
но компилятор весит примерно 10 МБ
Ого себе. Я думал можно обойтись одной dll
Главное, знать команды, которые нужно передать компилятору.
Я специально написал в этой теме, ибо мыли создать примитивный Алгоритм меня не покидают... Как я себе это все представляю:
Нужен шаблон, а именно:Например в созданной проге юзер создает кнопку и в фоновом режиме, в связанном списке(например) добавляется ButtonGadget(#Button_0, 70, 60, 45, 20, "пример"), при этом отображаются свойства созданной кнопки: текст, выравнивание и тп. Естественно изменение 'n[ свойств приводит к изменению в записи связанного списка. И так с другими же гаджетами. В итоге получаем готовый код программы, который мы и передаем компилятору, а он нам компилирует уже все...Блин, размеры поражают.Есть ли какие нибудь альтернативы? Как тебе данная задумка? Я конечно понимаю, что это неимоверный труд, но с чего то всегда начинают...
Поделиться3929.06.2010 20:41:39
Ого себе. Я думал можно обойтись одной dll
Для нормальной работы компилятора, как минум нужны папки Compilers (собственно компилятор), PureLibraries (библиотеки с функциями) и Residents (зарание объявленые структуры, константы, интерфейсы и т. д.).
Общий размер - 18 МБ.
мысли создать примитивный Алгоритм меня не покидают
Мысли хорошие, но реализовать будет довольно сложно, точнее, нужны большие трудозатраты.
Поделиться4029.06.2010 20:43:46
Мысли хорошие, но реализовать будет довольно сложно, точнее, нужны большие трудозатраты.
но что бы не останавливаться, скажи хотябы как передать имеющийся код в папку с компилятором пурика и создать exe. Это вообще реально? Буду тренероваться пока на имеющимся компиляторе, если пример покажешь
Поделиться4129.06.2010 21:26:17
Вот пример.
Не забудь указать правильные пути к компилятору и исходнику
PathCompiler.s="C:\Program Files\PureBasic 4.31\Compilers\pbcompiler.exe" ; Путь к компилятору SourceFile.s="C:\Proga.pb" ; Исходник OutEXE.s="C:\Proga.exe" ; Где создать исполняемый файл If FileSize(GetPathPart(PathCompiler)+"PureBasic.exe")>0 DeleteFile(GetPathPart(PathCompiler)+"PureBasic.exe") EndIf SourceFile=Chr(34) + SourceFile + Chr(34) + " /EXE" RunProgram(PathCompiler, SourceFile, GetPathPart(PathCompiler), #PB_Program_Wait) Delay(1000) If FileSize(GetPathPart(PathCompiler)+"PureBasic.exe")>0 If CopyFile(GetPathPart(PathCompiler)+"PureBasic.exe", OutEXE) MessageRequester("", "Программа успешно скомпилирована", #MB_OK|#MB_ICONINFORMATION) EndIf EndIf
Поделиться4229.06.2010 21:52:19
Вот пример.
Очень хорошо...
Но вот предыдущий вопрос нужно решить..Значит со структурой примерно я разобрался и уже начал работать..но вот все равно в итоге нужен будет компилятор..Если не удастся взять пуриковский из-за громадного размера, значит либо нужно сделать свой, либо что то еще. Раз уж разговор зашел, то реально сделать свой компилятор допустим с синтаксисом пурика, ну или со своим собственным? Что же в такой ситуации предпринять? Опять же, если посмотреть в сторону Алгоритма, то там тоже есть папка компилятор и располагаются файлы от VB, но с размерам там все нормуль..Нужно что то думать
Отредактировано daiomik (29.06.2010 21:58:33)
Поделиться4329.06.2010 22:04:54
то реально сделать свой компилятор
Можно, но задача очень сложная.
Опять же, если посмотреть в сторону Алгоритма
Алгоритм использует компилятор и библиотеки функций, входящие в .NET Framework. Прочитай первый пост этой темы.
Так что фактически они не разрабатывани ни компилятор, ни библиотеки функций для Алгоритма.
Поделиться4429.06.2010 22:11:05
Мдя..то есть идея снова провальная..
Поделиться4529.06.2010 22:13:55
Идея хорошая, просто её тяжело реализовать.
Нужно как минимуи год напряжённой работы, если собрался писать компилятор с нуля.
Поделиться4629.06.2010 22:35:45
Идея интересная использовать - компилятор пурика, не смотря на вес 18 Мб, хотя в этом проблемы не вижу...
А как на это смотрят разработчики пурика, или с демо можно делать что угодно....
Нарушение лицензии - нас никогда не останавливало...
Мы в правильной стране живём...
Поделиться4729.06.2010 22:57:21
А как на это смотрят разработчики пурика
Уж точно что не обрадуются!
Поделиться4830.06.2010 21:49:15
Идея хорошая, просто её тяжело реализовать.
Вообще с чего можно примерно начать, что бы написать свой ОЧЕНЬ простой компилятор, который хотя бы пустую форму создает. Я этот процесс вообще не представляю, поэтому не пинайте ногами Так как пурик мне ближе всего, то может быть возможно использовать его Алгоритмы и синтаксис..
Поделиться4930.06.2010 21:56:49
Вообще с чего можно примерно начать, что бы написать свой ОЧЕНЬ простой компилятор
С изучения ассемблера, машинного кода, PE формата исполняемых файлов.
Если с этим справишся, то дальше нужно прочитать теорию про создание компиляторов.
После этого, нужно изучить WinAPI.
PS.
Если использовать бесплатный компилятор ассемблера FASM (как сделано в PB), то можно не вникать в машинный код и PE формат исполняемых файлов.
Поделиться5030.06.2010 22:03:38
Я так и думал, что в первых рядах стоит ассемблер..Хакерские форумы читал, там везде ассемблер упоминается. Наверно тему загрязнять не буду. Ты или в новой теме или тут можешь ссылки кинуть на хорошие сайты, форумы, книги по этому делу.
Поделиться5130.06.2010 22:20:10
Посмотри на http://wasm.ru/
Там много чего интересного есть.
Вот предлагали создать альтернативный компилятор для PureBasic http://purebasic.info/phpBB2/viewtopic.php?t=222
Тут есть кое-что про компиляторы/интерпретаторы http://purebasic.info/phpBB2/viewtopic.php?t=411
Поделиться5230.06.2010 22:21:20
Спасибо!
Поделиться5305.08.2010 17:57:07
На какой языке написан PB? Не на FASM же?
Поделиться5405.08.2010 18:27:43
Компилятор на Сях, редакторы кода и форм на PB.
Впринципе, компилятор вполне возможно написать на PB, но разработчикам видно влом переписывать, а редактор они переписали при переходе с версии 3.96 на 4.00.
Поделиться5505.08.2010 18:44:32
Впринципе, компилятор вполне возможно написать на PB
Получается это противоречит тому о чем мы говорили. Я начал копаться с FASM (сложно, но я не опускаю руки)...не напишешь же полностью компилятор прямо в PB??
Поделиться5605.08.2010 19:29:17
Я начал копаться с FASM
Компилятор пурика (правильнее его называть транслятор), переводит код с PB в ASM и отдаёт его FASM'у, который создаёт из ассемблерного листинга, исполняемый файл.
Похоже что Фреду (главный разработчик пурика), не хотелось разбиратся со структурой исполняемых файлов, тем более что у платформ Windows, Linux, MacOS X и Amiga OS она разная и он схитрил, использовав FASM.
Но создать полноценный исполняемый файл, можно средствами пурика, но для этого нужно хорошо знать структуру исполняемого файла и машинный код процессора.
Поделиться5705.08.2010 19:34:30
То есть получается зная FASM можно свой компилятор создать? (как в случае PB). Тогда не зря я его (FASM) учу..
Поделиться5805.08.2010 19:54:48
То есть получается зная FASM можно свой компилятор создать? (как в случае PB). Тогда не зря я его (FASM) учу
Я бы сказал, не то чтобы можно, а проще будет сделать, т. к. не придётся разбиратся со структурой исполняемых файлов и машинным кодом.
Поделиться5911.08.2010 17:48:28
По поводу создания компилятора, можно прочитать здесь http://purebasic.info/phpBB2/viewtopic.php?t=1256
Поделиться6011.08.2010 22:16:22
По поводу создания компилятора, можно прочитать здесь http://purebasic.info/phpBB2/viewtopic.php?t=1256
Мдя, интересно, читал и книжку про компиляторы и Fasm смотрел..Но так и не понял/определился. Если я хочу сделать тупо компилятор который бы мне тупа создавал exe, даже пусть с синтаксисом PB и имел минимальный размер, то на чем его писать? На Fasm или PB?..Размер хотелось бы чтобы был очень маленький. Желательно не больше 500 кб (или метра)
Похожие темы
Вопросы новичка | Вопросы по PureBasic | 23.12.2010 |
Текстовый редактор | Вопросы по PureBasic | 09.07.2010 |
MeshVertex ? | PureBasic для Windows | 13.05.2024 |
Среда программирования для создания драйверов (x86 и x64). | Kernel Driver | 12.01.2019 |