咋实现Java调用C++代码( 二 )

gcc -Wl,--add-stdcall-alias -I "C:\\Program Files\\Java\\jdk1.6.0_39\\include" -I "C:\\Program Files\\Java\\jdk1.6.0_39\\include\\win32" -shared -o testdll.dll testdll.cpp关于gcc的命令参数 -I:
指定头文件目录,如-I/myinclude
-o:  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,比如本例生成的就是testdll.dll-share:  此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.-Wl:
【咋实现Java调用C++代码】 表示后面的参数将传给link程序ld(因为gcc可能会自动调用ld)
-Wl.option  此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选  项,然后传递给会连接程序.
在通过gcc/g++间接调用链接程序ld时,所有的ld选项前必须加上“-Wl,”,因为-Map是ld的选项。所以,要让g++生成mapfile,需要增加编译参数“ -Wl,-Map,mapfile”。 例:gcc -o helloworld helloworld.c -Wl,-Map,helloworld.map
参考了:http://blog.163.com/liuzhaoyang163@126/blog/static/20645633200931693039729/
■网友
百度搜 eclipse cdt jni ,百度经验有一篇非常好的教程。注意jvm和c++的位数要统一是32或64。


推荐阅读