タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

c++とjavaに関するakishin999のブックマーク (2)

  • JNIとC++例外 - meryngii.neta

    JNI関連の話が続きます。 今日は短いですが、JNIとC++例外について。 最近ではAndroid NDKもC++の例外(やRTTI)に対応していて、そのおかげで例外が必要なSTLなどのライブラリを自由に使えるようになっています。しかし、Java側はC++の例外を理解してくれないので、もしJNIを介した関数がネイティブ領域で例外をキャッチし損ねると、すぐにSegmentation Faultで落ちます。 解決策としては、JNIから呼び出されたC++側の内部処理を、noexceptな関数に閉じ込めてしまえばよいわけです。もちろんエラーが発見できないのもまずいので、JNIを使ってJava側の例外に変換してしまいます。 JNIEXPORT void JNICALL Java_Foo_bar (JNIEnv* env, jobject thisj) { jni_util::convertExcep

    JNIとC++例外 - meryngii.neta
  • コード解析の自動化(1)ソースコードのスタイル、作法チェック

    システム開発において、ソースコードの品質を担保するためにはソースコードレビューが不可欠です。ソースコードレビューには主に、以下の三つの役割があります。 コーディング規約順守のチェック バグ埋め込みのチェック 性能劣化のチェック これらのチェックは、実装(コーディング)工程で行うべきものです。コーディング規約の違反箇所は、実装工程の後では修正される機会は少なくなります。また性能問題を放っておくと、システムテストなどかなり後の工程で明るみ出て、リリースまでに残された少ない時間の中で対応を余儀なくされるといった事態になりかねません。 このように、ソースコードレビューには、その後の工程で補うことができない大きなメリットがあります。繰り返しますが、ソースコードレビューは必ず行うべきです。しかし実際の開発現場では、以下のような制約により、十分にソースコードレビューを行えないことがあります。 必要なスキ

    コード解析の自動化(1)ソースコードのスタイル、作法チェック
  • 1