Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.07.2010, 19:22
Andrew101095 Andrew101095 вне форума
Прохожий
 
Регистрация: 16.07.2010
Сообщения: 11
Репутация: 10
Восклицание Создание .ехе

Народ плиззз помоите...хочу сделать прогу которая компилирует проект как Delphi в .ехе пожалуйста подскажите как это сделать
Заранее спасибо
Ответить с цитированием
  #2  
Старый 16.07.2010, 20:23
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Первое что приходит в годлову - основать свою компанию, развить ее, набрать штат программистов и разработать собственный компилятор
Ответить с цитированием
  #3  
Старый 16.07.2010, 20:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Зачем???
Можно все попробще сделать. Но все зависит от задачи.
Если надо выполнять любой код, то, видимо, действительно нужно делать свой компилятор. Ну или взять dcc32 и его таскать за собой с нужными библиотеками.
Второй вариант - это когда у тебя задачу можно описать некоторой "скриптовой" командой (т.е. набор команд достаточно небольшой) или просто некоторой структурой данных (фактически, когда алготритм не меняется, но данные надо подсовывать извне). тогда просто делаешь шаблон .exe и в его ресурсы в момент "компиляции" вставляешь свой скрипт/данные. Или даже просто рядом кладешь файлик со скриптом/данными. Простейший пример - слайд шоу на CD. Есть смотрелка в виде .exe, при формировании образа параметры слайд-шоу и список картинок пишутся в специальный файл, который кладется рядом с исполняемым модулем, потом дописываются картинки и образ прожигается в таком виде.
Третий вариант - развитие второго, когда тебе все-таки нужно уметь писать достаточно сложные программы. Делается по принципу интерпритатора. Берешь любой интерпретатор языка (любого, но на Дельфи обычно принято брать паскаль), например FastScript. Программа в виде ресурса вставляется в заранее скопиленный .exe. Все.
Ответить с цитированием
  #4  
Старый 17.07.2010, 07:23
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от Andrew101095
Народ плиззз помоите...хочу сделать прогу которая компилирует проект как Delphi в .ехе пожалуйста подскажите как это сделать
Заранее спасибо
почитай про PE формат, все описания структур есть в windows.pas просто их заполняешь, пишешь ASM код (скорее машинный код) и собираешь всё в файл.
собрался писать свой компилятор?- набирайся опыта+терпения, я как раз чем то подобным занимаюсь уже с неделю, но как мне кажется ты это завтра же бросишь
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #5  
Старый 18.07.2010, 17:55
Andrew101095 Andrew101095 вне форума
Прохожий
 
Регистрация: 16.07.2010
Сообщения: 11
Репутация: 10
Подмигивание

Делаю игровой движок вот для этого мне и нужен собственный компилятор
Ответить с цитированием
  #6  
Старый 18.07.2010, 18:02
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от Andrew101095
Делаю игровой движок вот для этого мне и нужен собственный компилятор
и какую выгоду ты хочешь получить от этого? хочешь уйти от лицензии delphi? оно тебе нужно? если проект коммерческий (у меня сомнения здесь) то тем более с этим лучше не шутить. если обычный freeware то вообще зачем тебе это?

я тебе скажу то что ты услышишь не раз: подумай нужно ли оно тебе
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter