该功能是 Windows32 API 不具备的。下一个组成部分是 w32api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。
MinGW安装图文教程:
下载之后安装一下(注意:这个安装并没有安装MinGW)
安装玩下载程序后,打开。
点击Continue进行安装
下载安装完之后设置环境变量
设置环境变量。
a. 鼠标右击桌面“计算机”(WindowsXp是“我的电脑”)->“属性”
b. WindowsXP时,在新弹出的属性窗口,选择“高级”->“环境变量”。
Windows7时,在新弹出的属性窗口,选择左侧的“高级系统设置”,在新弹出的属性窗口,选择“高级”->“环境变量”。
c. 把MinGW安装目录的bin目录的路径追加到PATH里,然后确定。
注意:箭头指的两个分号一定要加上并且分号一定要在英文输入模式下输入
最后在CMD中输入gcc -v,看看有没有安装成功,如果出现一下画面说明安装成功
改系统环境变量不是很好, 新增一个用户Path变量就OK了, 不止一次遇到系统变量被删除的人突然发现命令提示符N多命令不好使了
基本用法:
在mingw环境中生成和使用dll都是十分方便的。
1.生成dll
gcc(g++) -shared -o test.dll test.c(test.cpp)
通过该命令生成test.dll,将导出test.c中非静态的函数和相关的类。
(注by asper:该命令行在处理jni涉及的dll时无效)
我使用微软C++编译器,cl命令对带有空格的路径也是无效的,需要用""括住
2.连接dll到exe中
mingw使用dll的方式和静态库.a的方式是一样的,连接的时候只需要加上-ltest即可,没有lib前缀的要求。
3.编写jni调用的dll
有办法了! 是gcc少了行参数。 如下:
gcc -I%JAVA_HOME%/include -I%JAVA_HOME%/include/win32 -Wl,--add-stdcall-alias -shar