forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Компилятор blitzcc.exe (http://forum.boolean.name/showthread.php?t=6268)

Spiderman 21.08.2008 12:42

Компилятор blitzcc.exe
 
Воопщем, начну по порядку :''((
Решил разобраться в работе компилятора blitz (все бы только поломать!). Этот файл как я понял зовется blitzcc.exe и находится в папке bin. Еще важный файл ide.exe - без него blitz не ту-ту!
ТЗ! Что нужно! Откомпилировать исходный файл минуя запуск самой программы т.е. запустить компилятор с нужным параметром и откомпилировав исходник запустить exe'шник.
Кто может объяснить работу процесса компиляции и какими параметрами его можно заставить работать на себя? Короче говоря, как можно создать свой IDE, использующий компилятор blitzcc? :dontknow:

Жду расширенных ответов знающих людей и зараннее всем говорю спасибо!

HolyDel 21.08.2008 14:40

Ответ: Компилятор blitzcc.exe
 
Spiderman, что бы компилить в ексешник нужно писать blitzcc -o myexefile.exe mybbfile.bb.

подробнее тут:
http://www.forum.likosoft.ru/showthread.php?p=830

Spiderman 21.08.2008 15:38

Ответ: Компилятор blitzcc.exe
 
Огромное спасибо,HolyDel!
Я уже думал делать себе харакири, но благодаря тебе съэкономил целую кучу драгоценного времени!

Тему можно закрывать!

HolyDel 21.08.2008 16:20

Ответ: Компилятор blitzcc.exe
 
Цитата:

Я уже думал делать себе харакири
Как у вас все быстро. Я вот с одной ошибкой уже окола двух месяцев имею очень близкие отношения. И ничо.

Кстати, я там еще прогармку выложил, для автосоздания переменной окружения.

Spiderman 21.08.2008 17:35

Ответ: Компилятор blitzcc.exe
 
Рано еще закрывать тему!

Еще вопрос в студию:
Компилятор-то запускается и работает. А как из него выудить информацию об ошибке, что мол в такой-то строке возникла такая-то ошибка? Чтобы потом этой информацией можно было пользоваться в своей программе, например выводить сообщение об ошибке с подчеркиванием той строки кодв в которой она возникла.

HolyDel 21.08.2008 17:46

Ответ: Компилятор blitzcc.exe
 
Spiderman, а чо ты одни и те же вопросы создаеш в разных темах?
я уже писал - вся информация выводится в stdout, как ее оттуда перехватить - я не в курсе.
http://forum.likosoft.ru/attachment....0&d=1219310603

Spiderman 21.08.2008 17:50

Ответ: Компилятор blitzcc.exe
 
но программы вроде Протеина и IDE как-то этой информацией пользуются

HolyDel 21.08.2008 17:52

Ответ: Компилятор blitzcc.exe
 
и? я же говорю вся информация выводится в stdout.
у меня например так:
"test.bb":2:1:2:1:Function "bugaga" not found
2:1 - это очевидно строка:столбец.

HolyDel 21.08.2008 19:51

Ответ: Компилятор blitzcc.exe
 
мухаха. что то собрал:
http://www.forum.likosoft.ru/showthr...?p=858#post858

Spiderman 22.08.2008 11:26

Ответ: Компилятор blitzcc.exe
 
Интересно бы увидеть исходник как ты считываешь ошибку ибо я смог считать информацию об ошибке из компилятора "жопным" методом, переводя активность на stdout (запускаю из VB bat-файл с прописанными коммандами и небольшой задержкой) и программно копируя все, что там выводится в буфер, а потом, считывая информацию из буфера.
Но такой метод меня не устраивает. Это как минимум тупо да и запускаемый bat-файл не должен отображаться на экране.

А по какому принципу работает AIDE? Кстати я тоже пытаюсь сделать замену IDE, но я с уклоном под редактор 2D делаю

jimon 22.08.2008 13:32

Ответ: Компилятор blitzcc.exe
 
Spiderman
IDE запускает компилятор и получает его поток ввода\вывода
компилятор пишет в этот поток, ide просто его читает

Spiderman 22.08.2008 15:30

Ответ: Компилятор blitzcc.exe
 
Я уже во всем разобрался! Всем огромное спасибки!
Буду юзать bat-пакет, который сохраняет stdout в текстовый файл. Таким образом компилятор не будет зависать черным экраном, а тихонько отрабатывать в трее и сохранять нужную информацию, которую в последствии легко будет считать посредством любого языка программирования.

Теперь можно писать свой IDE :-D

xsnakes 05.04.2010 22:49

Ответ: Компилятор blitzcc.exe
 
Ёлки-Палки :) А что все ссылки не работают?
Можете подсказать как bb скомпилировать без запуска среды через blitzcc.exe ? :)

ffinder 06.04.2010 01:19

Ответ: Компилятор blitzcc.exe
 
Цитата:

Сообщение от HolyDel (Сообщение 84845)
что бы компилить в ексешник нужно писать blitzcc -o myexefile.exe mybbfile.bb.

ну вот жеж

xsnakes 06.04.2010 02:08

Ответ: Компилятор blitzcc.exe
 
И куда жеж это писать? :)

