タグ付けされた質問 「low-level」

システムの低レベルの側面に関する質問:基本的な詳細とハードウェアに近いプログラミング。

4
一部のプログラマーがC、Python、C ++を異なるカテゴリーに分類するのはなぜですか?-レベルについて
私はpythonの入門コースを受講しており、講師はpythonは高レベル言語であり、CおよびC ++は低レベル言語であると言っています。紛らわしいです。C、C ++、Python、Javaなどはすべて高レベル言語だと思いました。 私はC、C ++などのstackoverflowで質問を読んでいたが、それらはすべてそれらの言語を高レベルと呼んでいるようだ。一部のプログラマーはこれらの用語を同じ意味で使用しているようです。

8
リバースエンジニアリング:それは本当に何のためですか?[閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 7年前に閉鎖されました。 私はいくつかの無邪気な/初心者の質問があります: リバースエンジニアリングの利点は何ですか? プログラマーとして、リバースエンジニアリングの技術を学ぶ必要がありますか? 経験豊富なプログラマーにとってのメリットは何ですか?

7
アセンブリーよりもCを使用することの利点/欠点は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 現在、電気通信および電子工学の工学を勉強しており、マイクロプロセッサプログラミングでアセンブラからCに移行しました。これが良い考えだとは思わない。アセンブリと比較したCの長所と短所は何ですか? 私が見る利点/欠点は次のとおりです。 利点: C構文は、アセンブラー構文よりもはるかに簡単に学ぶことができます。 Cはより複雑なプログラムを作成するのに使いやすいです。 Cを学習することは、アセンブラーを学習することよりも生産性が高いため、アセンブラーよりもCの周辺に開発物が多くあります。 短所: アセンブラはCよりも低レベルのプログラミング言語であるため、ハードウェアへの直接プログラミングに適しています。 メモリ、割り込み、マイクロレジスタなどを操作することを示唆しているはるかに柔軟です。
15 c  low-level  assembly 

5
高レベルと低レベルのプログラミング。本当に選択する必要がありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 時々インタビューで、私は最高の低レベルまたは高レベルが好きです。暗黙のメッセージは、どちらも専門であり、彼らが私がどの方向に向かっているのかを知りたいということです。問題は、私は両方が好きなようです。低レベルは非常に困難であり、多くの場合、多くの難解な知識が必要です。高レベルは、すべてのセクシーなことが起こる場所です。人々が直接使用するアプリケーション、誰もがアクセスできる方法で簡単にデモンストレーション(披露)できる結果、そしてあなたは本当に高度なツールで作業し、新しいテクノロジーと対話することができます。 両者を交互に行うことを意味する場合でも、両方をやりたいと思います(両方を同時に行うことができる仕事があるとは思いません)が、業界はジェネラリストよりもスペシャリストに報酬を与えると思います どちらかを選択しないと、本当に問題のあるキャリアになりますか?どちらか一方の仕事を辞めた場合、もう一方の仕事をやろうとする「摩擦」を経験するべきではないという意味で、2つを交互にすることは実用的ですか?あるあなたが両方を行うために取得がキャリアの機会は? 本当にどちらかを選択する必要がありますか?

5
低レベルのプログラミングに現在使用されている言語はどれですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 ドライバー、組み込みシステム、オペレーティングシステムなどの低レベルプログラミングを聞いたとき、すぐにCとおそらくC ++について考えます。しかし、主にC。 しかし、この種のタスクに使用される他の言語は何ですか?今日、私は、使用されているものではありません。

4
すべてのCプログラマーが認識しなければならないセキュリティリスク/脆弱性は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 高度なプログラミング言語の十分にテストされ、実証されたAPIを使用するのではなく、ハードウェアに密接に接触することから生じる多くのセキュリティリスクがあります。Javaなどの言語よりもCでバッファオーバーフローを引き起こす方がはるかに簡単です。 すべてのCプログラマが知っておくべきリスクまたは脆弱性(バッファオーバーフローなど)とは何ですか(Cプログラマに関連するIEの脆弱性)。これらはどのような問題につながる可能性がありますか?それらを回避する方法、およびプログラムでこれらを発生させる一般的な間違いは何ですか?

4
生のバイトをファイルに書き込むことに危険はありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私は、プログラミングパールの問題、具体的には、最大で10,000,000個の整数を含むファイルをソートするプログラムの実装(列1、問題3)に取り組んでいます。本はデータをファイルに保存する方法を指定していないので、整数を未加工バイトとして保存することを検討しています(未加工バイトを適切なオプションにする他の制約があります)。これほど低いレベルで働いたことはないので、注意すべき危険があるかどうか知りたいです。たとえば、生のバイトをファイルに書き込むときに、何らかの種類のファイルの終わりのシーケンスを誤って使用することを心配する必要がありますか? 編集: 私は今、私の質問がどれほど広いかを理解しています。ディスク上の他のファイルを誤って上書きするなど、より壊滅的な種類の問題を意味していました。申し訳ありませんが、私は元々明確ではありませんでした。
12 low-level  byte 

4
低ポーズGCの背後にあるアルゴリズムは何ですか?
いくつかの言語は、javaの例のために、低休止GCを導入しました。 これらのGCは、全世界を一時停止することなく、ほとんどの作業を実行できます。これは明らかに非常に難しい問題です。スレッドが変更しているときにメモリを分析する必要があるため、プロセスの開始時に使用でき、終了時には使用できなくなったデータや、ゴミのように見えるデータ参照はメモリ内で移動され、GCが探している場所には表示されませんでした。 基本的に、その背後にあるアルゴリズムは何ですか? このトピックは本当に技術的であるため、研究論文または本当に技術的な記事のリンクは有効な回答と見なされます。

8
プログラマーとしてコンピューターアーキテクチャを学ぶ[非公開]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私は通常、SOや他の場所(インストラクター、本の著者など)で教導師に出くわし"This will cause alignment issues"ます。 私はこれらすべての情報を知りたい relevantプログラミング。今では通常、低レベルの本(たとえばコンピューターアーキテクチャの本)を見ると、低レベルであり、ソフトウェアデザインではなくコンピューターアーキテクチャが主な関心分野である人々を対象としています。 プログラマーに関連する低レベルのものを扱う本についての推奨事項はありますか?

4
LLVMの低レベルはどのようになっていますか?
LLVM(低レベル仮想マシン)はどのように低レベルですか?(執筆時点では、略語 "LLVM"のこの拡張は、そのWebサイトではなく、ウィキペディアで見つかりました。) (コンパイラインフラストラクチャ)向けに設計されたもので「低レベル」と呼ばれていますか、または他のツールよりも「低レベル」で動作するためですか? これの(一種の)「図」として、LLVMはJVMやCLRよりも低レベルですか、それとも「低レベル」の用途のみに設計されていますか?

7
Cからは、より高いレベルの言語では学べない原則は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 3年前に閉店しました。 Cはプログラミングの背後にある原則を学ぶのに適した言語だと思います。Rubyのような高レベルな言語から「魔法のように」なっている低レベルの言語で何を学べると思いますか?
11 c  low-level 

3
プロセスからメモリを読み取るにはどうすればよいですか?OSによって違いますか?
経験豊富なウェブ開発者であるが、初心者の「低レベル」プログラマーである私にとって、このようなことはまだ一種のブードゥー教です。 メモリブロックを見つけて、それを読み取ること(たとえば、鉱山のゲームでタイマーを読み取ること)を開始する方法に興味がありますか?これはOS / OSバージョンによって異なりますか?

3
コンパイラは通常、インストールされているプラ​​ットフォームの実行可能ファイルのみを生成するのはなぜですか?
私はC ++開発者であり、クロスプラットフォーム開発をよりよく理解するために、コンパイラーの実装の詳細と、コンパイラーがOS固有のバイナリーを正確に作成する方法をよりよく理解しようとしています。私の調査の最中に、少なくともしばらくの間、特定のプラットフォーム用にダウンロードしたほとんどのコンパイラーは、そのプラットフォーム用のバイナリーのみをコンパイルすることに気付きました。したがって、Windows用のコンパイラexeが付属しているIDEをダウンロードした場合、そのコンパイラはx86-x64 Windowsアプリケーション用のプログラムのみをコンパイルでき、LinuxまたはMacアプリケーションはコンパイルできません。 現在、プラットフォームごとに異なるバイナリ形式が必要であることを理解していますが、WindowsのビジュアルC ++コンパイラーがLinuxバイナリ実行可能ファイルを生成するのが難しいのはなぜですか?実行中のCPUのアセンブリ命令とOS固有のライブラリがある限り、任意のマシンの任意のプラットフォーム用の実行可能ファイルをコンパイルできませんか?

5
揮発性変数を宣言するとはどういう意味ですか?
多くの低レベルのプログラムは、しかし、私は一種のそれは何にとして困惑している、メモリマッピングなどのための種類の揮発性のキーワードを使用REALLYバックグラウンドで行います。つまり、コンパイラがメモリアドレスを「最適化しない」とはどういう意味ですか?
9 c++  c  low-level 

4
C ++でのスレッド間の高速メッセージパッシングのためのメモリ管理
2つのスレッドがあり、互いに非同期でデータメッセージを非同期に送信することによって通信するとします。各スレッドには、ある種のメッセージキューがあります。 私の質問は非常に低いレベルです。メモリを管理する最も効率的な方法として何が期待できますか?私はいくつかの解決策を考えることができます: 送信者はを介してオブジェクトを作成しますnew。受信者の呼び出しdelete。 メモリプーリング(メモリを送信者に転送するため) ガベージコレクション(Boehm GCなど) (オブジェクトが十分に小さい場合)ヒープ割り当てを完全に回避するために値でコピー 1)は最も明白なソリューションなので、プロトタイプに使用します。おそらくそれはすでに十分であるということです。しかし、私の特定の問題とは関係なく、パフォーマンスを最適化する場合、どの手法が最も有望かと思います。 特にスレッド間の情報の流れに関する追加の知識を使用できるので、プールは理論的には最高だと思います。でも、それが一番難しいのも怖いです。たくさんのチューニング... :-( ガベージコレクションは後で(ソリューション1の後)非常に簡単に追加できるはずであり、非常にうまく機能すると期待しています。したがって、1)が非効率的であることが判明した場合、それが最も実用的な解決策であると思います。 オブジェクトが小さくてシンプルな場合は、値によるコピーが最も高速な場合があります。ただし、サポートされるメッセージの実装に不必要な制限を強いることを恐れているので、避けたいと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.