問題タブ [c89]
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 - C qsort 関数を使用しようとする際の問題
結果は次のとおりです。
-9.000000 -3.000000 -2.000000 -1.000000 -1.100000 -0.050000 1.000000 2.000000 4.000000 5.000000 9.000000 10.000000 10000.000000
-1と-1.1の順番が入れ替わっているので間違っています。私の「比較」機能が原因で起こっていると思います。
どうすればこれを修正できますか?
ありがとう
objective-c - Objective C クラス内から C のメモリからデータを読み取る
ファイルの代わりに ANSI C コードを使用してメモリとの間でデータを読み書きできるかどうかを知りたいです。Objective C クラス内から何度も呼び出される C コードがあり、そのたびに、同じ大きなバイナリ ファイルを読み込んで処理し、大きなバイナリ ファイルを書き出す必要があります (それぞれ少しずつ異なります)。コードが呼び出される時間)
理想的には、Objective C からの大きなバイナリ入力ファイルを ANSI C コードに何らかの方法で渡し、ANSI C コードからの大きなバイナリ出力ファイルを Objective C に戻したいと考えています。
c - C での FIFO キューの実装
組み込みアプリケーションの場合、ANSI C を使用して構造体の先入れ先出し (FIFO) キューを実装しようとしています。これを行う最も簡単な方法は、リンクされたリストを実装して、各構造に含まれるようにすることです。キュー内の次へのポインター。したがって、構造体自体を次のように定義します。
ここまでは順調ですね。キュー内の最初と最後のアイテムへのポインターを次のように定義するとします。
...次に、(たとえば) 次のように指定して、キューに新しいアクションを追加できるようにしたいと考えています。
...したがって、戻ると、lastAction は、キュー内で新しく作成された最後のアクションへのポインターになります。したがって、アクションをキューに追加するルーチンは次のようになります。
このコードがコンパイルされないことを除けば、すべてうまくいきます。エラーは次の行にあります
...コンパイラは、「->」の左側の項目が有効な構造体ではないと主張しています。確かに、しかし、そうでなければなりません。実際、完全に冗長なキャストであるべきことを行う場合:
...その後、コンパイラは非常に満足しています。ただし、エラーメッセージが、ここで間違っている可能性がある微妙な何かを示唆しているのではないかと心配しています. ですから (要点を言えば)、なぜコンパイラが満足していないのか、そして私がここでやろうとしていることを行うためのより良い方法があるかどうか、誰か教えてもらえますか?
c - C89 の可変長配列?
C89 は可変長配列をサポートしていないことを読みましたが、次の実験はそれを反証しているようです。
そのようにコンパイルすると(ファイル名が であると仮定va_test.c
):
できます...
私は何が欠けていますか?:-)
gcc - 書き込み可能な静的データを検出する
私が取り組んでいるコードの一部が、定数データを使用できる/使用すべきである書き込み可能な静的データを誤って使用していることを発見しました。
「static」->「staticconst」のばかげた検索と置換を行う以外に、定数文字列データを明示的に書き込み可能にする方法のように、すべての「静的」データが書き込み可能になるのを防ぐ方法はありますか?
私はGCCツールチェーンを使用しています。開発ターゲットはx86です。
c - ANSICとISOCの間に違いはありますか?
CにはANSI規格とISO規格の両方があることを理解しています。これら2つの規格に違いはありますか?もしそうなら、彼らは何ですか?そして、違いがない場合、2つの基準を持つことのポイントは何ですか?
c - 別のプログラムでCプログラムを実行するにはどうすればよいですか
別のプログラムで ac プログラムを実行するにはどうすればよいですか。1 つの c コード (プログラム) があり、別のコードを呼び出したいとします。それに入力を送信したいので、別の予想される戻りデータを比較して、その戻りデータにスコアを付けます。
try.c
try2.c は別の FILE にあります。
コンパイラは gcc で、システムは linux です
c - int ポインターを char ptr にキャストする (およびその逆)
問題は簡単です。私が理解しているように、GCC は、32 ビット環境で char がバイト単位で整列され、int が 4 バイト単位で整列されることを維持しています。また、C99 標準 6.3.2.3 についても認識しています。これは、位置合わせされていないポインター型の間でキャストすると、未定義の操作が発生することを示しています。C の他の標準は、これについて何と言っていますか? ここには多くの経験豊富なコーダーもいます。
c - 学生が学ぶのに適したCのバージョンはどれですか-C89/90またはC99?
来月システムプログラミングを始める前に、Cの基本と構文を学ぶことを検討しています。読んでいると、C89/99規格に出くわしました。ウィキペディアによると、
C99は、インライン関数、いくつかの新しいデータ型(long long intおよび複合数を表す複合型を含む)、可変長配列、バリアディックマクロ(可変アリティのマクロ)のサポート、および1行のサポートを含むいくつかの新機能を導入しました。 BCPLまたはC++のように、//で始まるコメント。これらの多くは、すでにいくつかのCコンパイラの拡張機能として実装されていました。
C99は、ほとんどの場合C90と下位互換性がありますが、いくつかの点でより厳密です。特に、型指定子がない宣言では、intが暗黙的に想定されなくなりました。標準マクロ STDC_VERSIONは、C99サポートが利用可能であることを示すために値199901Lで定義されています。GCC、Sun Studio、およびその他のコンパイラは、C99の新機能の多くまたはすべてをサポートするようになりました。
K&R、2nd Editionのコピーを借りましたが、C89標準を使用しています。学生の場合、C89を使用すると、K&Rの対象となる一部の科目が無効になりますか?その場合、何に注意する必要がありますか?
c - ANSI - C スクリプトを使用して Web アプリケーションを作成することは可能ですか?
私は ANSI C を使用して Web アプリケーションを開発したいと考えています。そのため、アプリケーションを他のアプリケーションよりも十分に高速にする必要があり、また、通常のスクリプト php、python、または任意のスクリプト言語が提供するあらゆる種類の操作をサポートする必要があります。C ではなくデータベースで最速のアクセスを考えている場合でも、それ以上のものを推奨してください。
誰かがアイデアを持っている場合は、チュートリアルを共有して開始してください。