パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

日本人エンジニアは海外を目指すべきか」記事へのコメント

  • C言語 (スコア:4, おもしろおかしい)

    最初に飛ばされたときはC言語でなんとかなった
    トイレ探すのはseeking toiletとか…
    • Re:C言語 (スコア:2, おもしろおかしい)

      by Anonymous Coward
      map result = find_toilet(me);

      # なんとかならんのか
      • Re:C言語 (スコア:1, おもしろおかしい)

        by Anonymous Coward
        よーしパパC++で書いちゃうぞ。
        try {
          me->find("toilet");
        } catch{
          throw;
        }
        • meって誰だよ…。
          thisじゃない時点でC++で書ききれてないぞ。

          # 普段、CからC++クラスのメンバ関数を呼び出してるのでID
          • 折角なので、どうやったらポータブルに
            マングルを解決出来るのか聞きたい、、、

            あれって実装依存っすよねぇ?
            --
            uxi
            • by Tsann (15931) on 2006年08月03日 0時58分 (#989963)
              もともとソースも何もなく、実行ファイルだけがある環境で、そのプロセスに進入して勝手に呼び出してるので…マングルどころかソース上での関数名も知らないです。
              関数アドレスとthisポインタを調べて気合いで呼び出してます。

              >あれって実装依存っすよねぇ?
              実装依存ですね。Win32で言えば、thisポインタがECXに入るというルールなので、普通の関数形式では表現できないんですが、

              static const char* (__thiscall *getMapName)( void*, void* ) = 0;

              と書けてしまったので、アセンブラでラッパー関数を書かずに済みました。
              GCCだと第一引数にthisポインタを入れて通常の関数呼び出しなのかな?
              親コメント

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

処理中...