Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Jun 02, 2020 11:02 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 53 posts ]  Go to page Previous 1 2 3 4
Author Message
PostPosted: Tue Feb 26, 2008 12:13 am 
Offline

Joined: Thu Dec 21, 2006 10:51 am
Posts: 88
Я тут немного поколдовал и сделал возможность в kolibc использовать C++. STL от Selicone Graphics inc тоже в зипе. Если повезет что-то можно будет от туда использовать добавив все инклуды в папку include с либс или опцией копилятора -I.
new и delte работают.

Исходники и бинарники для MinGW32


Attachments:
stl.zip [216.68 KiB]
Downloaded 255 times
kollibc-mingw-src.zip [158.01 KiB]
Downloaded 301 times
kollibc-mingw-bin.zip [61.88 KiB]
Downloaded 267 times

_________________
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.
Top
   
PostPosted: Tue Feb 26, 2008 3:18 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 755
Извините за глупый вопрос, но как этим пользоваться? MinGW создаёт только exe... может кто-нибудь скинет пример использования?


Top
   
PostPosted: Tue Feb 26, 2008 3:29 pm 
Offline

Joined: Thu Dec 21, 2006 10:51 am
Posts: 88
Melian wrote:
Code:
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:
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;
}

_________________
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.


Top
   
PostPosted: Fri Feb 29, 2008 10:37 pm 
Offline

Joined: Thu Dec 21, 2006 10:51 am
Posts: 88
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? Потому как доверия к скриптам минуэт либс нету никакого, программы слинкованные с ними у меня лично вешают систему (причем система запущенна в нативе с дискеты). Т.е. висит задосеная даже драйвер мыши не работает.

_________________
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.


Top
   
PostPosted: Tue Jul 21, 2009 12:35 pm 
Offline

Joined: Tue Apr 14, 2009 7:33 am
Posts: 83
http://alibc.sourceforge.net/
Сырцов нету. Но есть е-мэйл


Top
   
PostPosted: Tue Jul 21, 2009 3:32 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 755
Yaskhan wrote:
http://alibc.sourceforge.net/Сырцов нету. Но есть е-мэйл

сайт уже 6 лет не обновлялся...


Top
   
PostPosted: Fri Jul 24, 2009 9:46 am 
Offline

Joined: Tue Apr 14, 2009 7:33 am
Posts: 83
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


Top
   
PostPosted: Fri Jul 31, 2009 9:20 am 
Offline

Joined: Tue Apr 14, 2009 7:33 am
Posts: 83
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" добавить топик Колибри. А то я по англ. плоховат.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 53 posts ]  Go to page Previous 1 2 3 4

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited