Какие альтернативы для win32 для сигнализации, bzero, bcopy при переносе кода c - PullRequest
9 голосов
/ 16 августа 2010

я портирую код c на 32-битные окна, используя Visual Studio Express
Теперь у меня есть 3 функции, которые я не могу найти альтернативы в Windows
они:
сигнализация
bzero
bcopy
Какие методы эквивалентны в C win32?

Ответы [ 4 ]

12 голосов
/ 16 августа 2010

сигнал тревоги, который вам нужно откопать, для двух других:

#define bzero(b,len) (memset((b), '\0', (len)), (void) 0)  
#define bcopy(b1,b2,len) (memmove((b2), (b1), (len)), (void) 0)
8 голосов
/ 16 августа 2010

С какой платформы вы портируете на windows?В любом случае bzero и bcopy устарели уже довольно давно.

для bzero:

Эта функция устарела (помечена как LEGACY в POSIX.1-2001): используйтеmemset (3) в новых программах.POSIX.1-2008 удаляет спецификацию bzero ().

для bcopy:

Эта функция устарела (помечена как LEGACY в POSIX.1-2001): используйте memcpy (3) или memmove (3) в новых программах.Обратите внимание, что первые два аргумента обмениваются на memcpy (3) и memmove (3).POSIX.1-2008 удаляет спецификацию bcopy ().

Так что просто исправьте свой код и используйте предложенные замены.

4 голосов
/ 06 октября 2011
memcpy (output, input, size * sizeof (input[0]));

вместо

bcopy (input, output, size * sizeof (input[0]));

И

memset(m, 0, n * sizeof (gfloat));

вместо

bzero (m, n * sizeof (gfloat));
2 голосов
/ 16 августа 2010

для тревоги взгляните на функцию Win32-API SetTimer().

...