SBJoker 06.04.2010 02:21

Ответ: Компилятор blitzcc.exe
 
Конешно в блокнот! А потом сохранить, вложить в письмо и отправить тому кто знает что такое коммандная строка.

xsnakes 06.04.2010 15:52

Ответ: Компилятор blitzcc.exe
 
Android, Arton, Hurrit я вижу вам полезное сообщение было! :)
Расскажите как через любой язык послать что-то командной строке, чтобы файл C:\mybbfile.bb скомпилировался C:\myexefile.exe!
Или что всё время вручную писать эти строчки в командной строке?

Arles 06.04.2010 16:53

Ответ: Компилятор blitzcc.exe
 
Код:

ExecFile ("blitzcc -o myfile.exe myfile.bb")

xsnakes 06.04.2010 17:32

Ответ: Компилятор blitzcc.exe
 
Это и я в инете находил, но куда писать блин :)
Чтож некто нормально ответеть не может?
Код HTML :/ Мне что HTML писать?
По пунктно действия описать кто-то может? Или только скопировать что где-то написано можете? :( Ну очень надо...

ZanoZa 06.04.2010 18:18

Ответ: Компилятор blitzcc.exe
 
Командную строку запусти, перейди в каталог с исполняемым файлом компилятора и пиши.

jimon 06.04.2010 18:40

Ответ: Компилятор blitzcc.exe
 
xsnakes
http://ru.wikipedia.org/wiki/Пакетный_файл

xsnakes 10.04.2010 16:06

А у кого-нибудь получалось так скомпилировать файл? :)
У меня что-то ни как не получается...

Хотел сделать программу для визуального создания игр на языке Blitz, но ни как не могу скомпилировать проект не запуская Блитза :(

Arles 10.04.2010 17:09

Ответ: Компилятор blitzcc.exe
 
xsnakes, может начнешь с того, что полегче?!;)

xsnakes 10.04.2010 17:48

Чё полегче то :) Всё нормально сделал, всё работает, легче некуда, игры создаются не в 3D мире, а как в VB кидаешь объекты, задаёшь события...
Вот компиляцию ни как не сделаю! :(

А делал я свою программу на PHP :) Прикиньте!
Вон внизу моя подпись, на той студии я и делал прогу...

ABTOMAT 10.04.2010 19:55

Ответ: Компилятор blitzcc.exe
 
Цитата:

Вон внизу моя подпись, на той студии я и делал прогу...
Постыдился бы

xsnakes 10.04.2010 21:39

Ответ: Компилятор blitzcc.exe
 
Что стыдиться? Крутая прога! И полегче, как сказал Arles :)

Не о том говорим!
Кто-нибудь может дать пример bat, cmd файла который компилирует bb2exe?

Android 10.04.2010 22:15

Ответ: Компилятор blitzcc.exe
 
blitzcc.exe -o myexefile.exe mybbfile.bb

Вот и весь бат файл

Arles 10.04.2010 22:26

Ответ: Компилятор blitzcc.exe
 
а что? из этого недобейсика и перепхп, есть разница что запускать, bat или exe с параметром?

xsnakes 11.04.2010 19:52

Ответ: Компилятор blitzcc.exe
 
Нету :) В смысле я писал всю фигню что выше в бат и в кмд файлах, но нечего не скомпилировалось что-то...

Reks888 11.04.2010 21:10

Ответ: Компилятор blitzcc.exe
 
Вложений: 1
Сначала не поверил товарищу xsnakes'y, но сейчас проверил и истинно так - не компилируется ничего

SBJoker 11.04.2010 21:44

Ответ: Компилятор blitzcc.exe
 
Потому что нужно выставить две переменных среды.

BlackOut 12.04.2010 16:39

Ответ: Компилятор blitzcc.exe
 
Цитата:

Потому что нужно выставить две переменных среды.
ну так не утаивай...какие?

SBJoker 12.04.2010 21:44

Ответ: Компилятор blitzcc.exe
 
Я непомню, в далеком 2003ем писал своё ИДЕ для блитца когда, тогда и узнал все тонкости. Но могу поднять исходники старые если действительно нужно кому.

xsnakes 12.04.2010 21:48

