x86-64

    0

    4答えて

    私が現在扱っているアプリケーションでは、何十億という小さな関数を何度も呼び出すいくつかの力任せの数値アルゴリズムを使用しています。傾斜と静的多型を使った関数呼び出しをなくすことで、パフォーマンスをどれだけ向上させることができるのか、私は迷っていました。 次のような状況で非インラインおよび非組み込み関数を呼び出す機能を相対的に呼び出しのコストは何ですか: 1)関数呼び出し関数ポインタを経由して 2)

    2

    1答えて

    私はC/x86_64インラインアセンブリで関数を記述しようとしていますが、大したことはありません。 我々はこれにそれをすべてを煮詰めることができます。 void f(const unsigned char *a, unsigned char *b, const unsigned char *c) { asm __volatile__ ("movdqa %0, %%xmm0" : : "m

    6

    2答えて

    私はx86-64アセンブリを試しています。私は、関数の集合の先頭に次のように見つけて驚いたgcc -O0 -gで long myfunc(long a, long b, long c, long d, long e, long f, long g, long h) { long xx = a * b * c * d * e * f * g * h; long y

    3

    1答えて

    「0x48ff25」は、次のディスアサブルコードの意味を教えてください。 00000000`7745b0ac 48ff2525801000 jmp qword ptr [ntdll!NlsAnsiCodePage+0xe3e (00000000`775630d8)] ...

    3

    2答えて

    gdbのようにbacktraceのような出力を得たいです。しかし、私はこれを直接ptrace()経由でしたいと思います。私のプラットフォームはLinux、x86です。また、x86_64以降。 ここでは、シンボル名に変換せずに、スタックから返されたアドレスだけを読みたいと思っています。 ので、テストプログラムのために、gcc-4.5によって-O0モードでコンパイル: int g() { k

    9

    1答えて

    x86-64にはRIP相対アドレスがあり、PICコードの書き替えが容易になり、必要な再配置がずっと少なくて済みます。 x86-64上で再配置が必要なのはなぜですか?どのような機能のために?私はobjdumpで探索しようとすることができますが、どのC/C++コードパターンをコンパイルするか?

    19

    4答えて

    私は学校のプロジェクトの古いコードを見ていて、ノートパソコンでコンパイルしようとするといくつか問題が発生しました。もともとgccの古い32ビット版用に書かれたものです。とにかく、アセンブリのいくつかを64ビット互換のコードに変換しようとしていて、いくつかの問題が発生しました。ここで は元のコードです: pusha pushl %ds pushl %es pushl %fs pushl %g

    1

    2答えて

    私はコンピュータセキュリティの基礎を学んでおり、私が書いたシェルコードを実行しようとしています。私は私の一時停止プログラムが動作するようになったので、ここで http://dl.packetstormsecurity.net/papers/shellcode/own-shellcode.pdf http://webcache.googleusercontent.com/search?q=cache

    1

    3答えて

    g ++を使用してRInsideサンプルファイルをコンパイルしようとするとシンボルが見つかりませんというリンカーエラーが発生します。いかなる援助も感謝します。 Rバージョン2.13.1がMac OS X 10.5にインストールされています。 RcppとRInsideインクルードファイルは、usr/includeディレクトリにコピーされています。示されるようにRヘッダとライブラリは++ Gの-Iおよ

    5

    2答えて

    x86命令セットでは、インデックス1のビットは、デスティネーションオペランドとソースオペランドの内容を指定する方向ビットまたは符号拡張ビットとすることができます。私は、これらのケースのどれを判断するのが最も簡単で論理的な方法であるか疑問に思っています。命令のオペコードをチェックして比較する方法がありますか(命令の符号拡張または方向ビットの変種の場合)かどうかを調べる方法はありますか?このビットを無