[ros-kernel] How to get started writing ReactOS drivers
Hartmut Birr
hartmut.birr at gmx.de
Sat Feb 7 18:04:41 CET 2004
> -----Original Message-----
> From: ros-kernel-bounces at reactos.com
> [mailto:ros-kernel-bounces at reactos.com] On Behalf Of Vizzini
> Sent: Wednesday, February 04, 2004 6:04 PM
> To: ros-kernel at reactos.com
> Subject: [ros-kernel] How to get started writing ReactOS drivers
>
>
>
> As far as source code compatibility goes, Microsoft's CL.EXE supports
> some extensions that our compiler (MinGW GCC) doesn't. In particular,
> there is no support for SEH constructs, including __try, __except, and
> __finally. If you call ProbeForRead(), ProbeForWrite(),
> MmProbeAndLockPages(), ZwClose(), or anything else that can throw an
> exception, you have to surround the SEH stuff with
>
> #if MSC_VER
> #endif
>
Hi,
there exist some more differences between the M$-tools and GCC. The M$
linker sets driver sections, according to some macros, to pageable or to
non pageable. If a driver is build with GCC, all sections are pageable.
Such a driver will run perfectly for some time on NT or XP. If NT runs
out of memory and starts swapping of system memory, the driver is
swapped out. The driver does possible crash if a function is used which
needs nonpageable code or data.
- Hartmut
More information about the Ros-kernel
mailing list