- 论坛徽章:
- 0
|
我们的系统原来在UNIX下使用C编程,现在升级到JAVA平台,由于系统要
掉用另一个公司提供的接口,该接口是标准C写的。升级前一切正常,但升级
后应用程序经常异常终止,经详细检查,是用JNI调用C接口时终止的。
该C接口中大意如下:
struct stIntface
{
char sType;
char sMembOne[10];
char sMembTwo[10];
...
}
int intfaceFunc(struct stIntface *p, ...)
{
...
p->;sType='A';
sprintf(p->;sMembOne, "%-10s", myChars ); /*myChars 定义为: char myChars[11]*/
sprintf(p->;sMembTwo, "%-10.2f", myFloat ); /*myFloat 定义为: float myFloat*/
...
return 0;
}
该C接口其它部分应没问题。
请问在JAVA中通过JNI调用C时,struct stIntface 如此使用时:
sprintf(p->;sMembOne, "%-10s", myChars ); /*myChars 定义为: char myChars[11]*/
sprintf(p->;sMembTwo, "%-10.2f", myFloat ); /*myFloat 定义为: float myFloat*/
是否会有问题?如有问题,请帮忙解释,非常感谢!
|
|