Page 5 of 15
Re: C--
Posted: Fri Jun 05, 2009 9:45 am
by AndreyCh
>Вот у меня вопрос. Можно ли через это программировать?
http://c--sphinx.narod.ru/FILES/wxcmm.zip
можешь попробовать портировать. Сама же идея китайца заложенная в wx супер.
Re: C--
Posted: Fri Jun 05, 2009 1:40 pm
by Yaskhan
Паскаль нормальный, просто качать 50мб нехочется.
Попробую портировать либы для смм. Каторые для Вин и Дос. НАпример для работы с графикой. Кучу алгоритмов скачал по графике.
Потом портирую 2д физику и 2д движок. Он написан на паскале. Можно даже на асме портануть.
Как вам дока?
Re: C--
Posted: Fri Jun 05, 2009 1:55 pm
by Leency
Либа высчитывания синусов, косинусов и т.д. где-то была. Чуть позже выложу С-- с обновлёнными примерами и либами.
Re: C--
Posted: Fri Jun 05, 2009 2:16 pm
by Yaskhan
Вот так годится?
Re: C--
Posted: Fri Jun 05, 2009 2:59 pm
by Yaskhan
Вот еще
Re: C--
Posted: Fri Jun 05, 2009 7:42 pm
by AndreyCh
Yaskhan wrote:
Дайте кто нибудь шаблон для математика.н--
с фпу, хоть с одним синусом.
Вот что есть, в основном это работа с векторами, матрицами, кватернионами,
все что касалось OpenGL, не помещал в архив. Все на асме, только адаптация под функции на C--
Надеюсь пригодиться
Re: C--
Posted: Fri Jun 05, 2009 7:55 pm
by Yaskhan
Ух тыыыы........
У тебя лежала такая вещь и ты никому не давал?!
Re: C--
Posted: Fri Jun 05, 2009 8:43 pm
by AndreyCh
Yaskhan wrote:Ух тыыыы........
У тебя лежала такая вещь и ты никому не давал?!
а не кому и не надо было.
Да это все есть и даже больше на сайте Сфинкса,
читай доку Михаила Шекера, быстро освоишь С--.
Re: C--
Posted: Sun Jun 07, 2009 2:20 pm
by Yaskhan
ОООООООй, оказывается математика вcтроена в компилятор )
11.14 Встроенные в компилятор процедуры.
Для некоторых процедур Вы не найдете их исходные тексты в библиотеках
компилятора. Код этих процедур генерирует компилятор. Вот список этих
процедур:
ABORT_____________Прекращение выполнения программы
atan_______________Вычислить арктангенс числа
atan2______________Вычислить арктангенс числа
ATEXIT_____________Зарегистрировать функцию выполняющуюся при выходе.
cos________________Возвращает косинус угла
EXIT_______________Закончить программу с кодом ошибки
exp________________Возвращает экспоненту числа
inp/inportb__________Считать один байт из порта
inport______________Считать слово из порта
inportd_____________Считать двойное слово из порта
fabs________________Возвращает абсолютное значение числа
log_________________Вычисляет натуральный логарифм числа
log10_______________Вычисляет десятичный логарифм числа
outp/outportb________Записать один байт в порт
outport______________Записать слово в порт
outportd_____________Записать двойное слово в порт
sin__________________Возвращает синус угла
sqrt_________________Извлечь квадратный корень через FPU.
tan__________________Возвращает тангенс угла
Размещение этих процедур непосредственно в компиляторе, связано с тем,
что в настоящий момент компилятор может таким образом генерировать более
эффективный код, чем если бы эти процедуры располагались в библиотеках.
В будущем, по мере развития компилятора, эти процедуры постепенно будут
выносится из компилятора в библиотеки.
Но ничто не мешает Вам уже сейчас написать свои одноименные
библиотечные процедуры. Встретив определение такой процедуры, компилятор не
будет выдавать никаких сообщение, он просто будет применять Ваш вариант
процедуры.
Re: C--
Posted: Fri Jun 19, 2009 12:41 am
by Yaskhan
Немного украл из Дельфи. Надеюсь никто не засудит. Все на ассемблере.
Re: C--
Posted: Wed Oct 21, 2009 4:46 pm
by SoUrcerer
Ерунда какая-то творится

Пишу программу на C--, которая должна запустить другую программу.
примерно так:
Code: Select all
#include "..\lib\kolibri.h--"
#include "..\lib\file_system.h--"
#include "..\lib\memory.h--"
void main()
{
dword id;
loop()
{
switch(WaitEvent())
{
case evButton:
id=GetButtonID();
if (id==1) ExitProcess();
break;
case evKey:
RunProgram ("/sys/@menu","");
break;
case evReDraw:
draw_window();
break;
}
}
ExitProcess();
}
void draw_window()
{
WindowRedrawStatus(1);
DefineAndDrawWindow(300,176,300,223,0x34,0x10B2B4BF,0,0,"Start");
WriteText(120,150,0x80,0,"Press any key",0);
WindowRedrawStatus(2);
}
stop:
Компилируется.
В Колибри работает замечательно. А в эмуляторе - нет. Запускается второй процесс KlbrInWin, и всё. Намертво зависают вдвоем.
При том, что @panel и @menu работают превосходно в эмуляторе.
Вопрос к тем, кто использовал RunProgram в С-- : а у вас в эмуляторе работало? или это у меня руки кривые?
Re: C--
Posted: Wed Oct 21, 2009 5:05 pm
by Leency
У мя компилирует, запускается в эмуле. После нажатия запускается прога @menu, окно которой постоянно перерисовывается. Не знаю почему, пусть кто-то поумней расскажет. А вот следующий код работает отлично:
Code: Select all
#include "..\lib\kolibri.h--"
#include "..\lib\file_system.h--"
#include "..\lib\memory.h--"
void main()
{
dword id;
word key;
loop()
{
switch(WaitEvent())
{
case evButton:
id=GetButtonID();
if (id==1) ExitProcess();
break;
case evKey:
key = GetKey();
IF (key==013){ //Enter
RunProgram ("/sys/@menu","");
}
break;
case evReDraw:
draw_window();
break;
}
}
}
void draw_window()
{
WindowRedrawStatus(1);
DefineAndDrawWindow(300,176,300,223,0x34,0x10B2B4BF,0,0,"Start");
WriteText(120,150,0x80,0,"Press any key",0);
WindowRedrawStatus(2);
}
stop:
Re: C--
Posted: Wed Oct 21, 2009 5:13 pm
by SoUrcerer
Leency, а можно твой эмулятор?
твой вариант компилится, прога не вылетает, но всё равно не работает как надо

вот такое чувство, что пути в конфиге прописаны у меня неправильно. но ведь panel (в котором путь так же прописан) отлично работает!
уже пробовал и пути писать по-разному, например, пробовал /rd/1/shell
не работает ни в какую

правда я совсем без понятия, какой эмулятор я использую..

запутался в датах
Re: C--
Posted: Wed Oct 21, 2009 9:54 pm
by Leency
Вот. Токо, тсссс!... Шоб diamond не спалил...
Re: C--
Posted: Thu Oct 22, 2009 8:57 am
by SoUrcerer
Спасибо

Кстати, засада была жестокой. Эта версия после указания правильных путей вообще работать отказалась.
сравнил конфиги.
в моей версии путь к рамдрайву "..\last\"
а в той, что сделал конфиг - "C:\Documents and settings\" и так далее.
перенес рамдрайв в папку без пробелов- и всё заработало.
Такие вот дела
