タグ

ブックマーク / www.02.246.ne.jp/~torutk (6)

  • JNI:Java Native Interface

    JavaからC/C++言語を呼び出す、またはその逆の方法として、JNI(Java Native Interface)というAPIが提供されています。記事では、JavaからC/C++言語をネイティブメソッドとして呼び出すコードとそのコンパイル・リンク・実行手順、およびC/C++言語からJavaを呼び出すコードとそのコンパイル・リンク・実行手順を記します。 JNIに必要なもの JNIは、Javaで記述する部分とC/C++で記述する部分があります。Java側はJDKがあればよいのですが、C/C++側はC/C++コンパイラが別途必要となります。 Windows環境で必要なもの Windows環境のJavaVMはネイティブメソッドをDLL(Dynamic Link Library)という形で用意されていないといけないので、DLLを構築できるC/C++コンパイラが必要となります。 Windows環境

    advblog
    advblog 2015/07/09
  • C++例外処理プログラミング

    [ C++で開発 ] 例外処理プログラミング 戻り値によるエラー通知ではなく、より障害に対する耐性を高めるためのシステムとしてC++言語に導入されたのが例外機構です。この例外処理はC++に限らずオブジェクト指向言語の多くに導入されています。 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか 関数宣言のthrow:例外仕様 単純なunexpected/terminateの実装 例外の考え方 例外を使用する/しない 例外処理をする/しない スタックフレームを保持する例外 Exceptionクラス TraceExceptionクラス Linuxのbacktraceシステムコール backtraceを用いた例外クラスの実装例 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか (節の記述は、書籍「More Effective C++」の§13

    advblog
    advblog 2011/01/20
  • eMbedded Visual C++ 4.0

    [ C++で開発 ] eMbedded Visual C++ 4.0 MicrosoftがリリースしているWindows CE .NET(4.1/4.2)用アプリケーションを開発するC++環境です。Windows CE用アプリケーションはクロス開発となります。ツールはWindows 2000/XPのPC上で使用します。 概要 Windows 2000/XP上で使用する、Windows CE .NET用プログラム開発環境です。 言語仕様 eMbedded Visual C++ 4.0は、C++標準仕様に対して以下の違いがあります。 入手 eMbedded Visual C++ 4.0の他、ターゲット(ビルドしたプログラムを実際に実行させるWindowsCEマシン)のOSプロファイル、CPUによって異なるSDK、PC上でWindowsCEプログラムを模擬実行するためのエミュレータなどを入手し

  • C++ Coding Standards 101のサマリのサマリの日本語訳

    [ C++で開発 ] 書籍「C++ Coding Standards: 101 Rules, Guidelines, And Best Practices」 のサマリのサマリの日語訳 Herb Sutter、Andrei Alexandrescu両氏によるコーディング標準のルール名を列挙します。 ルール名 組織およびポリシー関連 0. ささいなことを気にかけるな(標準化すべきではないものを知れ) 1. コンパイラの警告を最大レベルにして、すべての警告を取り除け 2. ビルドを自動化せよ 3. バージョン管理システムを使え 4. コードレビュー投資せよ 設計様式 5. ひとつの要素にはひとつの責務 6. 正確性、簡潔性、明りょう性がまず最初 7. いつどのようにコードにスケーラビリティを持たせるかを知れ 8. 時期尚早に最適化しない 9. 最初から悲観的にならない 10. 大域データ、

    advblog
    advblog 2009/01/20
  • EmacsにおけるC++ファイル拡張子と雛形生成

    この場合、ヘッダファイルを拡張子'.h'としているとc-modeになってしまいます。c++-modeにする設定をEmacsに行います。 ファイルを開いてから、毎回次のコマンドを実行する。(とっても面倒ですね) M-x c++-mode RET ファイル先頭に次の記述を行う。 // -*- C++ -*- 拡張子.hをc++-modeに割り付け直すように、.emacsに記述する。 ;; C++ ; ヘッダファイル(.h)をc++モードで開く (setq auto-mode-alist (append '(("\\.h$" . c++-mode)) auto-mode-alist)) ちょっと便利な編集機能 新規にヘッダファイルを作成するときのインクルードガード ヘッダファイルを新規に作成する場合、auto-insert-modeを有効にしておくと、ファイル名に応じたインクルードガードを生成し

  • Eclipse CDTメモ

    組み込み環境向けなど従来GNU Compilerに独自ツールを追加していた開発の世界に徐々にEclipse CDTが浸透してきています。GNU C/C++コンパイラを使う開発環境ではEclipse CDTが今注目されています。 CDTは、Eclipseのプラグインの1つで、C/C++開発用の主要機能を提供するものです。 目次 Eclipse CDTバージョンと機能の整理バージョン新機能Eclipse CDT 5.0の新機能Eclipse CDT 4.0の機能インストールCentOS 5 x86の場合Eclipse 3.2Eclipse 3.3Eclipse 3.4プロジェクト機能ディレクトリ構成ワークスペース(workspace)プロジェクトCDTが生成するMakefile伝統的なC/C++ディレクトリ構成を取るには・・・Eclipse CDTが想定するディレクトリ構成に合わせるか、Ecl

    advblog
    advblog 2008/10/21
  • 1