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.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to