タグ付けされた質問 「c」

Cは、システムプログラミング(OSおよび組み込み)、ライブラリ、ゲーム、クロスプラットフォームに使用される汎用プログラミング言語です。このタグは、ISO 9899標準で定義されているC言語に関する一般的な質問で使用する必要があります(特に指定のない限り、最新バージョン9899:2018。バージョン固有のリクエストには、c89、c99、c11などのタグも付けます)。CはC ++とは異なり、合理的な理由がない限り、C ++タグと組み合わせるべきではありません。

21
アサート悪ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Go言語の作成者は書きます: Goはアサーションを提供しません。それらは間違いなく便利ですが、私たちの経験では、プログラマーはそれらを松葉杖として使用して、適切なエラー処理やレポートについて考えることを避けてきました。適切なエラー処理とは、サーバーがクラッシュするのではなく、致命的ではないエラーの後も動作を継続することを意味します。適切なエラー報告とは、エラーが直接的かつ適切なものであることを意味し、プログラマーが大きなクラッシュトレースを解釈するのを防ぎます。正確なエラーは、エラーを見ているプログラマがコードに精通していない場合に特に重要です。 これについてどう思いますか?
199 c++  c  error-handling  go  assert 



7
再入可能関数とは正確には何ですか?
ほとんど の 時間は、再入の定義はから引用されウィキペディア: コンピュータプログラムまたはルーチンは、以前の呼び出しが完了する前に安全に再度呼び出すことができる(つまり、同時に安全に実行できる)場合、再入可能 と呼ばれます。再入可能であるためには、コンピュータプログラムまたはルーチン: 静的(またはグローバル)非定数データを保持してはなりません。 静的(またはグローバル)非定数データにアドレスを返してはなりません。 呼び出し元から提供されたデータのみを処理する必要があります。 シングルトンリソースへのロックに依存してはなりません。 独自のコードを変更してはなりません(独自のスレッドストレージで実行する場合を除く) 非再入可能コンピュータプログラムまたはルーチンを呼び出さないでください。 安全にどのように定義されていますか? プログラムを安全に並行して実行できる場合、それは常に再入可能であることを意味しますか? 再入可能機能についてコードをチェックする際に留意する必要がある、言及された6つのポイント間の一般的なスレッドは正確に何ですか? また、 すべての再帰関数は再入可能ですか? すべてのスレッドセーフ関数は再入可能ですか? すべての再帰的でスレッドセーフな関数は再入可能ですか? この質問を書いていると、1つのことが頭に浮かびます。再入可能性やスレッドセーフティなどの用語は絶対的なものですか。具体的な定義が固定されているのでしょうか。そうでない場合、この質問はあまり意味がありません。


8
returnステートメントとmain()のexit()
私はステートメントを使用する必要がありますexit()か?個人的には、他の関数を読み取るようなものであり、コードを読んでいるときのフロー制御は(私の意見では)スムーズであると思うので、ステートメントを好みます。また、関数をリファクタリングしたい場合でも、を選択する方が良いと思います。returnmain()returnmain()returnexit() ないexit()何も特別なんreturnではないんか?
197 c++  c  coding-style  return  exit 

5
可変個のマクロの作成方法(引数の変数の数)
特定の数ではなく、任意の数のパラメーターを受け入れるマクロをCで記述したい 例: #define macro( X ) something_complicated( whatever( X ) ) どこX任意の数のパラメータであります whateverオーバーロードされており、2つまたは4つのパラメーターで呼び出すことができるため、これが必要です。 マクロを2回定義しようとしましたが、2番目の定義が最初の定義を上書きしました。 私が使用しているコンパイラはg ++(より具体的には、mingw)です。

2
Cでの&&&操作とは
#include <stdio.h> volatile int i; int main() { int c; for (i = 0; i < 3; i++) { c = i &&& i; printf("%d\n", c); } return 0; } 上記を使用してコンパイルされたプログラムの出力は次のとおりgccです。 0 1 1 と-Wallや-Waddressオプション、gcc警告を発行します。 warning: the address of ‘i’ will always evaluate as ‘true’ [-Waddress] c上記のプログラムでどのように評価されていますか?


16
プリプロセッサディレクティブでOSを確認するにはどうすればよいですか?
コードがコンパイルされるオペレーティングシステムに基づいて、さまざまなことを行うためにコードが必要です。私はこのようなものを探しています: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif これを行う方法はありますか?同じことをするより良い方法はありますか?

30
整数が偶数か奇数かを確認するにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 2年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 Cで特定の数値が偶数か奇数かを確認するにはどうすればよいですか?
193 c  integer 

27
Cステートマシン設計[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3か月前に閉鎖。 この質問を改善する CとC ++が混在する小さなプロジェクトを作成しています。私は、ワーカースレッドの1つの中心に、小さな風のステートマシンを1つ構築しています。 SOの達人があなたのステートマシン設計テクニックを共有するかどうか疑問に思っていました。 注:私は主に、試行錯誤した実装技術の後にいます。 更新: SOで収集されたすべての優れた入力に基づいて、私はこのアーキテクチャで解決しました:

8
SSH経由でEclipseを使用してリモートプロジェクトで作業する
私は次の箱を持っています: Eclipse CDTを備えたWindowsボックス Linuxボックス。SSH経由でのみアクセスできます。 プロジェクトのビルドと実行に必要なコンパイラーとハードウェアの両方がマシンBのみにあります。 私はEclipse CDTを使用して、そのプロジェクトのWindowsボックスから「透過的に」作業し、IDE内からリモートでプロジェクトをビルド、実行、デバッグできるようにしたいと考えています。 どのように設定しますか: 建物は機能しますか?ローカルのメイクファイルを作成しrsyncてプロジェクトを作成し、リモートのメイクファイルを呼び出して実際のビルドを開始するよりも簡単な解決策はありますか?Eclipse管理ビルドにはそのための機能がありますか? デバッグは機能しますか? できれば-Eclipse CDTコードのインデックス作成は機能しますか?必要なすべてのヘッダーファイルをマシンBからマシンAにコピーし、それらを手動でインクルードパスに追加する必要がありますか?

10
Objective-C:BOOL vs bool
「新しいタイプ」BOOL(YES、NO)を見ました。 私はこのタイプはほとんどイワシのようだと読んだ。 テストのために私はしました: NSLog(@"Size of BOOL %d", sizeof(BOOL)); NSLog(@"Size of bool %d", sizeof(bool)); 両方のログに「1」が表示されることを確認してください(C ++では、boolはintで、sizeofは4です) だから私はちょうどブール型か何かにいくつかの問題があるのだろうかと思っていましたか? 速度を落とさずにbool(機能しているように見える)を使用できますか?
192 c  objective-c  types  boolean 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.