問題タブ [ansi-c]
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-preprocessor - cppで「終了文字がありません」という警告を抑制する方法は?
非 ANSI-C ファイルを前処理するために cpp (ANSI-C プリプロセッサ) を使用しようとしています。
これらのファイルには、PicoBlaze 構文のアセンブリ命令が含まれています。PicoBlaze は'd
、リテラルの基数に注釈を付けるために使用します。ファイルを cpp で前処理したいと思います。
私はいくつかを取得します:
警告。'
cpp で (またはすべての文字)の終了文字チェックを無効にするにはどうすればよいですか?
これが私のコマンドライン呼び出しです:
c - / または % 演算子のオペランドの 1 つまたは 2 つが負の数の場合、結果は実装定義になりますか?
例: これらの式の値は何ですか? それらはコンパイラに依存していますか?
c - pow(1,0) は 0 を返しますか?
なぜこれを行うのですか:
を返します0
か?私はそれが戻ってくると思っていました1
。
c - すべての構造体識別子は自動的に前方宣言されます
answer warning: assignment from incompatible pointer type for linklist arrayに答えている間、キーワードでパーシードされた宣言されていない識別子struct
は、前方宣言された識別子と見なされることに気付きました。
たとえば、以下のプログラムはうまくコンパイルされます。
私の質問:宣言されていないs を前方宣言された不完全な型としてC
扱うようにコンパイラを導くルールはどれですか?struct identifier
struct
c - ポストインクリメント演算子は即座に実行されることが保証されていますか?
次のコードがあるとします。
値を返した直後にインクリメントが発生していますか? 最初の引数が 0 になり、2 番目の引数が 1 になることが保証されていますか?
c - 関数名と構造体名の命名規則、および ANSI C 標準に従う
関数名と構造体名の命名規則、および ANSI C 標準に準拠した命名規則を知る必要があります。
最初の文字は小文字で始める必要があると読みました。名前付けにキャメルケースを使用できますか、それとも 2 つの区切りの間にアンダースコアを使用する必要がありますか。例: print_char または printChar 標準状態とは何かを知る必要がありますか?
c - 受け取った可変数の引数を別の関数に渡す
重複していると言う前に、私はすでにこれを読んでいます: How to pass variable number of arguments from one function to another?
私はこのような機能を持っています:
そして、私のものではないこのような別の関数は、サードパーティのライブラリから使用します。
ご覧のとおり、私がやりたいことは、この関数にミューテックスを追加してスレッドセーフにすることです。使用できることはわかっていますva_list
が、この場合、ライブラリ内にあるため、2 番目の関数のコードを変更することはできません。私は.hファイルしか持っていません。
それで、これを達成する方法はありますか?
c - ヘッダーからソースに typedef を渡す - C
次のmain.cファイルがあります。
そしてlista.h :
最後にlista.cは次のとおりです。
ヘッダー ファイルをインクルードした後でも、次の 3 つのエラーが表示されます: 不明な型名 'nod'
lista.h の typedef を lista.c で表示するにはどうすればよいですか?
ここで何が起こっているのかわかりません。