問題タブ [uint8t]

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 に答える
2894 参照

c++ - 妥当なコンパイル時間で巨大な uint8_t 配列を静的に初期化する

巨大な (メガバイト) uint8_t 配列を静的に初期化したいと思います。

最初に私はこれを試しました:

constexpr uint8_t arr[HUGE_SIZE] = { 0, 255, ... };

残念ながら、上記のコンパイル時間は非常に長くなります (最適化なし - 約 30 秒、最適化あり - 1 時間以上)。

C スタイルの文字列初期化を使用すると、(最適化がオフの場合とオンの場合の両方で) コンパイル時間がごくわずかに短縮されることがわかりました。

constexpr uint8_t arr[HUGE_SIZE + 1] = "\x00\xFF\x...";

これは C++ での適切なアプローチですか? 上記の割り当ての両側の型を等しくするには、文字列リテラルを使用する必要がありますか?

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

c++ - LCD に整数を表示する

LCD ディスプレイに整数を表示しようとしています。Lcd が機能する方法は、8 ビットの ASCII 文字を送信して文字を表示することです。

私がこれまでに持っているコードは次のとおりです。

そのため、LCDに表示しようとすると123456、実際には が表示されますが-7616、これは明らかに正しい整数ではありません。

int8_t文字を signed に変換してからunsigned として出力するため、おそらく問題があることはわかっていuint8_tます。しかし、それらを無署名形式で出力する必要があります。int32_t入力整数を ASCII 文字列に変換する方法がわかりませんuint8_t

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

c - 割り当ては、キャストなしでポインターから整数を作成します [-Wint-conversion

tmpkeyが同じタイプとサイズであることを知っているのに、なぜこのようなエラーが発生するのか、私には本当にわかりません。

これにより、次が生成されます。

警告: 代入は、キャストなしでポインターから整数を作成します [-Win-conversion

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

c - uint8_t 二重ポインターでのセグメンテーション違反

[1][0] の値に影響を与えるときにセグメンテーション違反が発生しました。私の malloc は正しいと思っていましたが、間違っている可能性があります..

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

c - C での uint8 と char の間の変換

EEPROM への書き込み操作を実装する API があります。その宣言は次のとおりです。

この関数を呼び出して、型srcBuffとして宣言された配列パラメーターを送信すると、うまく機能しますuint8

char問題は、配列ポインターをそれに送信する必要があることです。私はそれcharがすでに であると考えていましたが、の代わりにその関数に配列ポインタをuint8送ると、コンパイラの警告が表示されます。の代わりに使用できないのはなぜですか? その関数を呼び出す 2 つの例を次に示します。charuint8charuint8

2 番目の呼び出しの警告は次のとおりです。

passing char[10] to parameter of type 'uint8 *' converts between pointers to integer types with different sign.

charuint8同じではありませんか?