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
http://alibc.sourceforge.net/
Сырцов нету. Но есть е-мэйл

Re: Kolibri Foundation Classes (KFC)

Posted: Tue Jul 21, 2009 3:32 pm
by Albom
Yaskhan wrote:http://alibc.sourceforge.net/Сырцов нету. Но есть е-мэйл
сайт уже 6 лет не обновлялся...

Re: Kolibri Foundation Classes (KFC)

Posted: Fri Jul 24, 2009 9:46 am
by Yaskhan
http://asm.sourceforge.net/asmutils.html
http://asm.sourceforge.net/asmutils/asm ... .18.tar.gz

Там немного функции из ЛибС на асме

И еще ASSEMBLY PROGRAMMING JOURNAL
http://mattst88.com/programming/?page=APJ&number=1
Во всех восми
Автор Xbios2

Re: Kolibri Foundation Classes (KFC)

Posted: Fri Jul 31, 2009 9:20 am
by Yaskhan
http://www.freewebs.com/ancientritual/files/glib.zip

http://fasmlib.x86asm.net/fasmlib-0.8.0.zip

Кто нибудь, добавьте сюда: http://www.masm32.com/board/index.php? на группу "Project Support Forums" добавить топик Колибри. А то я по англ. плоховат.