[Lazarus] windows rt

Michael Van Canneyt michael at freepascal.org
Sun May 12 15:35:17 CEST 2013



On Sun, 12 May 2013, Sven Barth wrote:

> On 12.05.2013 14:19, Felipe Monteiro de Carvalho wrote:
>>> ok if you allocate the memory using functions from the Windows API which 
>>> are
>>> available for WinRT)
>> 
>>> From what I read what is available for allocating memory in WinRT is
>> malloc from the Visual C RTL.
>
> Yes, nevertheless the RTL needs to be adjusted for this, because the heap 
> manager uses the HeapAlloc function from kernel32.dll and not the Visual C 
> RTL.

if you use cmem, it should ?

>
>>>> Also, does anyone know if the executable format at least in win rt is the
>>>> same? pe format and available in both executable and dll forms?
>>> It's the same.
>> 
>> This part is really good! So one could theorically use the win32
>> binutils and just copy the existing RTL and delete all calls to the
>> WinAPI and substitute it to Visual C RTL calls to make a quick and
>> dirty port ...
>
> The big work of a WinRT port of FPC is exactly this substitution of API 
> calls. Adding a new target to the compiler and the build utilities is easy. 
> Implementing the RTL is the hard one and you'll have to do that no matter 
> whether you do a "quick and dirty" port or a real one. In both cases you'll 
> need to research the correct function to use and the correct way to pass in 
> or retrieve data.

This is the reason Delphi does not support windows RT at the moment.
They are too deeply rooted in the Win32 API, and they too must 'rewrite' 
the RTL.

It will be interesting to see who will be there first :-)

Michael.




More information about the Lazarus mailing list