問題タブ [segment]

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.

0 投票する
4 に答える
163 参照

c++ - May a compiler ever generate code to unload parts of the code segment during execution?

Apart from Dll concept that provides ability of loading/unloading methods or functions at run-time, I'm wondering if a compiler may ever say something like, ok as this particular part of the code takes considerable amount of space in code segment and is never gonna be used again after this point during program execution, it'd be good to generate some code to unload that part of code segment after reaching that particular point during program execution so that overall space took by code segment gets smaller. Is it something just fictional or may that happen?

0 投票する
1 に答える
1075 参照

c# - TCP セグメントからメッセージを作成する方法

C# で作業しているため、SharpPCap を使用して winpcap トレースからセグメントを取得しています。

そのトレースで送受信されたすべてのメッセージを再構築する必要があります。

私の状況では、クライアントとサーバーの IP が同じになることはありません。クライアントのポートは必ずしも変更されません。

メッセージで使用されるプロトコルは、HTTP か、私が知らないカスタムのものである可能性があります。

それが私が現在行っている方法です:

私のソリューションの問題は、クライアントが 2 つの要求を続けて送信する場合です。2 つのメッセージを 1 つにマージするだけです。私が変われば

次に、メッセージが複数の tcp セグメントに分割され、フラグ psh がそれらの tcp セグメントの少なくとも 2 つに設定されている場合に問題が発生します。

セグメントを正しくマージして元のメッセージを再構築する方法が必要です。TCP で使用されるプロトコルに依存できません。

ありがとうございました!

編集: wiresharkでは、tcpストリームをたどると、必ずしもtcp経由のプロトコルを認識しているわけではありませんが、各リクエストとレスポンスを異なる色で表示できます。どうやってそれができるのですか?私の状況では、ストリームで応答が受信される前に 2 番目の要求がないため、同じ機能を探しています。ありがとう

0 投票する
2 に答える
763 参照

url - Codeigniter:URIセグメントに従ってループ内の異なるビューをロードする

モデルからロードする建物のリストがあります。それらの建物は、私のビュー内でループ状に表示されます。

コントローラ

意見

各ビルドには、「情報」、「価格」、「色」など、いくつかの「アクション」があります。デフォルトの状態は「情報」を示しています。

特定の建物に対して特定のアクションをロードできるようにしたい。

たとえば、私は工場とドラッグストアを持っていますが、デフォルトでは両方とも「情報」タブを表示します。ドラッグストアの[価格]タブをクリックした場合、工場の[情報]タブとドラッグストアの[価格]タブを表示するにはどうすればよいですか?

私のURLは次のようになります:

デフォルトのもの

サイト/建物

ドラッグストアの価格を表示

サイト/建物/価格/ドラッグストア

多分私は部分的なビューの解決策を探す必要がありますが、私は本当にアドバイスや解決策が必要です;)

よろしくお願いします(英語が下手でしたこともお詫びします)

0 投票する
0 に答える
205 参照

path - DirectX で A 点から B 点にオブジェクトをドラッグする際のフラストレーションを軽減する方法

Windowsでスクロールバーが行うように、オブジェクトをポイントAからBにドラッグする必要があります。ここでの問題は、AとBにはXもYも同じではないため、移動は同時に水平と垂直になります。 - 対角線。

フレーム内のカーソル位置に基づいて、ドラッグするオブジェクトの位置を更新する単純なアルゴリズムを思いつきました。しかし、そのためには、cursorX=objectX を作成して、objectY を計算するか、その逆にする必要があります。これにより、水平方向の移動または垂直方向の移動で、それぞれ「ストレスが少なく」なります。したがって、対角線が水平線に近い場合は、cursorY=objectY よりも、cursorX=objectX の部分の方が適しています。 1。ここでの問題は、両方のタイプの対角線に一般的なアルゴリズムを使用する必要があることです。これは、スター ポリゴンがあり、オブジェクトが任意のコーナーから任意のコーナーに移動できる必要があるためです。

これが私が書いたコードですが、見た目が正しく、ユーザーのイライラが少ないため、「正しく」動いているようには見えません。私が最後にしたことは、垂直移動と水平移動の両方の方法を使用し、2 で除算したため、誰もが満足していますが、うまくいきませんでした。

0 投票する
2 に答える
1406 参照

c - C Linux メモリからのワードの読み取り/書き込み (セグメント、オフセット)

ハードウェア割り当て用の Linux ブーターのプログラミングに取り組んでおり、メモリとの間で単語を読み書きする関数を作成する必要があることを知っています。私が正しい軌道に乗っているかどうかを判断するのに苦労しています。これらの機能をテストしたいのですが、すべてをまとめる前にコア機能の構築に取り組む必要があるため、現時点では不可能です。get_byte(segment,offset)/put_byte(char,segment,offset) が与えられ、アセンブリからコード化され、C にエクスポートされた教師によって動作することが確認されました。

