I am reading about JNI and found that for using a C library we need to make some modifications in the C program also .Is there a way out to use the C program without making any modifications to it using JNI.
Write a wrapper in C. Basically this C wrapper forms a bridge between Java and the existing C application. The wrapper uses the JNI method names etc, and calls the needed functions in the C application.
Not necessarily. I myself use Delphi for my Windows JNI coding, simply because I can't get MinGW to link the COM libraries properly. But C is the most used JNI language, that much is true.