問題タブ [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.
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++ での適切なアプローチですか? 上記の割り当ての両側の型を等しくするには、文字列リテラルを使用する必要がありますか?
c++ - LCD に整数を表示する
LCD ディスプレイに整数を表示しようとしています。Lcd が機能する方法は、8 ビットの ASCII 文字を送信して文字を表示することです。
私がこれまでに持っているコードは次のとおりです。
そのため、LCDに表示しようとすると123456
、実際には が表示されますが-7616
、これは明らかに正しい整数ではありません。
int8_t
文字を signed に変換してからunsigned として出力するため、おそらく問題があることはわかっていuint8_t
ます。しかし、それらを無署名形式で出力する必要があります。int32_t
入力整数を ASCII 文字列に変換する方法がわかりませんuint8_t
。
c - 割り当ては、キャストなしでポインターから整数を作成します [-Wint-conversion
tmp
とkey
が同じタイプとサイズであることを知っているのに、なぜこのようなエラーが発生するのか、私には本当にわかりません。
これにより、次が生成されます。
警告: 代入は、キャストなしでポインターから整数を作成します [-Win-conversion
c - uint8_t 二重ポインターでのセグメンテーション違反
[1][0] の値に影響を与えるときにセグメンテーション違反が発生しました。私の malloc は正しいと思っていましたが、間違っている可能性があります..
c - C での uint8 と char の間の変換
EEPROM への書き込み操作を実装する API があります。その宣言は次のとおりです。
この関数を呼び出して、型srcBuff
として宣言された配列パラメーターを送信すると、うまく機能しますuint8
。
char
問題は、配列ポインターをそれに送信する必要があることです。私はそれchar
がすでに であると考えていましたが、の代わりにその関数に配列ポインタをuint8
送ると、コンパイラの警告が表示されます。の代わりに使用できないのはなぜですか? その関数を呼び出す 2 つの例を次に示します。char
uint8
char
uint8
2 番目の呼び出しの警告は次のとおりです。
passing char[10] to parameter of type 'uint8 *' converts between pointers to integer types with different sign.
char
とuint8
同じではありませんか?