上記が正しいかどうかはわかりません。ハイとローを組み合わせる必要があることはわかっています。追加しても問題ありませんか、それとも単にローとハイを実行してその結果を返す必要がありますか? 私が完全にベースから外れている場合は、お知らせください。オフセットが unsigned short であることは正しいですか、それとも int であるべきですか?

上記のコードが正しいことに近いかどうかはわかりませんが、私の最善の推測です。

解決策を知っている人、またはヒントを持っている人はいますか? これらの関数は非常に基本的なものである必要がありますが、行き詰まっており、割り当ての実際の部分に取りかかる必要があります。

更新 (12:46): put_byte() を修正しました。以下に示すように、2 つの引数のみを受け入れるのは意味がありません。これを修正しました。私の間違いをお詫び申し上げます。

0 投票する
2 に答える
262 参照

c - 読み取りシステムコールの動作を理解できませんでした

だからこれは私が実行しようとしているコードです:

これは私がターミナルで得た出力です

質問1:読み取り呼び出しでアドレス2000を入力すると、read(STDIN_FILENO,(int*)2000,3); アドレスはどこにありますか。これは私がアクセスしようとしているRAMの絶対アドレスだと思います。私は正しいですか、それともオフセットされてスタックセグメントベースアドレスに追加されますか。私は知らない。プログラムは私SEGFAULTにメモリ違反を与えていませんむしろ私に与えますBad address

質問2:さて、入力をasとして指定すると、コードがクラッシュしlls、bashがその「lls」の「ls」部分を実行します。その理由は、最初の「l」を読み取った後にコードがクラッシュし、残りの「ls」の部分がbashによって実行されるためです。しかし、なぜbashが左側の「ls」部分を実行しているのか。コードがクラッシュし、bashがその親プロセスであったとしても、作成したコードによって開かれたファイル記述子(STDIN_FILNO)から読み取るべきではないため、bashがそうするのはなぜですか。( そう思います)...

御時間ありがとうございます。

0 投票する
6 に答える
915 参照

c - 関数パラメーターとしてポインターを使用する場合のセグメントプレフィックス

アセンブラ/cの質問があります。セグメントプレフィックスについて読んだばかりです。たとえば、ds:varXなどです。プレフィックスは、論理アドレスの計算に重要です。私も読みましたが、そのデフォルトは「ds」であり、ebpレジスタを使用してアドレスを計算するとすぐに「ss」が使用されます。コードの場合、「cs」がデフォルトです。それはすべて理にかなっています。今、私はcに次のものを持っています:

ここでtest-functionの実装について考えると、スタック上のxへのポインターを取得します。ポインターを逆参照する場合は、最初にスタックからポインター値(xのアドレス)を取得し、たとえばeaxに保存します。次に、eaxを逆参照して、xの値を変更できます。しかし、c-compilerは、指定されたポインター(アドレス)がスタック上のメモリを参照しているかどうか(たとえば、別の関数からtestを呼び出し、テストのパラメーターとしてローカル変数のアドレスをプッシュした場合)またはデータセグメントをどのように認識しますか?完全な論理アドレスはどのように計算されますか?関数は、指定されたアドレスオフセットがどのセグメントに関連しているかを知ることができません。

0 投票する
3 に答える
528 参照

x86 - セグメントオフセット方式は、すべてのx86チップに共通ですか、それとも8086だけですか?

メモリは、8086のアセンブリ言語プログラミングで論理アドレスを使用して参照されます。この機能は、最新のPentiumマイクロプロセッサを含むすべてのx86チップに共通ですか?

0 投票する
1 に答える
31421 参照

assembly - アセンブリ: データ セグメント レジスタ (DS) の使用

現在、趣味で x86 アセンブリを学んでいる最中です。マイクロコントローラーのプログラミングが大好きなので、アセンブリに精通しています。

現在、私はこの質問への答えを高低で検索してきましたが、それを見つけることができないようです.DSレジスタは、私のプログラムのグローバルデータを指しているはずですが、私は知りません.それがどのように機能するかを正確に知っています。私は NASM を使用しています。ほとんどの単純なプログラムでは、次のように表示されます。

これは (太字のコードを省略しても) 完全に機能しますが、どうすればよいでしょうか? CPU は 0x0000 から始まるグローバル変数を自動的にロードしますか? それとも、私が見逃している本質的なものがありますか?

0 投票する
1 に答える
898 参照

stack - プロセスに割り当てることができるスタックセグメントの最大サイズはどれくらいですか?

出力

コードがクラッシュする直前に、割り当てられたメモリの合計はでした9520k。実行するたびに、さまざまな値が取得されます。これらはすべて、9000k - 10000k Linuxのプロセスに割り当てることができるスタックセグメントの最大サイズを知りたいのです。

私が気づいたもう一つのことは

したがって、スタックセグメントの仮想アドレスが変更されるたびに。新しいメモリが割り当てられ、古いメモリのコンテンツが新しいメモリの場所にコピーアンドペーストされるたびにそうですか。