
No.4ベストアンサー
- 回答日時:
>関数のアドレスを出力した場合、そのアドレスがどの関数を示しているか、
>static関数では判定できないという事でしょうか?
void sub1()
{
------略----
}
static sub2()
{
------略----
}
の場合
.glb_sub1 <----------ここが違う。static関数はこの命令がでない。
_sub1:
------略----
RTS
_sub2:
------略----
RTS
というアセンブリ言語イメージに落ちます。
sub2は、.glb宣言していないため、外部シンボルにしません。
>ちなみに、mapファイルにstatic関数を出力するリンクオプションが存在するのでしょうか?
コンパイラ・リンカーによってできるものがあるかもしれませんが、
一般的には、できないと思います。
>シンボルが無いという事は、inline関数のようにasmでは展開されるのでしょうか?
上の展開例を参照ください。
No.3
- 回答日時:
CPUやコンパイラによっても事情が変わる話ですが。
static関数のアドレスを知りたい場合の泥臭いテクニック。
そのソースファイルだけ命令コード付きのアセンブラリストとしてコンパイルします。
するとそのリストのアドレスは絶対値でないもの、つまりゼロから始まる相対値として出ているはずです。
で、所望の関数について、もっとも近いところにあるグローバル関数からの相対値を計算し、メモしておきます。
あとは全体をコンパイルしてmapファイルからグローバルシンボルのアドレスを調べれば、相対的に所望のstaticシンボルのアドレスも分かります。
参考まで。
No.2
- 回答日時:
回答になっていなかったです。
グローバルシンボルとして出してしまうと、別ファイルから
呼び出しが可能になるため、グローバルシンボルを出していません。
よって、グローバルシンボルがないため、マップにはでません。
static関数は、ファイル毎で同名の中身の異なった(同じであってもよい)関数を書くことができます。同名の関数が別ファイルにあり、staticでない場合はリンク時2重定義エラーになります。
この回答への補足
ありがとうございます
関数のアドレスを出力した場合、そのアドレスがどの関数を示しているか、static関数では判定できないという事でしょうか?
ちなみに、mapファイルにstatic関数を出力するリンクオプションが存在するのでしょうか?
シンボルが無いという事は、inline関数のようにasmでは展開されるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- Visual Basic(VBA) Application.Dialogs(xlDialogFileDelete).Showの件 1 2023/02/22 10:02
- その他(悩み相談・人生相談) Google Map 3 2022/11/19 08:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flashマウスオーバー
-
パラメーターの受け渡し
-
ムービークリップボタンの連動?
-
サイトはどのようにSEO対策しま...
-
VBAでホームページからコピーし...
-
flash 計算機について
-
Flashで恋愛ゲームを作りたいの...
-
スキャン後、追記したいのですが、
-
「XEON」って何て読むのですか?
-
PDF
-
jakartaというネーミングは一体...
-
文字列の置き換え処理について
-
photoshopで書いた四角の枠の中...
-
Flash着せ替え用アクションスク...
-
Flash Communication Serverか...
-
ランダムな動きのスピード制御...
-
ラベルでの移動でテキストの受...
-
テキストフォーマット・・・?
-
VBAユーザーホームテキストボッ...
-
指定の行のみ右よせのHTML
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
static関数がmapファイルに載ら...
-
【ExcelVBA】ファイル名をセル...
-
五芒星は、悪魔崇拝とどういう...
-
携帯のシンボルはありますか。
-
シンボル化解除の方法
-
何故、画像がくっついてるんで...
-
画像のシンボル化について
-
「より」の意味
-
YOASOBI
-
FLASHでバナーを作成するには・...
-
ActionScriptでプルダウンメニュー
-
合致するシンボル情報は見つか...
-
App store のマークってイルミ...
-
Visual C++ システムシンボルセ...
-
ムービークリップの基準点を途...
-
photoshopで書いた四角の枠の中...
-
テキストボックスの中身をリセ...
-
VBAで改行の入ったデータの正規...
-
全てのテキストボックスをセル...
-
VBAユーザーホームテキストボッ...
おすすめ情報