問題タブ [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.

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

python - Python: プログラミング 8051

Python を使用して 8051 をプログラミングできますか?

Python環境で8051をプログラムする方法がありません。

誰かが知っているなら、私を助けてください。

0 投票する
10 に答える
2816 参照

scala - 低レベルのScala以外に使用する第二言語は何ですか?

私はScalaに絶対に満足していて、それが大好きです:)

しかし、JVMを使用せず、「クールな」CPU(SSEなどの機能)を使用して、もう少し「低レベル」にしたい場合があります。

では、Scala以外に良い第二言語は何でしょうか?

そのはず:

  • マシンコードにコンパイル
  • Cライブラリの使いやすさ
  • ハードウェアに非常に近いプログラミングが可能
  • 私がしたいときに非常にハイレベルな方法でプログラムすることが可能

ですから、基本的には、インラインアセンブラを必要なときに投入できるScalaが必要です:)そのような言語は存在しないと思いますが、近い言語もあるかもしれません。

では、何が良い選択でしょうか?C ++?、D?、OCaml?

私はC++(15年前)で少しプログラムしましたが、OCamlではほとんどプログラムしませんでした。どちらの場合も、私はいくつかの問題を解決しただけで、言語自体に非常に「深く」入り込むことはありませんでした。

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

audio - 低レベルのオーディオプログラミング

私は疑問に思う; Cubase や Audacity などのオーディオ ソフトウェアは PlaySound 呼び出しを使用しますか??

低レベルのオーディオプログラミングについてどこで学ぶことができますか? Web で情報を見つけた限り、MCI は Windows で最も低いレベルのオーディオ API のようです...

ありがとう

編集: Windows のみに固有の情報は求めません。

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

c++ - デフォルトの C++ メモリ消費を減らす方法は?

C++ で記述されたサーバー アプリケーションがあります。起動後、x86 Linux (Ubuntu 8.04、GCC 4.2.4) で約 480 KB のメモリを使用します。480 KB は過剰な量のメモリだと思います。サーバーはまだ何も実行しておらず、クライアントもサーバーに接続していません。(480 KB が大量のメモリであると考える理由を説明している以下のコメントも参照してください。) 初期化中にサーバーが行う唯一のことは、1 つまたは 2 つのスレッドの生成、いくつかのソケットのセットアップ、およびその他の単純なことです。非常にメモリ集約的です。

VM サイズではなく、実際のメモリ使用量について話していることに注意してください。アイドル状態のラップトップでサーバーの 100 個のインスタンスを起動し、サーバー インスタンスを起動する前後のシステム メモリの使用量を「空き」で測定することで測定しました。私はすでにファイルシステムのキャッシュなどを考慮に入れています。

いくつかのテストの後、サーバー自体が何もしない場合でも、C++ ランタイムの何かが原因でサーバーがこれだけ多くのメモリを使用しているように見えます。たとえば、挿入すると

直後の

その場合、メモリ使用量はインスタンスあたり 410 KB のままです。

私のアプリケーションは Curl と Boost だけに依存しています。私は C プログラミングの経験がかなりあり、C ライブラリを使用するまでは、C ライブラリがメモリ消費を増加させる傾向がないことを知っています。

私が見つけた他のもの:

  • 単純な hello world C アプリは、約 50 KB のメモリを消費します。
  • Curl にリンクされているが Curl を使用していない単純な hello world C アプリも、約 50 KB のメモリを消費します。
  • シンプルな hello world C++ アプリ (Boost なし) は、約 100 KB のメモリを消費します。
  • 一部の Boost ヘッダーを含むが実際には Boost を使用しない単純な hello world C++ アプリは、約 100 KB のメモリを消費します。「nm」を使用して実行可能ファイルを検査すると、Boost シンボルが表示されません。

したがって、私の結論は次のとおりです。

  1. Gcc は未使用の Boost シンボルを破棄します。
  2. アプリが Boost を使用している場合、C++ ランタイムの何か (おそらく動的リンカー) が原因で大量のメモリが使用されます。しかし、何?これらが何であるかを知るにはどうすればよいですか? また、それらについて何ができるでしょうか?

数年前に C++ 動的リンカーの問題について KDE で議論されたことを覚えています。当時の Linux C++ 動的リンカーは、KDE ​​C++ アプリの起動時間を遅くし、大量のメモリを消費していました。私の知る限り、これらの問題は C++ ランタイムで修正されています。しかし、私が目にしている過度のメモリ消費の原因は、似たようなものでしょうか?

