P wrote:
I was wondering what sort of changes I need to make in order to make an
application to be DEP compatible with on Windows XP x64 version 2003.
That's conceptually easy; fix the errors your program contains. If your
program is strictly conforming C (or rather, just well-behaved C) it should
never trigger the DEP mechanism.
I have compiled an open source C application
(japach:http://www.jikos.cz/jikos/japach/) but when I ran it on Windows
with DEP turned on, I get a core file and inside that, it says
"STATUS_ACCESS_VIOLATION".
I took a brief look at that program; it appears to be targeting UNIX-like
platforms and there's no mention of Windows support. If you can compile it
at all, it's still quite likely that the assumptions the program makes are
wrong (pay particular attention to any warnings your compiler emits; these
are not to be ignored). The core dump is just an indication that the program
isn't running the way it expected to.
After searching through Google, most of the results came back were on
making an exception to the application that isn't compatible through
system settings. Is there a way to make it compatible by making changes
in the code?
Not unless you want to invest some time in finding and fixing whatever is
causing the program to misbehave on Windows, which could be anything from an
incomplete library implementation to a data type mismatch. Turning off DEP
is a waste of time; it's very unlikely the program will run any better, and
triggering DEP is always an indication of either an error or an unportable
trick/hack that in standard C would be undefined behavior.
Try googling for "Cygwin" and "MinGW" for general information on how to
compile UNIX applications on Windows, and find appropriate newsgroups (like
comp.unix.programmer and comp.os.ms-windows.programmer) for questions about
OS-specific constructs (which are off-topic here).
S.