LINUX.ORG.RU

Cоответствие WinApi и Linux Syscalls


0

0

Перерыл весь инет, нигде не смог найти такую таблицу соответствия. т.е. интересует какие функции в линуксе могут быть аналогами WinApi функциями. Необязательно чтобы это были системные вызовы, пойдут и библиотечные функции. Максимум что находил - исходники и хидеры реализующие обертку над системными вызовами.
т.е. требуется что-то типа такого:
CreateFile - open/creat
MapViewOfFile - mmap
итд итп.


Рискну предположить, что надо посмотреть в сторону winelib. Наверняка там что-то такое есть.

Viglim ()

>Необязательно чтобы это были системные вызовы, пойдут и библиотечные функции. Максимум что находил - исходники и хидеры реализующие обертку над системными вызовами.

То есть тебе все-таки нужны не прямо системные вызовы, а функции в glibc?

Я не думаю, что найдется точное соответствие всем функциям Windows API. Во-первых, логика работы очень часто другая. Во-вторых, в Windows API входит много того, что в Линуксе не имеет «стандартной» реализации.

proud_anon ★★★★★ ()
Ответ на: комментарий от proud_anon

Главное чтобы с одной стороны были WinApi а с другой стороны - любые Linux функции являющиеся аналогами или близкие по смыслу. Но конечно желательно чтобы это были системные вызовы, но и glibc подойдет.

slesh ()
Ответ на: комментарий от slesh

> Главное чтобы с одной стороны были WinApi а с другой стороны - любые Linux функции являющиеся аналогами или близкие по смыслу

а wine - что такое тогда?

Bad_Habit ()
Ответ на: комментарий от Bad_Habit

А причем тут Wine? Мне не надо запускать виндовые проги на линуксе и не надо юзать его либы, мне надо знать достаточно имена функций.

slesh ()

Может чем помогут патчи Linux Unified Kernel.

Nao ★★★★★ ()
Ответ на: комментарий от Bad_Habit

В том то и дело что быстрее тогда прочитать доку по всем системным вызовам. Просто думал может уже есть такое но не смог найти, оказывается такого нет(

slesh ()
Ответ на: комментарий от ShTH

Программирование оно и в Африке программирование и подходы везде похожие, но вот название функций разное. Конечно есть win подходы которые не желательно реализовывать на nix системах, но в основном задачи как были так и остаются одинаковые - работа с памятью, файлами и папками, потоками, процессами, сетью, etc.

slesh ()
Ответ на: комментарий от slesh

>в основном задачи как были так и остаются одинаковые - работа с памятью, файлами и папками, потоками, процессами, сетью, etc

Выучи GLib (ну или куте на крайняк) и не парься

yoghurt ★★★★★ ()
Ответ на: комментарий от slesh

>файлами и папами Спешу огорчить - с директориями.

anonymous ()
Ответ на: комментарий от slesh

Лучше начни изучать сискаллы линукса, чем работай с ними через прослойку. Изучить их не так уж сложно, документация есть. Но это лучше, чем городить велосипеды и использовать костыли.

ShTH ()
Ответ на: комментарий от ShTH

Ну а я про что говорю? Мне как раз и не нужны костыли и тому подобные вещи и именно по этой причине я и ищу такие аналоги. Чтобы не перечитывать всё что есть в поисках необходимых функций, а чтобы знать, что функция линукс функция N является аналогом или близка к WinApi функции M. А далее уже не составит труда прочитать маны по параметрам

slesh ()
Ответ на: комментарий от slesh

Может стоит просто почитать документацию по сущ-вующим реализациям? Например если тебе нужен pthread, то просто ищи по ключевому слову значение функции.

ShTH ()
Ответ на: комментарий от slesh

/me пытается слезть с Qt в простых задачах.. Мой основной приоритет в разработке на C++ - кроссплатформенность без развесистой макросни, сборка с помощью gcc. Цель - практикой освоить родные средства C++, с пользой на работе (винды), одновременно набив POSIX-скилл. Пока застрял на stat(), mingw-реализация в виндах не работает, чувствую, что придется клепать коммит.

Кто-нибудь сталкивался?

Bad_Habit ()
Ответ на: комментарий от ShTH

сисколы знать конечно нужно, но использовать их лучше через прослойку, чтобы не было потом проблем с переносимостью

Reset ★★★★★ ()

бери по вкусу:

C - Apache Portable Runtime, Glib
C++ - boost, ACE, POCO

и не пудри мозги

anonymous ()

cygwin1.dll кагбы намекает WinApi нинужно используй Linux API везде

ACR ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.