Ответ: Компилятор blitzcc.exe
 
Поднимай :) Я затем и спросил, потому-что мне нужно...

SBJoker 12.04.2010 23:33

Ответ: Компилятор blitzcc.exe
 
Вот держи, учти это должна делать твоя программа во время запуска, устанавливать эти временные переменные среды для текущего юзера
Цитата:

blitzpath=[путь до папки блитца c концевым слешем]
path=[то что было в переменной ранее]+";"+[путь до папки с компилятором bcc.exe без концевого слеша]


BlackOut 13.04.2010 01:43

Ответ: Компилятор blitzcc.exe
 
спасибо SBJoker

Цитата:

учти это должна делать твоя программа во время запуска
не в тему конечно но раз походу, то на каком языке программно можно установить переменные среды? .vbs неэ?

SBJoker 13.04.2010 01:46

Ответ: Компилятор blitzcc.exe
 
На любом, в WinApi есть такие функции, а значит они доступны всем.

xsnakes 13.04.2010 18:30

Ответ: Компилятор blitzcc.exe
 
Я в интернете нашёл статью, там всё описывается... Чёто мне прогу делать перехотелось :)

SBJoker 13.04.2010 20:11

Ответ: Компилятор blitzcc.exe
 
тебе об этом и твердили с самого начала.

Alex_Noc 23.04.2010 03:03

Ответ: Компилятор blitzcc.exe
 
А эксешка весит также как если бы компилировали обычным путем? Или же есть какая то выгода от этих танцев с бубном?

Arles 23.04.2010 06:12

Ответ: Компилятор blitzcc.exe
 
Выгода только в том, что ты можешь работать на своем собственном ide, не только, настроенным, но и написанным "под себя" :)

Alex_Noc 23.04.2010 12:18

Ответ: Компилятор blitzcc.exe
 
Ну меня и обычный иде устаривает)), но вот если бы кто подсказал как уменьшить вес самой ексешки - было бы очень ценно !!!
Минимальный вес сейчас с использованием UPX - 465 кб
Кто нибудь знает - можно ли его еще уменьшить как то ?

.Squid 23.04.2010 12:44

Ответ: Компилятор blitzcc.exe
 
Открыть в любом текстовом файле, выделить непонравившийся блок и нажать Delete. Сохранить.
Плюсы: в результате можно получить очень маленький файл.
Минусы: работоспособность приложения не гарантируется.

xsnakes 27.04.2010 18:07

Ответ: Компилятор blitzcc.exe
 
Я понял, как обращаться к компилятору :) И продолжу разработку что-то типо IDE

На официальном сайте блитца я нащёл вот такой маленький пример, его нужно писать в самом Blitz3D
Код:

ff = WriteFile("test.bb")
WriteLine ff, "cls"
WriteLine ff, "print " + Chr$(34) + "hello world" + Chr$(34)
WriteLine ff, "waitkey"
WriteLine ff, "end"
CloseFile ff
ExecFile Chr$(34) + "c:\program files\blitz3d\bin\blitzcc" + Chr$(34) + " " + Chr$(34) + CurrentDir$() + "test.bb" + Chr$(34)

После его запуска появляется компилированный проект, с сообщением Hello world :)

xsnakes 27.04.2010 18:23

Ответ: Компилятор blitzcc.exe
 
А всё же через cmd тоже как-то можно компилировать :) Вот ищу как компилировать и уже много нашёл недоответов как через cmd компилировать...

Ещё нашёл, что не обязательно execFile писать, на других языках можно и другие команды запуска файла использовать оО

SBJoker 27.04.2010 22:43

Ответ: Компилятор blitzcc.exe
 
*facepalm*

xsnakes 30.04.2010 17:33

Ответ: Компилятор blitzcc.exe
 
Флудёр :)
Лучше б исходник дал, про который ты говорил...

Reizel 30.04.2010 18:35

Ответ: Компилятор blitzcc.exe
 
Кстати, хорошая вещь blitzcc!!! Ща за пару минут сварганил всою IDE, запустил...Работает!!!! Осталось интерфейс и прочие хрени!! В общем ждите!!!

Android 30.04.2010 21:57

Ответ: Компилятор blitzcc.exe
 
Цитата:

Сообщение от Павел (Сообщение 145867)
Кстати, хорошая вещь blitzcc!!! Ща за пару минут сварганил всою IDE, запустил...Работает!!!! Осталось интерфейс и прочие хрени!! В общем ждите!!!

Охлол..
Написал ИДЕ, осталось написать только сам ИДЕ :crazy:

SBJoker 30.04.2010 22:00

Ответ: Компилятор blitzcc.exe
 
Что то мне подсказывает что всяик есвистелки-перделки как раз и станут проблемой

