Alexander wrote:

> On 29.04.2011 11:41, Spacen Jasset wrote:
> 
>> You still *cannot* link statically to kernel32.dll. That's the
>> difference. Linux glibc contains the C library functions *and* the
>> syscalls, which is the bit that causes the problems.
> 
>   But at least I know, that no matter where I am, as long as I am using
>   kernel32 only (no more dependencies), it will work on *any* Windows
>   system (obviously, keeping backward compatibility in mind - something
>   compiled on WinXP will work on all later
> versions) - which is not he case of Linux/glibc, unfortunately.
> 
>> msvcrt.dll and msvcrt.lib don't have any syscalls in them. they call
>> though kernel32.dll dynamically.
> 
>   Actually, they do. Calling kernel32 is like making a syscall, that's the
>   base of Win32 API, which is equivalent of Linux syscall.

A syscall is generally understood to be a call into the kernel for doing 
something that can't be done with user level privileges. So a call is either 
a syscall or it isn't, and none of kernel32 are. There are even functions in 
kernel32 which do not make a syscall.


Reply via email to