問題タブ [low-level]
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.
multithreading - LWARXおよびSTWCXと同等のx86
LWARXおよびSTWCX(PowerPCプロセッサにある)と同等のもの、またはx86プラットフォームに同様の機能を実装する方法を探しています。また、そのようなことを知るのに最適な場所はどこですか(つまり、ロック/待機なしのプログラミングのための優れた記事/ Webサイト/フォーラム)。
編集
CAS(コンペアアンドスワップ)操作を探しているだけであると想定されているため、詳細を説明する必要があると思います。私がやろうとしているのは、複数のスレッドからアクセスして変更できるスマートポインターを使用して、ロックフリーの参照カウントシステムを実装することです。基本的に、x86プロセッサに次の関数を実装する方法が必要です。
これを実現するには、LWARXとSTWCXをかなり正確に模倣するものが本当に必要です(これまでにx86で見つけたCompareExchange、スワップ、または追加関数を使用してこれを行う方法がわかりません)。
ありがとう
javascript - JavaScript が低水準言語と見なされることがあるのはなぜですか?
この質問に触発されました。
特に GWT や同様のツールキットのユーザーの間で、JavaScript を低水準言語と呼んでいる人をよく見かけます。
私の質問は:なぜですか?これらのツールキットのいずれかを使用すると、オブジェクトとしての関数、動的型付けなど、JavaScript をプログラミングするのに非常に優れた機能の一部を利用できなくなります。特に、jQuery や Prototype などの一般的なフレームワークの 1 つと組み合わせると、 .
標準ライブラリは Java API よりも小さいため、C++ の低レベルを呼び出すようなものです。私は C++ プログラマーではありませんが、すべての C++ プログラマーが独自の GUI およびネットワーク ライブラリを作成しているとは思えません。
operating-system - INT21hとは?
この質問に触発されて
GDB を強制的に逆アセンブルするにはどうすればよいですか?
INT 21hをコンセプトに考えてみました。さて、私は内部構造について非常にさびた知識を持っていますが、詳細はそれほど多くありません。C64では通常の割り込みとマスク不可能な割り込みがあったことを覚えていますが、私の知識はここで終わりです。手がかりを教えてください。それはDOS関連の戦略ですか?
bluetooth - Bluetooth UUID の検出
Bluetooth デバイスが範囲内の検出可能なデバイスのデバイス ID を取得する方法を知っている人はいますか?
私は理想的には、Bluetooth プロトコルの最小実装を含む最も単純なソリューションを探しています。
出発点としては良いでしょう。できればSDPなどではなく無線周波数を使用して、近くのBluetoothデバイスのすべてのデバイスIDを最小限の消費電力で保存できるデバイスを作成したいだけです。
これで私を助けることができない場合は、低レベルの bluetooth (ステップバイステップ) 通信の良い読み物を見つけるのを手伝ってくれませんか. オンラインでの読み取りは非常に高レベルであり、実際に何が送信されたのか、いつ送信されたのかわかりません。
memory - How to enable ARMv6 unaligned access on WinMobile6?
ARMv6 introduce a great feature - unaligned memory access, which make some things in code much more simplier and faster. But microsoft gives API for it only in winCE6. And most PDAs now based on WinMobile6 (which is on CE 5.x). And unaligned access is disabled by default :(
I've try to set unaligned flag in CP15 register, but this doesn't work - I have a crash on read unaligned data.
Is it possible to enable unaligned access on WinMobile6?
Edit: I've found the tool, which can enable unaligned access, but I want to on/off it from my code. It's nueAdvancedProcessor.
windows - Ruby とライブラリへのリンクに関する非常に低レベルの質問
私はたまたまサンドボックス化されたRuby環境で作業しており、それにライブラリを追加しようとしましたが、結果はまちまちです。ただし、Ruby がどのように機能するかについて、いくつかの興味深い疑問が生じました。Ruby がライブラリをリンクする方法と、起動時に何をロードするかを決定する方法を理解しようとしています。
私がするとき何が起こっているのですか
以前は .rb ファイルが必要でしたが、ライブラリでは動作が異なります。次のようなディレクトリを必要としているように見える場合、require はどのように機能しますか?
ロードするファイルをどのように認識し、その名前 'DL' がインタープリターにどのように登録されるのでしょうか?
追伸: 私が今作業しなければならない Ruby の公開部分は、「msvcrt-ruby18.dll」だけです。
c++ - C++ グループ / dynsym セクションをキャッチする GNU LD スクリプト
ELF32 リロケータブルを RDOFF2 形式に変換できるツールを維持しています。
このプロセスを機能させるには、現在以下に示す ld スクリプトを使用している入力ファイルを事前にリンクする必要があります。
目標は、入力ファイルを削減して、、、、、およびセクションのみを含むようにすること .text
です.data
。.bss
.strtab
.symtab
.shstrtab
現在のバージョンは C コードでは正常に動作しますが、C++ では機能しません。/g++
は、私の C++ シンボルのいくつかにちなんで名付けられたld
タイプのセクションを生成するようです。SHT_DYNSYM
私の質問:提供されたリンカースクリプトをどのように変更して、これらの浮遊シンボルをキャッチしますか?
これが私のソースの例です:
(興味深いセクションのみ)の出力objdump -h
:
と同じファイルreadelf -S
c++ - 符号なし整数のバイト/ワードにアクセスするためのC++クラス
この結合により、符号なし整数バイトまたはワード単位でアクセスできます。ただし、コードはかなり醜いように見えます。
このようなコードを書くことができる方法はありますか?
更新:
これは、実際には上記の例のように短くて美しいコードを書くことです。ユニオンソリューション自体は機能します。lowWordまたはlowByteにアクセスするたびに.wordsまたは.bytesを書き込みたくありません。
c - Cスタックの理解に役立ちます
C、特にStackの低レベルメモリマネージャを理解しようとしています。言われたように、関数が呼び出されると、リターンアドレスがスタックにプッシュされました。その後、ローカル変数が配置されます。
そこで、これを調査するための小さなプログラムを作成します。これが私のプログラムです:
基本的に、位置x4が配置される前後のすべてのメモリを調査します。これは、差出人住所の位置を十分にカバーしているはずです。
しかし、差出人住所に似たバイトがまったく見つからないようです。
これが私の結果です:
ここで何が欠けていますか?誰か説明してもらえますか?
とにかく私はUbuntu9.10を使用しています。
前もって感謝します。:-D
low-level - メモリ マップド デバイスは、RAM が読み取り操作に応答するのをどのように防止しますか?
特定のアドレス空間を使用するメモリ マップド デバイスがあるとします。CPU はデバイスから何かを読み取ろうとするため、そのアドレス空間で特定のワードを読み取ろうとします。本当に何が起こるのですか?メモリ コントローラが応答すると、RAM とデバイスの両方が同じ要求に応答しようとしているため、バス上で競合が発生します。