gcc/動的リンクの専門家からの回答は大歓迎です。

興味のある方のために、問題のサーバーは Phusion Passenger のロギング エージェントです: https://github.com/FooBarWidget/passenger/blob/master/ext/common/LoggingAgent/Main.cpp

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

c - 低レベルC-テキストをピクセルごとに表示

私は低レベルのアプリを書かなければならない小さなプロジェクトに取り組んでいます。そのアプリにテキストを表示したいのですが、アンチエイリアス(A la ClearType)にすることもできます。ライブラリは許可されていません。各文字をピクセルごとに描画する必要があります。

これを行うための最良の方法は何ですか?いくつかの既知のアルゴリズムをお勧めできますか?フォントをどのように保存/読み取る必要がありますか?

ありがとう!

0 投票する
5 に答える
3192 参照

c - ビットマップフォントをダウンスケーリングするためのアルゴリズム

これは、この質問のフォローアップです。

私はテキストを描画する必要がある低レベルのCアプリに取り組んでいます。使用したいフォント(白黒、各文字128x256など)を配列として保存することにしました。次に、アルゴリズムを使用して必要なサイズにダウンスケールします(グレースケールとして、粗雑なフォントを使用できます)。フォントスムージング)。

注:これはおもちゃのプロジェクトです。実行時に計算を行うかどうかなどは無視してください。

質問は、どのアルゴリズムですか?

調べました2xSaIが、かなり複雑です。説明を読んで自分でコードを作成できるものが欲しいです(私は初心者で、C / C ++で1年弱コーディングしています)。

提案、誰か?

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

編集:入力は白黒であり、出力は平滑化されたグレースケールであることに注意してください

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

c - TrueType から C 配列へ

私は低レベルの C アプリを作成しており、配列を使用してフォントを保存することを計画しています。

問題は、使用したいフォントが TrueType 形式であることです。どうすればいいですか:

  1. TTF を大きなサイズの B&W ビットマップ フォントに AA なしで変換します (厳密にはプログラミング関連ではありません)。

  2. B&W ビットマップ フォントを C バイト配列に解析します。

ビットマップにはどの形式を使用すればよいですか? 経験が1年強の初心者プログラマーである私が、上記の配列にそれを格納するパーサーを作成できるほど単純である必要があります。

外部ライブラリを使用したくないので、C Std を維持したいと考えています。リブ。使用は最小限に。これは大学のプロジェクト用で、すべて自分で書きたいと思っています。

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

c++ - ヒープは通常どのように実装されますか?

重複の可能性:
ヒープとスタックのメモリはどのように管理、実装、割り当てられていますか?

こんにちは、私の質問はヒープに関するもので、データ構造ではなく、動的メモリ割り当てに使用されるメモリ領域に関するものです。

C (またはおそらく C++) でプログラムを作成していて、そのコードの深さのどこかで malloc() の呼び出しが行われたとします (または、C++ の場合は演算子 new が呼び出されます)。割り当てられたメモリの場所はどこですか?コンパイラ (リンカ?) は、ヒープとして使用されるデータ セグメントを追加しますか? そのセグメントのサイズはどのように決定されますか? 「ヒープセグメント」全体よりも大きなメモリのチャンクを割り当てようとするとどうなりますか? ヒープは拡張されますか? はいの場合、どのように?

0 投票する
9 に答える
7452 参照

c++ - x<<1 と x<<10 のどちらが速いですか?

私は何も最適化したくありません、私は誓います、私は好奇心からこの質問をしたいだけです. ほとんどのハードウェアには、単一のコマンドであるビット シフトのアセンブリ コマンド (例: shl、 ) があることを知っています。shrしかし、シフトするビット数 (ナノ秒単位または CPU タクト単位) は重要ですか。つまり、次のいずれかがどの CPU でも高速ですか?

そして、この質問で私を嫌いにならないでください。:)

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

java - HtmlUnitでより低いレベルのプライバシーを設定するにはどうすればよいですか

廃棄には HtmlUnit ライブラリ (バージョン 2.8) を使用しましたが、応答ページでプライバシーのレベルを低く設定できました。HtmlUnit でより低いレベルのプライバシーを設定するにはどうすればよいですか?

ありがとう、スコット