рисовалка графиков
-
эта версия у меня почему-то вылетает сразу при запуске - на полсекунды появляется окно, и все (svn 875, QEMU 0.9.1)
- Attachments
-
-
graph.png (3.72 KiB)Это пишет доска отладки. Viewed 10944 times
-
Это я хотел сэкономить на области для параметров, а в результате затирался код. Интересно, что под KlbrInWin такого эффекта не было.
- Attachments
-
-
graph-0.52.7z (7.89 KiB)
- исправленная версия
Downloaded 568 times
-
Вот теперь все ок. Спасибо.
Заметил глюк в программе при работе с editbox-ом. Посмотрел в исходных кодах и обнаружил несовпадение структур, в программе (файл graph\use_library.h) :
и в библиотеке box_lib :
Как видно в программе нет переменной mouse_variable
Еще в файле man.txt :
Так как я с компилятором C++ на Колибри не работал, то перекомпиллировать и проверить правильность работы не могу.
Code: Select all
struct edit_box{
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
text_color, max, text, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
};
Code: Select all
ed_struc_size=76
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
.width dd width
.left dd left
.top dd top
.color dd color
.shift_color dd shift_color
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
.shift dd 0
.shift_old dd 0
}
Еще в файле man.txt :
В программе границы области построения задаются не том порядке как указано, а вот так:а) если заданы точки и требуется провести кусочно-линейную функцию
x1 y1 x2 y2 ; границы области построения
x y
x y ; значения
...
б) если задана функция
x1 y1 x2 y2 ; границы области построения
=формула
Code: Select all
x1 x2 y1 y2
Добавил mouse_variable в структуру. Потестируйте...
- Attachments
-
-
graph.zip (6.45 KiB)Downloaded 564 times
-
Баг - мусор при схлопывании окна (rolled up).
Итак, Я создал текстовый файл с расширением *.grf. В нём писал сначала обычное число, потом что-то вроде y=3, потом выражения сложнее. Но ничего не получилось, программа Graph ничего не нарисовала и выводит сообщение об ошибке. Как правильно пользоваться Graph'ом?
- Attachments
-
-
FRAPH.png (115.61 KiB)Скриншот моих попыток. Viewed 9307 times
-
Я бы попросил вас не плодить лишний раз темы, и отписываться в соответствующих уже существующих темах.
Перенёс ~SoUrcerer
Перенёс ~SoUrcerer
to infinity and beyond
Спасибо большое за ответ!
Прошу прощения, искал, но не догадался искать тему про графики функций в "Мультимедиа"...
Прошу прощения, искал, но не догадался искать тему про графики функций в "Мультимедиа"...
Я пробую перенести Graph на библиотеки программы Table, чтобы объеденить их.
У меня все компилируется нормально. Однако, при заливке на SVN получаю повторяющуюся ошибку http://builds.kolibrios.org/logs/svn7619-err.txtНо в graph.cpp нигде неты вызова memset().
Что я делаю не так и почему линкер не находит функцию memset() которая вообще-то есть в исходниках?
У меня все компилируется нормально. Однако, при заливке на SVN получаю повторяющуюся ошибку http://builds.kolibrios.org/logs/svn7619-err.txt
Code: Select all
graph.obj : error LNK2001: unresolved external symbol _memset
Что я делаю не так и почему линкер не находит функцию memset() которая вообще-то есть в исходниках?
Из хаоса в космос
Linker doesn't read source code, it works with object files, i.e. it looks for _memset symbol in listed *.o files.Leency wrote:почему линкер не находит функцию memset() которая вообще-то есть в исходниках?
You try to link graph executable in graph_tablelib directory.Leency wrote:Что я делаю не так
Code: Select all
link_msvc("graph")
Table (our Excel app) compiles well when graph_tablelib doesn't want to.
There are no requests to memset() in graph_tablelib sources so I still don't get from where this request in graph.obj comes from.
There are no requests to memset() in graph_tablelib sources so I still don't get from where this request in graph.obj comes from.
Из хаоса в космос
Linker complains about _memset, not memset.
I believe this is the case.
I believe this is the case.
В рамках темы viewtopic.php?t=4555 [Drop extra compilers]
начал работу по модификации приложения graph .
Основная цель - добится сборки при помощи gcc и binutils (например, kos32-gcc, kos32-ld, kos32-as).
Однако я ставлю большую задачу:
- переписать на С (в оригинале используется C++);
- добится сборки программы общими средствами и различными компиляторами: llvm/clang, OsDev gcc cross compiler, tcc cross compiler (kos32-gcc, kos32-ld, kos32-as, а также порт Tcc для KolibriOS я считаю специализированными средствами разработки - "заточенными" под KolibriOS).
- несколько усовершенисвовать программу: добится независимой работы graph от сторонних программ (редактора текста).
Планируемое время выполнение - 2 месяца с данного момента (примерно до 01.11.2022).
Пока работа находится на 1-й стадии - добиваюсь компиляции отдельных частей программы (выполнено где-то на 30% - 50%).
Пообочным результатом стали: , .
Но по поводу пообочных результатов я заведу вскоре отдельную тему (где и выложу исходный код).
P.S.
Я знаю о работе vitalkrilov с похожей целью, но
- его версию оказалось не так то просто скомпилировать при помощи другого компилятора;
- я не согласен с его решением, когда программа вызывается без параметров (оригинальное решение лучше).
Edit1 [04.09.2022]: Удалось собрать (clang и как C-программу) и даже запустить - выглядит похоже, и даже график рисует
Теперь остаётся исправить всё, что я недопонял в авторском тексте
Edit2 [05.09.2022]: OffTopic
Я всё время считал, что
и
синонимами.
Однако это не так и, если подразумевается что-то вроде
То годен только последний вариант ... И в интернете отыскать объяснения не удалось ...
(Вот такой я дилетант в программировании )
Edit3: в автосборке скорее всего используется TCC вариант ибо в оригинальном имеется проблема с box_lib (передача одного аргумента через eax - принципиально ассемблерное соглашение о вызове)
начал работу по модификации приложения graph .
Основная цель - добится сборки при помощи gcc и binutils (например, kos32-gcc, kos32-ld, kos32-as).
Однако я ставлю большую задачу:
- переписать на С (в оригинале используется C++);
- добится сборки программы общими средствами и различными компиляторами: llvm/clang, OsDev gcc cross compiler, tcc cross compiler (kos32-gcc, kos32-ld, kos32-as, а также порт Tcc для KolibriOS я считаю специализированными средствами разработки - "заточенными" под KolibriOS).
- несколько усовершенисвовать программу: добится независимой работы graph от сторонних программ (редактора текста).
Планируемое время выполнение - 2 месяца с данного момента (примерно до 01.11.2022).
Пока работа находится на 1-й стадии - добиваюсь компиляции отдельных частей программы (выполнено где-то на 30% - 50%).
Пообочным результатом стали: , .
Но по поводу пообочных результатов я заведу вскоре отдельную тему (где и выложу исходный код).
P.S.
Я знаю о работе vitalkrilov с похожей целью, но
- его версию оказалось не так то просто скомпилировать при помощи другого компилятора;
- я не согласен с его решением, когда программа вызывается без параметров (оригинальное решение лучше).
Edit1 [04.09.2022]: Удалось собрать (clang и как C-программу) и даже запустить - выглядит похоже, и даже график рисует
Теперь остаётся исправить всё, что я недопонял в авторском тексте
Edit2 [05.09.2022]: OffTopic
Я всё время считал, что
Code: Select all
extern char *c;
Code: Select all
extern char c[];
Однако это не так и, если подразумевается что-то вроде
Code: Select all
char c[500];
(Вот такой я дилетант в программировании )
Edit3: в автосборке скорее всего используется TCC вариант ибо в оригинальном имеется проблема с box_lib (передача одного аргумента через eax - принципиально ассемблерное соглашение о вызове)
Code: Select all
(хз ? послать : написать нормальную обёртку) box_lib.obj
Who is online
Users browsing this forum: No registered users and 2 guests