Reizel 02.05.2010 00:16

Ответ: Компилятор blitzcc.exe
 
О Боже!!! Как ты прав!!! Про***лся полчаса и придумал как сделать систему контроля над клавой - шоб нажимаешь буковку, она сначала одна появица, а потом уу-у-у-у-х понеслась :-D В общем реализовал все возможные клавиши которые сам юзаю, НО!! Обнаружил весьма забавный цуко факт: когда пишеш первую букву с Shift - то получается каша: SsetBbuffer BbackBbuffer()0 - просто надо бы, по-идее, нажать сначала шифт, потом клавишу, потом отпустить клавишу, а за ней и шифт!! А мы делаем наоборот!!! Поэтому такая хрень!!!

tormoz 02.05.2010 02:33

Ответ: Компилятор blitzcc.exe
 
это не факт, а кривые руки

Цитата:

В общем реализовал все возможные клавиши которые сам юзаю
мега перл
ты небось каждый введеный знак сравнивал по очереди с каждым возможным символом ? :-D

IGR 02.05.2010 12:27

Ответ: Компилятор blitzcc.exe
 
а на чем ИДЕ пишеш то ??

Кстати, протеанИДЕ (ИДЕ для блица и не только), если я не ошибаюсь, кажется в исходниках !!

Reizel 02.05.2010 15:05

Ответ: Компилятор blitzcc.exe
 
Tormoz, так печатают все, только в винде это как то обошли.
а про символы вообще отдельная история))) просто GetKey не видит длительного нажатия клавиши, а keyDown юзает сканкоды из за чего Chr не работает вместе с ней) в общем тут нужно самому пробовать)

Hurrit 02.05.2010 18:32

Ответ: Компилятор blitzcc.exe
 
ОМГ, ты пишешь IDE для Blitz3d в самом Blitz3d? Да ты упорот

Reizel 02.05.2010 18:37

Ответ: Компилятор blitzcc.exe
 
хех полезно знать как это работает :)

xsnakes 04.05.2010 00:54

Цитата:

Сообщение от Hurrit (Сообщение 146048)
ОМГ, ты пишешь IDE для Blitz3d в самом Blitz3d? Да ты упорот

Ты программу Modex видел? Не совсем IDE, но на Blitz3D :) Редактор миров.

Исходник портеан попробуй разбери оО

Reizel 04.05.2010 08:31

Ответ: Компилятор blitzcc.exe
 
Так зачем мне в чужих кодах копаться. Сам наваляю :)
ЗЫЖ а ModeX видал, мощно :)

tormoz 04.05.2010 16:36

Ответ: Компилятор blitzcc.exe
 
Цитата:

Сообщение от Павел (Сообщение 146029)
Tormoz, так печатают все, только в винде это как то обошли.
а про символы вообще отдельная история))) просто GetKey не видит длительного нажатия клавиши, а keyDown юзает сканкоды из за чего Chr не работает вместе с ней) в общем тут нужно самому пробовать)


ОМГ
через кейдовн отслеживаешь нажатие, и если оно переходит временные рамки - начинаешь печатать.

xsnakes 04.05.2010 20:18

Ответ: Компилятор blitzcc.exe
 
Цитата:

Сообщение от Павел (Сообщение 146155)
Так зачем мне в чужих кодах копаться. Сам наваляю :)

я говорю его фиг разберёшь :)

Reizel 04.05.2010 20:37

Ответ: Компилятор blitzcc.exe
 
Цитата:

Сообщение от tormoz (Сообщение 146177)
ОМГ
через кейдовн отслеживаешь нажатие, и если оно переходит временные рамки - начинаешь печатать.


А ты попробуй!!! Че кучу select'oв ставить на каждую клаву??? Ибо кейдаун не юзаем ASCII а юзает сканкоды, а их в буковку не перевести :-D

ЗЫЖ кто со мной не согласен попробуйте сами сделать!!!

tormoz 04.05.2010 21:12

Ответ: Компилятор blitzcc.exe
 
я это делал еще года 4 назад
кто тебе мешает записать ASCII из GetKey() при первом нажатии в переменную ?

jimon 04.05.2010 21:41

Ответ: Компилятор blitzcc.exe
 
Цитата:

Ибо кейдаун не юзаем ASCII а юзает сканкоды, а их в буковку не перевести
это настолько глупо что расширяет мои познания в глупости

SBJoker 05.05.2010 00:38

Ответ: Компилятор blitzcc.exe
 
Павел
Цитата:

ЗЫЖ кто со мной не согласен попробуйте сами сделать!!!
Так это я свой иде сделал исчо в далеком 2005м


Часовой пояс GMT +4, время: 23:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot