問題タブ [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.
assembly - CPU は MUL/MULT のような命令をどのように実装しますか?
異なるアセンブリ言語では、MUL (x86)/MULT (mips) は乗算を参照します。プログラマにとってはブラックボックスです。アーキテクチャに関係なく、CPU が実際にどのように乗算を実行するかに興味があります。レジスタに 2 つの 16 ビット値があり、私が CPU であるとしましょう。そのため、他のビット操作命令 (および、または、xor、not、shl、shr など) を使用して MUL を実装する必要があります。何をすればよいでしょうか?
c++ - Windows システムにバッファリングされていない I/O はありますか?
Linux システムの「書き込み」に相当する、バッファーを持たない低レベルの C/C++ API を見つけたいと考えています。ありますか?
fread、fwrite などのバッファリングされた I/O は、私が望んでいたものではありません。
cocoa - ココアメモリー編集検査
Cocoaを使用して他のアプリケーションのメモリを編集するにはどうすればよいですか?ルートとして編集する必要があることは知っていますが、そもそもどうすればよいでしょうか。
c - なぜアセンブリでプログラムするのですか?
そこにいるすべての筋金入りの低レベルのハッカーに質問があります。私はブログでこの文に出くわしました。それは一般的な声明のように思われるので、私はソースが重要であるとは思いません(あなたが本当に気にかけているならそれはHaackです)。
たとえば、最近の多くの3Dゲームには、C++およびアセンブリで記述された高性能コアエンジンがあります。
アセンブリに関する限り、コンパイラが余分な命令を発行したり、過剰なバイトを使用したりすることを望まないため、またはCで表現できない(またはなしで表現できない)より優れたアルゴリズムを使用しているため、アセンブリで記述されたコードです。コンパイラはそれらを混乱させます)?
低レベルのものを理解することが重要だと完全に理解しています。あなたがそれを理解した後、私はアセンブリのなぜプログラムを理解したいだけです。
windows - ESEでの索引付け
Microsoftの「ExtensibleStorageEngine」は、 GiSTなどのカスタムアクセス方法を記述できるように、ストレージマネージャーへの十分なアクセスを公開していますか?
あるいは、ホイール全体を作り直すことなく、GiSTで遊ぶために拡張できるWindows用の基本的なログマネージャー/バッファープールマネージャープロジェクトはありますか?(アクセス方法は私が実験したい部分なので、それを再発明してもかまいません。)
programming-languages - C++ の代替言語?
趣味のプロジェクトに取り組んでいるとき、私は低レベル言語でプログラミングするのが本当に好きです (C と C++ が低レベルであるという意味で)。私は、ガベージ コレクションを使用するマネージ言語を使用したくありません。
通常、これらのタイプのプロジェクトには C++ を使用します。C++ はかなり複雑でエレガントではないため、これに代わる言語を探していました。誰でも私に提案を与えることができますか?
設定 (要件ではありません):
- 低レベルであるべきです (C や C++ のように)
- ネイティブコードにコンパイルします(上記のようなものですが、明示的であっても害はありません)
- できれば win32/win64 をターゲットにする
- オブジェクト指向
- 静的に型付けされた
Objective C を見てきましたが、好きではありません。
c - WH_MOUSE フックがグローバルでなくなったのはなぜですか?
マウス ジェスチャを監視する DLL で、このグローバル マウス フックを設定しています。
すべてが完全に機能しますが、WH_MOUSE_LL のフック セットは低レベルのフックであり、外部の注入可能な DLL にある必要はありません。
より適切なものに切り替えると、WH_MOUSEマウスフックに切り替えると、すべてが崩壊します。メイン アプリケーション (フックをインストールするアプリケーション) の外側をクリックすると、フックが破損します - ::UnhookWindowsHookEx が失敗します。
私はこの男が専門家の交換で言っているのを見つけただけです:
「少なくとも Windows XP + SVP2 では、WH_MOUSE はグローバルにはなりません。代わりに WH_MOUSE_LL を使用する必要があります。」
フックを正しくセットアップします。共有データ セクションを使用する DLL で、フック プロシージャからメッセージを投稿し、送信しません。
なぜこれが変わったのですか?そして、なぜ文書化されていないのですか?誰もこれに遭遇しましたか?ありがとう!
ところで: 私は人気のあるStrokeItアプリケーションを少しリバース エンジニアリングしました。このアプリケーションは、WH_GETMESSAGE フックと WH_MOUSE フックの組み合わせを使用し、XP/Vista でも動作します...
embedded - 低レベルのプログラマーが持つべきスキルセットは?
私は組み込みソフトウェア エンジニアで、経験は 3 年未満です。継続的に「鋸を研ぐ」ことを目指しています。C/C++ コーダーが熟達しなければならない、低レベルのプログラミングに固有のものがあるかどうか疑問に思っていました。
私の頭に浮かぶのは、ハードウェアのアーキテクチャと命令セットに精通していることです。ビットをいじる方法を知ることも重要です。リソース管理とパフォーマンスは私の仕事の一部です。他に何かありますか?
編集: 組み込み Linux ではなく、社内でカスタマイズされた RTOS を使用しています。