
21.07.2009, 19:56
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Если быть точным, то мне нужно переписать следующие API функции под Linux
Если у ктото сталкивался с таким или с некоторыми из этих функций, то опишите плиз.
Пока что нашел только следующие аналоги которые подходят
1) Все фнукции работы с сокетами остаются почти без изменений
2) WSAStartup - вообще не нужна
3) WriteFile - fwrite
4) ReadFile - fread
5) GetSystemTimeAsFileTime - time
6) RtlFillMemory - можно самому написать быстро
7) CloseHandle - fclose
8) CreateFileA - fopen
9) FindFirstFileA / FindNextFileA / FindClose можно заменить на opendir / readdir / closedir
10) UnmapViewOfFile - munmap
11) ExitProcess - exit
12) CreateFileMappingA / MapViewOfFile - mmap
13) InterlockedIncrement и тому подобные - самому написать быстро.
14) Sleep - sleep (но хз описано что приостанавливает процесс, а в моем случае это долно юзать внутри потока)
Так что незнаю подойдет она или нет.
А вот то, что еще не найдено.
1) ExitThread - ?
2) CreateThread - ?
3) TerminateThread - ?
4) WaitForSingleObject - вот тут вот вообще тёмный лес. У меня эта функция ожидает наступления события (Event).
5) CreateEventA / SetEvent - тот тоже хз. невстречал функций. т.е. идея такая - создается событие. Поток ждет наступления этого события через WaitForSingleObject.
6) VirtualAlloc - вот тут вот хз. Думал malloc. Но хз потому как нужно выделять целые блоки данных до 500 метров.
и врядли malloc подойдет. т.к. под винду сишный malloc недавал такого
7) VirtualFree - в зависимости от выбранного способа для VirtualAlloc
8) GetFileSize - хз. аналога пока не нашел. быза задумка про переход в конец файла с последующим получение позиции но это черезжопны метод
9) GetPrivateProfileIntA - можно отказаться или сделать вручную работу с файлами
10) GetProcessMemoryInfo - желательно но не обязательно - т.е. мне нужно WorkingSetSize, PeakWorkingSetSize, PagefileUsage, PeakPagefileUsage
11) CreateToolhelp32Snapshot / Thread32First / Thread32Next - любая функция которая вернет кол-во запущенных в проге потоков
12) GetModuleFileNameA и SetCurrentDirectoryA - только чтобы установить текщую папку ту, в которой находится прога
|
|
|