DLLシンボルの16という数字は何_FooBar@16
を表していますか?
2 に答える
8
これは、_FooBarが16バイトのパラメーターを受け取る__stdcall関数であることを意味します。
x86での32ビットの呼び出し規約については、http://blogs.msdn.com/oldnewthing/archive/2004/01/08/48616.aspxで説明されています。
于 2009-05-27T00:25:48.797 に答える
5
これは一般的な名前マングリングであり、関数の呼び出し規約によって異なります。
関数に適用されるさまざまな呼び出し規約と名前マングリングは、引数の受け渡しと命名規則として文書化されています。適用された正確なマングリングを確認するには、個々のリンクをクリックする必要があります。
あなたの場合、__stdcall
次の命名規則を使用する規則があります。
名前の前にアンダースコア(_)が付いています。名前の後にアットマーク(@)が続き、その後に引数リストのバイト数(10進数)が続きます。したがって、int func(int a、double b)として宣言された関数は、次のように装飾されます。_func @ 12
于 2009-05-27T00:25:58.390 に答える