タグ

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

タグの絞り込みを解除

C++に関するmuttyuのブックマーク (3)

  • C++ のシンボルをデマングルする - bkブログ

    C++ のシンボルをデマングルする C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。記事では GNU の開発環境で C++ のシンボルをデマングル (demangle) する方法を紹介します。 マングルの方法はコンパイラ依存です。同じコンパイラでもバージョンによってマングルの方法が異なることがあります。たとえば GCC 3.x では int foo(int) を _Z3fooi に、 int foo(const char*) を _Z3fooPKc のようにマングルしますが、 GCC 2.95 ではそれぞれ foo__FPCc, foo__Fi となります。 コマンドラインからデマングル C++ のオブジェクトファイルに nm をかけると、デフォルトではマングルされた読みづらい形式でシンボルが出力されます。 %

    muttyu
    muttyu 2010/04/13
  • JNI JavaVMメモ(Hishidama's Java native interface JVM Memo)

    他言語からJava実行 JNIを使って、C言語/C++からJavaVMを実行してメソッドを呼び出すことも出来る。 C言語またはC++内でJavaVMを生成(取得)し、後は通常のJNIと同様にコーディングする。 Windowsでの実行環境 リンク時にjvm.libが必要。→(VC++)ライブラリの追加方法 jvm.libは「%JAVA_HOME%\lib」に在る。→(VC++)ライブラリのパス指定方法 実行時にjvm.dllが必要。 jvm.dllは「%JAVA_HOME%\jre\bin\client」や「%JAVA_HOME%\jre\bin\server」に在る。 →(VC++)デバッグ実行時の環境変数PATHの追加方法 JavaVMの生成・破棄 JavaVMのオブジェクトを作成するには、jni.hで宣言されているJNI_CreateJavaVM関数を使う。 これに渡すための引数の初期

  • C++/CLIによるCライブラリの.NET化

    typedef int (*sqlite3_callback16)(void*,int,__wchar_t**, __wchar_t**); int sqlite3_exec16( sqlite3 *db, /* The database on which the SQL executes */ const __wchar_t *zSql, /* The SQL to be executed */ sqlite3_callback16 xCallback, /* Invoke this callback routine */ void *pArg, /* First argument to xCallback() */ __wchar_t **pzErrMsg /* Write error messages here */ ){ int rc = SQLITE_OK; const __wc

    C++/CLIによるCライブラリの.NET化
    muttyu
    muttyu 2009/05/22
  • 1