問題タブ [stdint]

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

c - Cでptrdiff_tはどこで定義されていますか?

Cのどこでptrdiff_t定義されていますか?

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

c - stdint.h の存在をチェックするコンパイル時

uint8_t, uint16_tタイプを定義する従来の埋め込み C コードと、キーワード uint32_tを使用してヘッダー ファイルで作業しています。typedef

typedefs.h議論のために、ファイルにこれらの定義が含まれているとしましょう。

私の新しい C ソース モジュールには、stdint.h. typedefs.hまた、階層内のどこかに含まれる他のヘッダー ファイルも含めます。予想どおり、コンパイラは複数の定義されたシンボルについて不平を言います。

タイプが定義されていない場合は、どちらかが含まれていないか、より良い場合にのみタイプtypedefs.hを宣言するように、レガシーファイルを変更したいと思います。uint*_tstdint.huint*_t

私の理解では、プリプロセッサ ディレクティブではない#ifndefため使用できません。typedef

uint*_tでは、それらが既に存在する場合 (またはstdint.h既に含まれている場合)を定義しないようにコンパイラに指示するにはどうすればよいでしょうか?

注: C 仕様で定義された標準にヘッダー ファイルのガード定義が含まれている場合、これは簡単です。

FWIW、私は ARM9 プロセッサに Green Hills コンパイラ 4.24 を使用しています。

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

c - 一般的なアーキテクチャの最速の整数型

stdint.hヘッダーには、タイプに対応するためのint_fastest_tとがありません。整数型の幅が重要ではない場合、パフォーマンスへのペナルティを最小限に抑えて最大量のビットを処理できる整数型をどのように選択しますか?たとえば、単純なアプローチを使用してバッファ内の最初のセットビットを検索している場合、次のようなループが考えられます。uint_fastest_t{,u}int_fastX_t

当然、を使用charすると、よりも多くの操作が発生しintます。ただし、32ビットシステムなどlong longで使用するオーバーヘッドよりもコストのかかる操作になる可能性があります。int

私の現在の仮定は主流のアーキテクチャであり、の使用がlong最も安全な方法です。32ビットシステムでは32ビット、64ビットシステムでは64ビットです。

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

ruby-on-rails - RailsにRMagick-gemをインストールする際の問題

私はRMagickをインストールしようと一日中チュートリアルを調べていて、かなり遠くまで進んでいると思いますが、解決方法が本当にわからない、または有用な情報が得られないというエラーに遭遇しました。

gemをインストールしようとすると、次のメッセージが表示されます。


太字の部分が重要な部分だと思います。調査を行ったところ、stdint.hはある種のヘッダーであることがわかりましたが、インストール方法がわかりません。

また、mkmf.logファイルをチェックインしたところ、この読みやすい情報が得られました。

Rubyバージョンのチェック>=1.8.5...--------------------はい


誰かアイデアはありますか?

助けてくれてありがとう!

よろしく、エミル

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

c - typedef 整数、特に 64 ビットを使用した Printf

次のコードを検討してください。

これは x86 で問題なく動作します。x64 では、int64_t は実際にはlongではなく であり、long longx64ではlonglong longが同じサイズである場合、コンパイラはエラーを生成します。

src/cpfs/bitmap.c:14: 警告: フォーマット '%lld' はタイプ 'long long int' を想定していますが、引数 6 のタイプは 'Blkno' です</p>

  1. printf64 ビット型を渡していることをどのように確認できますか?
  2. #define上記のようなものを使用するよりも、ユーザータイプの仕様を標準化するためのより良い方法はありBLKNO_FMTますか?
0 投票する
1 に答える
10357 参照

visual-studio - Visual Studio 2010 の stdlib.h / stdint.h はどこにありますか?

少しグーグルで調べたところ、stdint.h古いバージョンの Visual Studio には同梱されていませんが、Visual Studio 2010 には含まれているはずだと聞きました。

ただし、それを使用するはずのこのプロジェクトがありますが、どちらも見つからないと言われていstdlib.hますstdint.h

それはなぜですか、どうすればこれを修正できますか?


x86 Windows 7 マシンで .NET 4.0 を使用して Visual Studio 2010 を実行しています。

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

c - uint32_tおよびその他のstdintタイプのatoiまたはstrtoulに相当するものは何ですか?

文字列をstdint.h整数に変換する標準関数を探しています。

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

c - なぜこれがオーバーフローを引き起こすのですか?

C99(stdint.h)で定義されているuint64_tは8バイト(= 64ビット)の長さであると定義されているため、最大値は2 ^ 64-1になります。ただし、次のコードスニペットを試してみると、 uint64_tは、2 ^ 64-1に近くないにもかかわらず、オーバーフローします。

助けていただければ幸いです。

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

c - INT_FAST16_MAX は MSVC 2010 の型サイズを反映していませんか?

C99 はint_fast16_t整数型は通常、指定された幅以上で最も高速である」と定義し、Microsoft は MSVC 2010 でそれを 32 ビット整数として定義しています。

それでも、Microsoft は、実際の基になるデータ型を反映しないように制限を設定しました。

標準の意図は次のようになると想定されます。

そうでなければ、これは定数を完全に冗長にしますか?

編集:期待どおりの NetBSD 設定の例:

http://fxr.watson.org/fxr/source/arm/include/_stdint.h?im=3

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

xcode - #include ヘッダー ファイルに関する名前空間の質問

Windows マシンから Mac にコードを移植しています。Xcode 3.2.5 で OS X 10.6 を使用しています

次のコードを含む api.h というヘッダー ファイルがあります。

ocip.h に
は、次の typedef を持つ#include stdint.h が含まれています。

api.h に戻ると、次のようなクラスがあります。

ocip::uint32_t m_nMode;

コンパイラは、名前空間 'ocip' の uint32_t が型に名前を付けていないことを教えてくれます。

私が間違っていることはありますか?