补一下jni的笔记,每次看完都不想发博客,懒得要死
关于函数内部是否有分配内存,只能通过对每个函数的了解判断吧,学完了看看源码
这一句没看太懂,是说可能释放String内部的char数组吗
死锁出现的情况
这个真的很重要,今天的教训:出现找不到域或者方法的异常大多输都是由于签名写的不对
又回到类似管理指针的混乱中了/。。。
总的来说引用这一块如果可以估计上下文使用的数量,可以调用Push/PopLocalFrame,这是非常好的方式,但是要保证对每个出口都使用
记录一个现象,如果出现奇怪的指针错误之类的东西,可能是c语言代码保存成了cpp,或者反过来
另一个现象,C函数中的输出会晚于Java函数,即使在代码顺序上早于Java函数,之前以为是多线程问题,查了一下没有什么准确答案,有人说是缓冲区刷新导致的,试验了一下,加上fflush(stdout),果然恢复正常,那可能是整个程序结束时刷新缓冲区输出了存在缓冲区中的C输出
然后就是IDEA和Clion联合使用,既然都是这么好的东西,为什么不一起用呢,记录一下使用方式:
https://blog.csdn.net/liangjiu2009/article/details/77063704
最后,如果在现有的java工程中加入Clion的CMakeLists.txt会导致IDEA中找不到工程,这个问题还没解决,感觉可能是类似Maven依赖被改掉了?或者啥玩意,以后再试试吧
明天试一试IDEA和Clion联合调试