Здравствуйте, Разраб, Вы писали:
Р> Скачал последний релиз 9-10(исходники)
Р> собрал бутстрап(init)
Р> потом Build
Р> в папке vostok создал папке bb(положил в нее Hello.mod, BubblSort.mod)
Р> из родительской
Р> result/ost run to-bin Hello bb/hello -infr . -m bb
Р> xubuntu lts последняя
У меня Ubuntu 22.04. vostok ставил из снапа. В результате, удалось запустить опустив параметр to-bin:
vostok ./Hello.mod . -m . Он создает папку в tmp, куда складывает сгенерированный си-код, собранный бин и запускает его. Результаты у меня такие:
HELLO
real 2m37,695s
user 2m37,612s
sys 0m0,044s
| Исходник Hello.c |
| /* Generated by Vostok - Oberon-07 translator */
#include <o7.h>
#include "Out.h"
#include "BubbleSort.h"
#define hello_cnst ((o7_char *)"HELLO")
#define m_cnst 100000
static double a[m_cnst];
static o7_int_t i;
static double e;
extern int main(int argc, char *argv[]) {
o7_init(argc, argv);
Out_init();
BubbleSort_init();
e = o7_flt(m_cnst);
for (i = 0; i < m_cnst; ++i) {
a[o7_ind(m_cnst, o7_sub(o7_sub(m_cnst, i), 1))] = e;
e = o7_fsub(e, 1.0);
}
BubbleSort_Sort(m_cnst, a);
Out_String(6, (o7_char *)"HELLO");
Out_Ln();
return o7_exit_code;
}
|
| |
| Исходник BubbleSort.c |
| /* Generated by Vostok - Oberon-07 translator */
#include <o7.h>
#include "BubbleSort.h"
static void Sort_Swap(double *a, double *b) {
double t;
t = *a;
*a = *b;
*b = t;
}
extern void BubbleSort_Sort(o7_int_t a_len0, double a[/*len0*/]) {
o7_int_t i, j;
for (i = 0; i < a_len0; ++i) {
for (j = 0; j <= o7_sub(o7_sub(a_len0, 2), i); ++j) {
if (a[o7_ind(a_len0, o7_add(j, 1))] < a[o7_ind(a_len0, j)]) {
Sort_Swap(&a[o7_ind(a_len0, o7_add(j, 1))], &a[o7_ind(a_len0, j)]);
}
}
}
}
|
| |