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

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

3
チェスプログラムを開発するときに、以下の方向配列を指定された値で初期化することの重要性は何ですか?
私は競合プログラミングに不慣れですが、多くの優れたプログラマーがコードに次の4行(特に配列を含むもの)を持っていることに気づきました。 int di[] = { 1, -1, 0, 0, 1, -1, 1, -1 }; int dj[] = { 0, 0, 1, -1, 1, -1, -1, 1 }; int diK[] = { -2, -2, -1, 1, 2, 2, 1, -1 }; int djK[] = { -1, 1, 2, 2, 1, -1, …
106 c++  c  chess 

7
コードの絵による関数呼び出しグラフを取得するツール[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する Cコードの多くのソースファイルを含む大きなワークスペースがあります。オブジェクトブラウザーを使用してMS VS2005の関数から呼び出された関数を確認できますが、MSVC 6.0でも、特定の関数から呼び出された関数を非グラフィカルな種類のディスプレイでのみ表示します。さらに、say main()から呼び出された関数、次にそこから呼び出された関数など、リーフレベル関数のより深い内部は表示されません。 関数呼び出しグラフを絵で関数calleeで示しcaller、矢印などで接続して、main()関数の最後のレベルから開始するか、少なくとも1つのCソースファイル内のすべての関数の呼び出しグラフを絵で示すツールが必要です。このグラフを印刷していただければ幸いです。 それを行うための良いツールはありますか(無料のツールである必要はありません)?
106 c  function  call-graph 

9
includeステートメント、ヘッダー、またはソースをどこに配置しますか?
インクルードをヘッダーファイルまたはソースファイルに配置する必要がありますか?ヘッダーファイルにincludeステートメントが含まれている場合、そのヘッダーファイルをソースに含めれば、ソースファイルにはヘッダーに含まれていたすべてのインクルードファイルが含まれますか?または、ソースファイルにのみ含める必要がありますか?
106 c  header  include 

12
Cで単純なHTTPサーバーを構築する[終了]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 Cで単純なHTTPサーバーを構築する必要があります。ガイダンスはありますか?リンク?サンプル?
105 c  httpserver 

5
Linux:タイムアウトのあるソケットからの読み取りまたは受信がありますか?
タイムアウト付きのソケットからデータを読み取るにはどうすればよいですか?私は知っています、select、pselect、poll、timeoutフィールドがありますが、それらを使用すると、tcp renoスタックの「tcp fast-path」が無効になります。 私が持っている唯一のアイデアは、ループでrecv(fd、...、MSG_DONTWAIT)を使用することです
105 c  linux  sockets  tcp 

8
opengl:glFlush()とglFinish()
呼び出しの実際的な違いを区別するのに苦労しています glFlush()としglFinish()。 ドキュメントはと言うglFlush()とglFinish()1の違いは、され、それらはすべて実行されます保証することができますようにOpenGLにバッファリングされたすべての操作をプッシュしますglFlush()リターンがすぐ場合などglFinish()ブロックすべての操作が完了するまで。 定義を読んだ後、それを使用glFlush()すると、OpenGLに実行できるよりも多くの操作をOpenGLに送信するという問題が発生する可能性があると考えました。だから、試してみるために、glFinish()ために、はa glFlush()とloました。見たところ、私のプログラムは(私の知る限り)実行されましたが、まったく同じです。フレームレート、リソース使用量、すべてが同じでした。 したがって、2つの呼び出しの間に大きな違いがあるのか​​、それとも私のコードで2つの呼び出しに違いがないのかと思います。または、一方を他方に対して使用する必要がある場合。また、OpenGLが次のような呼び出しを行うこともわかりましたglIsDone() aのすべてのバッファリングされたコマンドglFlush()が完了したかどうかを確認する(そのため、実行可能な速度よりも速くOpenGLに操作を送信しないでください)が、そのような関数を見つけることができませんでした。 私のコードは典型的なゲームループです: while (running) { process_stuff(); render_stuff(); }
105 c++  c  opengl  graphics 



16
char配列cをクリアする
最初の要素をnullに設定すると、char配列の内容全体がクリアされると思いました。 char my_custom_data[40] = "Hello!"; my_custom_data[0] = '\0'; ただし、これは最初の要素をnullに設定するだけです。 または my_custom_data[0] = 0; memset上記の2つの例では、を使用するのではなく、すべてのデータを消去すると思いました。
104 c  arrays  char 

10
構造体にインデックスを付けることは合法ですか?
コードがどれほど「悪い」かに関わらず、また、アライメントなどがコンパイラー/プラットフォームの問題ではないと想定すると、これは未定義または壊れた動作ですか? 私がこのような構造体を持っている場合:- struct data { int a, b, c; }; struct data thing; それは法的にアクセスするa、bとcのように(&thing.a)[0]、(&thing.a)[1]と(&thing.a)[2]? いずれの場合も、すべてのコンパイラとプラットフォームで試してみましたが、すべての設定で「機能しました」。コンパイラがbとthing [1]が同じものであることに気付かず、 'b'へのストアがレジスターに入れられ、thing(1)がメモリーから誤った値を読み取る(たとえば)のではないかと心配しています。すべてのケースで私はそれを試したが、正しいことをした。(もちろん、それはあまり証明されていません) これは私のコードではありません。それは私が作業しなければならないコードです、これは悪いコードであるか壊れたコードであるかに興味があります。 タグ付きCおよびC ++。私は主にC ++に興味がありますが、それが異なる場合はCも興味があります。
104 c++  c  struct 


9
C autoキーワードはどこで使用されていますか?
大学時代にautoキーワードについて読んだのですが、実際にそれを忘れていました。次のように定義されます。 ローカル変数をローカル有効期間を持つものとして定義します どこで使用されているかはわかりませんが、実際に使用されていますか。使用されている場合、どこで使用されていますか。
104 c 

6
gccは前処理後にCコードを出力できますか?
C以外の多くの言語をサポートするために多くの前処理ディレクティブが含まれていると思われるオープンソースライブラリを使用しています。ライブラリが何をしているかを調査できるように、前処理後にコンパイルしているCコードを確認したいと思います。 、私が書いたものに似ています。 gcc(またはLinuxで一般的に利用可能なその他のツール)はこのライブラリを読み取ることができますが、前処理が何にでも変換され、人間が読むこともできるCコードを出力できますか?

13
配列パラメーターのサイズがmain内と同じでないのはなぜですか?
パラメータとして送信された配列のサイズがmain内と同じではないのはなぜですか? #include <stdio.h> void PrintSize(int p_someArray[10]); int main () { int myArray[10]; printf("%d\n", sizeof(myArray)); /* As expected, 40 */ PrintSize(myArray);/* Prints 4, not 40 */ } void PrintSize(int p_someArray[10]){ printf("%d\n", sizeof(p_someArray)); }
104 c  arrays  function  sizeof 

3
CC、gcc、g ++の違いは?
アセンブリコードの生成、使用可能なライブラリ、言語機能などの点で、CおよびC ++コードをコンパイルするときの3つのコンパイラCC、gcc、g ++の違いは何ですか?
104 c++  c  gcc  compilation 

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