{"id":183660,"date":"2026-10-06T22:54:06","date_gmt":"2026-10-06T20:54:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/predstavlena-biblioteka-wincore-dlya-raboty-win32-programm-v-linux-i-macos"},"modified":"2026-10-06T22:54:12","modified_gmt":"2026-10-06T20:54:12","slug":"wincore-library-introduced-for-running-win32-programs-on-linux-and-macos","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/wincore-library-introduced-for-running-win32-programs-on-linux-and-macos","title":{"rendered":"Foi apresentada a biblioteca WinCore para executar programas Win32 no Linux e macOS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>O projeto WinCore desenvolve uma camada de compatibilidade com Win32\/WGL, permitindo compilar c\u00f3digo de programas Windows escritos em C\/C++ utilizando a API cl\u00e1ssica Win32, para execu\u00e7\u00e3o no Linux e macOS. O WinCore intercepta os manipuladores cl\u00e1ssicos do Win32 e utiliza backends multiplataforma para renderiza\u00e7\u00e3o via SDL3 ou SDL2. O c\u00f3digo \u00e9 escrito em C++ e \u00e9 distribu\u00eddo sob a licen\u00e7a LGPLv3.    <\/p>\n<p>O projeto surgiu como resultado de uma reinterpreta\u00e7\u00e3o da biblioteca LDL, do mesmo autor, que concluiu que, em vez de projetar mais uma API, fazia mais sentido pegar uma interface de procedimentos testada pelo tempo, a Win32 API, e torn\u00e1-la port\u00e1til para diferentes sistemas operacionais e dispositivos. A ideia \u00e9 que o c\u00f3digo \u00e9 escrito conforme as regras do Win32, mas \u00e9 compilado e executado nativamente em Windows, Linux e macOS.     <\/p>\n<p>A biblioteca foi escrita em C++98 estrito para m\u00e1xima portabilidade, mas exporta arquivos de cabe\u00e7alho limpos em C89, garantindo compatibilidade reversa e permitindo facilmente criar bindings para Rust, Zig, Python e outras linguagens atrav\u00e9s do C FFI. No momento, foram adicionados 2 backends \u2014 SDL2 e SDL3. No futuro, est\u00e1 previsto adicionar backends para XLib e Wayland.    <\/p>\n<p>O autor n\u00e3o tem a inten\u00e7\u00e3o de emular todas as funcionalidades do Windows e foca apenas nas subsistemas para multim\u00eddia e motores. Atualmente, est\u00e3o implementadas 5 fun\u00e7\u00f5es do Kernel32.dll (gerenciamento de m\u00f3dulos, tempo do sistema e atrasos), 25 fun\u00e7\u00f5es do User32.dll (cria\u00e7\u00e3o de janelas, ciclos de mensagens, posi\u00e7\u00e3o do cursor e processamento de entrada), 5 fun\u00e7\u00f5es do Gdi32.dll (sele\u00e7\u00e3o de formato de pixel, sa\u00edda de bitmaps e altern\u00e2ncia de buffers) e 4 fun\u00e7\u00f5es do Opengl32.dll (cria\u00e7\u00e3o, remo\u00e7\u00e3o e ativa\u00e7\u00e3o de contextos WGL).    <center><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/f8f4ced89c6b832ec2be3d5f2a59a7a2.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/8282e3819d4884257aa6bac81a848e71.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66412\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442 WinCore \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 Win32\/WGL, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 Windows-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 C\/C++ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e API Win32, \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 Linux \u0438 macOS. WinCore \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Win32 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u0440\u043e\u0441\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u044b \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 SDL3 \u0438\u043b\u0438 SDL2. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 C++ \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 LGPLv3. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u0442\u0430\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LDL, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183660","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 WinCore \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 Win32\/WGL, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 Windows-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 C\/C++ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e API Win32, \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 Linux \u0438 macOS.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/wincore-library-introduced-for-running-win32-programs-on-linux-and-macos\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 WinCore \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Win32-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0432 Linux \u0438 macOS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 WinCore \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 Win32\/WGL, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 Windows-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 C\/C++ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e API Win32, \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 Linux \u0438 macOS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/wincore-library-introduced-for-running-win32-programs-on-linux-and-macos\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-06T20:54:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-06T20:54:12+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Apresentada a biblioteca WinCore para trabalhar com programas Win32 no Linux e macOS | ProHoster","description":"O projeto WinCore desenvolve uma camada de compatibilidade com Win32\/WGL, permitindo compilar c\u00f3digo de programas Windows escritos em C\/C++ utilizando a API cl\u00e1ssica Win32, para execu\u00e7\u00e3o no Linux e macOS.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/wincore-library-introduced-for-running-win32-programs-on-linux-and-macos","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 WinCore \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Win32-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0432 Linux \u0438 macOS | ProHoster","og:description":"\u041f\u0440\u043e\u0435\u043a\u0442 WinCore \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 Win32\/WGL, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 Windows-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 C\/C++ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e API Win32, \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 Linux \u0438 macOS.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/wincore-library-introduced-for-running-win32-programs-on-linux-and-macos","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-10-06T20:54:07+00:00","article:modified_time":"2026-10-06T20:54:12+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/183660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=183660"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/183660\/revisions"}],"predecessor-version":[{"id":183661,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/183660\/revisions\/183661"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=183660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=183660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=183660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}