問題タブ [function-address]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2015 参照

function - C/C++でdllからエクスポートされた関数を呼び出す方法は?

私の目的は、そのアドレスを介していくつかの関数を呼び出すことです。どうすればいいですか?

私はそのような目的のために次の作業を行いましたが、最初は(1) - アクセス違反が発生し (理由はわかりません)、2 つ目は関数の呼び出しに問題があり、ESP 値を持つ ASM です...

1 つ目 (アクセス違反の問題):

2 番目 (ESP 値を使用した実行時の問題):

どうすればこの問題を解決できますか?

PS

もう 1 つの主な質問は次のとおりです。

次の呼び出しのために実行時に関数アドレスを動的に計算するにはどうすればよいですか?

ありがとう、

よろしくお願いします!

0 投票する
2 に答える
81 参照

c - 関数アドレスは一貫していますか?

これは、Windows 7 64 ビットで VC++ 2010 で C 言語を使用しています。

プログラムを実行するたびに同じアドレスになるように、関数のアドレス (c リンケージ) に確実かつ一貫してアクセスする方法はありますか?

0 投票する
1 に答える
1155 参照

shell - シェルで変数と関数のメモリアドレスを見つける

シェルプログラミングで、変数と関数のアドレスを見つける方法はありますか? &xを出力すると、cまたはc ++のように、xメモリアドレスを取得できます。

0 投票する
1 に答える
84 参照

c - Cの関数のアドレスと混同

私は混乱しています!次のすべての printf は、関数のアドレスを出力する正しい方法ですか? 私の混乱もお伝えしましょう。これらのすべての printf (つまり、1 番目の printf、2 番目の printf、および 3 番目の printf) を実行するたびに、出力で 02D4 02D4 02D4 が得られますが、1 番目と 2 番目の printf を削除またはコメントすると、3 番目を削除すると出力 02BA としてフォローされます。 printf ステートメント、次の出力 02D0 を取得しています。これら 3 つすべてのコメントを解除すると、次のようになります。 02D4 02D4 02D4 なぜ 1 つのステートメントが他の printf 行の出力に影響するのですか これは実際には関数のアドレスではありませんか? s と &s はアドレスと同じ値を与えると聞いたことがあります (配列のように)。しかし、ここで、b も印刷しようとすると s と &s が影響を受ける理由がわかりません。ここで、b=s または &s です。

0 投票する
2 に答える
1858 参照

c++ - 現在の実行可能ファイルから関数アドレスを取得するには?

C++ を使用して、Solaris 10 の現在の実行可能ファイルから関数アドレスを知る必要があります (GNU g++ 4.9.2 を使用しています)。たとえば、次のような関数があります: void doSomething(const char *p) は、現在の実行可能ファイルで定義される場合と定義されない場合があります。したがって、現在の実行可能ファイルで関数を検索し、存在する場合はそれを呼び出して、デフォルトの操作を実行したいと思います。それ、どうやったら出来るの?dlsym は役に立ちますか? 構文とマングル名について教えてください。

0 投票する
1 に答える
124 参照

c++ - タイプ「bool *」の値は、タイプ「bool (*)(int enemy_piece)」のエンティティに割り当てることはできません

以前に作成した関数ポインタへのアドレスを宣言できず、何が間違っているのか理解できません。

boola を返し、 1 つの整数引数を取る関数への関数ポインターを宣言しました。

場合に応じて、関数ポインターは 2 つの関数のいずれかを指す必要があります:bool is_blackまたはbool is_whiteis_black関数のアドレスにポインタを代入してもエラーにはなりませんが、is_whiteで同じことをしようとすると、このエラーが発生します。

次の関数 (' void cover_fields ') で同じことを試みても、エラーは発生しません。