x86-64

    1

    2答えて

    私はhello worldを出力する簡単なアセンブリ言語プログラムを持っています。 glibcのprintfとexit関数を動的にリンクして使用します。 私は、リンカーのこのバージョンを使用する場合:その後、私はこのエラーを取得する ld -dynamic-linker /lib64/ld-linux.so.2 -o helloworld-lib helloworld-lib.o -lc 、私

    5

    1答えて

    私はMac OS X上にあり、x86_64およびi386アーキテクチャと互換性のある実行可能バイナリを持っています。 コマンドラインから、のいずれかのアーキテクチャを起動する必要があります。を選択してください。 どうすればよいですか?ありがとう。

    8

    2答えて

    hardware performance counter、特にx86 CPUを使用して、キャッシュミスやブランチ誤予測を取得したいと考えています。パフォーマンス・カウンターは、インテルVTuneなどの高度なプロファイラーで頻繁に使用されます。 Windowsオペレーティングシステムでパフォーマンスカウンタを混同しないでください。 C/C++プログラムでこれらのカウンタを使用するためには、PAPIを

    3

    1答えて

    スレッドローカル変数をインラインアセンブリで使用しようとしていますが、ジアアセンブリされたコードが表示されたときにコンパイラが正しいコードを生成しないようです。以下のインラインコードの場合は、saved_spがここで世界的にが__thread long saved_sp、 __asm__ __volatile__ ( "movq %rsp, saved_sp\n\t"); として宣言

    2

    1答えて

    Windows XP 32ビットでAccessデータベースエンジンライブラリを使用した実行ファイルをコンパイルしました。 Win7 x64 OSでこれを実行すると、OLEDBコンポーネントが登録されていないというエラーが表示されました。 私はAccessDatabaseEngine x64をインストールしようとしましたが、問題を修正しました。 しかし、Win7 x64とoffice 2007の32

    1

    1答えて

    私のasmプロジェクトからC関数を呼び出す際の作業。 私は整数値をc関数にプッシュしようとしています。 私のコード mov rdi, [input] push rdi ;push rdi into stack for c function to work with call dtoch pop rdi ;to keep stack balanced 「 私が間違っているレ

    1

    1答えて

    私は、次のコードを実行し、私は次の出力を得る int x[4096]; int *y; int *m; void main() { y = (int*)malloc(4096 * sizeof(int)); m = (int*)mmap(0, 4096 * sizeof(int), PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_

    4

    8答えて

    64ビットOSの場合は、実質的に無制限のアドレススペースがあります。だから私の質問は、そのようなシステムではメモリの問題を多く解決するのでしょうか?デマンドページングスキーム(メモリは、タッチされたときにのみ持ち込まれる)では、メモリを解放するのに比べて少しオーバーヘッドがありますが、メモリのようにいくつか余分なページスワップです長い時間触れないと、自動的に入れ替えられます。私はここに何かを逃して

    1

    4答えて

    シンプルで効率的な独自のメモリ割り当てコードを実装しようとしています。どこから始めることができるのかgccが使用するアルゴリズム

    2

    1答えて

    私はmainによって呼び出される関数を持っています。関数名がfunct1であるとします。 funct1はread_inputという別の関数を呼び出します。の質問だから、わずか数 push %rbp push %rbx sub $0x28, %rsp mov $rsp, %rsi callq 4014f0 read_input cmpl $0x0, (%rsp) jne (some te