Page 4 of 4
Re: Kolibri Foundation Classes (KFC)
Posted: Tue Feb 26, 2008 12:13 am
by SHREDER
Я тут немного поколдовал и сделал возможность в kolibc использовать C++. STL от Selicone Graphics inc тоже в зипе. Если повезет что-то можно будет от туда использовать добавив все инклуды в папку include с либс или опцией копилятора -I.
new и delte работают.
Исходники и бинарники для MinGW32
Re: Kolibri Foundation Classes (KFC)
Posted: Tue Feb 26, 2008 3:18 pm
by Albom
Извините за глупый вопрос, но как этим пользоваться? MinGW создаёт только exe... может кто-нибудь скинет пример использования?
Re: Kolibri Foundation Classes (KFC)
Posted: Tue Feb 26, 2008 3:29 pm
by SHREDER
Melian wrote:
Code: Select all
int bcmp (const void *s1, const void *s2, int len)
{
for (int i = 0; i<len; i++)
{
if ((const char*) (*s1)!=(const char*) (*s2)) return 1;
s1++;
s2++;
}
return 0;
}
Всё!
Твой код вообще не компилируется ( (const char*) (*s1) вместо *((const char*)s1) приводиш значение ячейки памяти к указателю

), к тому-же ты используеш долгую операцию приведения типа в цикле и в целом не эффективно выходит.
Я б сделал так:
Code: Select all
int bcmp(const void *s1,const void *s2,int len)
{
unsigned char *m1 = (unsigned char*)s1;
unsigned char *m2 = (unsigned char*)s2;
if (s1 != s2)
for(int i=0;i < len; i++)
{
if (m1[i] != m2[i])
return 1;
}
return 0;
}
int main()
{
std::cout << bcmp("Hello world!", "Hello world!",12) << std::endl;
std::cout << bcmp("Hello world!", "Not hello world!",12) << std::endl;
int a=1;
int b=2;
std::cout << bcmp(&a,&b,4) << std::endl;
struct s {
int _x,_y;
s(int x, int y)
{
_x = x, _y = y;
}
} s1(1,1),s2(2,2);
std::cout << bcmp(&s1,&s2,sizeof(s)) << std::endl;
return 0;
}
Re: Kolibri Foundation Classes (KFC)
Posted: Fri Feb 29, 2008 10:37 pm
by SHREDER
Albom wrote:Извините за глупый вопрос, но как этим пользоваться? MinGW создаёт только exe... может кто-нибудь скинет пример использования?
Надо пропустить екзе через программу pk2kos. Что то вроде pk2kos my.exe my.kex (это пока лучше работает) или линковать с ld или джи++ с опцией -T после которой идет файл скрипта указывающий линкеру в каком формате собирать выходной файл. Вообще говоря этот скрипт надо брать из в minuetlibc library include/script/ и там разные скрипты для библиотек и приложений.
Да совсем забыл, раз уж на то пошло компилировать нужно с целым рядом опций и линковать тоже. Но главные из них -nostdinc for gcc(g++) & -nostdlib после котрых -I и -L которые указывают компилятору и линкеру пути к библиотекам.
Andrew Programer ты не мог бы слить скрипты для линкера в SVN? Потому как доверия к скриптам минуэт либс нету никакого, программы слинкованные с ними у меня лично вешают систему (причем система запущенна в нативе с дискеты). Т.е. висит задосеная даже драйвер мыши не работает.
Re: Kolibri Foundation Classes (KFC)
Posted: Tue Jul 21, 2009 12:35 pm
by Yaskhan
Re: Kolibri Foundation Classes (KFC)
Posted: Tue Jul 21, 2009 3:32 pm
by Albom
сайт уже 6 лет не обновлялся...
Re: Kolibri Foundation Classes (KFC)
Posted: Fri Jul 24, 2009 9:46 am
by Yaskhan
Re: Kolibri Foundation Classes (KFC)
Posted: Fri Jul 31, 2009 9:20 am
by Yaskhan