問題タブ [c99]
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 - Visual Studio による C99 複雑なサポート
C99 で定義されている複素数を使用したいのですが、それをサポートしていないコンパイラをサポートする必要があります (MS コンパイラが思い浮かびます)。
多くの関数は必要ありません。必要な関数をサポートなしでコンパイラに実装することはそれほど難しくありません。しかし、「型」自体を実装するのに苦労しています。理想的には、次のようなことをしたいと思います:
しかし、コンパイラが「float complex」を認識できない場合、これを行う方法がわかりません。実際には不可能だと思いますが、Dinkumwareの C ライブラリは別の方法を示しているようです。解決策は何ですか?型の操作に関数/マクロを使用してもかまいませんが、複素数に値を代入し、C99 と互換性のある方法で実数/虚数部分を取得する方法が必要です。
解決
私は最終的に次のようなことをしました:
型定義については、次のように複雑な関数のセットを定義します。
これは少し複雑ですが、これにより、利用可能な場合は C lib 関数を簡単に再利用でき、コード ジェネレーターを使用して部分的に自動化できます。
c++ - どこですかVisual Studio 2005 で?
Visual Studio プロジェクトで C99 ヘッダー ファイル inttypes.h を使用したいと考えています (64 ビットの数値を出力したいと考えています)。
ただし、このファイルは私のインストールには存在しないようです。
これはVS2005の一部ではありませんか? 代替手段はありますか?
c++ - 変数のドット?VC9は、beecryptを構築するときに解析エラーを出します
VS2008でbeecryptライブラリをコンパイルしたい。ただし、以下の構造のいくつかは構文エラーを生成します(C2059構文エラー:'。'):
VC++は最初のドットを受け入れません。上記にコメントすると、後でリンクエラーが発生します(LNK2001未解決のシンボル_md5)-したがって、コメントを外す必要があると思います。
この構造は何ですか?何のためにそれが必要ですか?VS2008にコンパイルするように指示するにはどうすればよいですか?
c - C (C++ ではない) でオブジェクトを構築するために人々はどのような手法/戦略を使用していますか?
Python などのインタープリター言語のコアを形成するオブジェクトの実装とは対照的に、C 内から使用されることを意図したオブジェクトに特に興味があります。
c - 0で埋められたポインターを表示するためのprintfの適切な使用法は何ですか
C では、printf を使用してポインターを表示したいのですが、ポインターが適切に整列するように、ポインターを 0 で埋めたいと考えています。
私の推測では、これを行う適切な方法は次のとおりでした。
これは機能しますが、この gcc には次のメッセージが表示されます。
私はそれについて少しグーグルで調べました.次のスレッドは同じトピックに関するものですが、実際には解決策を提供していません.
http://gcc.gnu.org/ml/gcc-bugs/2003-05/msg00484.html
それを読むと、gcc が文句を言うのは、私が提案した構文が C99 で定義されていないことが原因のようです。しかし、標準的に承認された方法で同じことを行う他の方法を見つけることができないようです。
だからここに二重の質問があります:
- この動作は C99 標準で定義されていないという私の理解は正しいですか?
- もしそうなら、これを行うための標準的に承認されたポータブルな方法はありますか?
c - -std=c99 を使用してコンパイルするように Eclipse を構成するにはどうすればよいですか?
質問はタイトルにあります。Windows Vista で GCC バージョン 3.4.5 を使用し、Eclipse C/C++ IDE の最近のバージョンを使用します (どのバージョンが IDE 全体のバージョンであるかを把握するのは難しいため、正確にはどのバージョンかはわかりませんが、2 週間前にダウンロードしたので、それほど古いものではありません)。
c - C99 が関数のオーバーロードをサポートしていない理由はありますか?
どうやら (少なくとも によるとgcc -std=c99
) C99 は関数のオーバーロードをサポートしていません。C でいくつかの新機能をサポートしない理由は通常、下位互換性のためですが、この場合、関数のオーバーロードによって下位互換性が損なわれるケースは 1 つも思いつきません。この基本機能を含めない理由は何ですか?
c - ステート マシンのチュートリアル
ステート マシンを開発するためのインターネット上の優れたチュートリアルを誰かが知っているかどうか疑問に思っています。それとも電子ブック?
私はステートマシンの作業を始めていますが、始めるには一般的なものが必要です。