• [解決済み] Linuxにおける複数スレッドでの信号処理

    質問 Linuxでは、プログラム(複数のスレッドを持つ可能性がある)がSIGTERMやSIGHUPのようなシグナルを受信するとどうなるのでしょうか? どのスレッドがシグナルを傍受するのでしょうか?複数のスレッドが同じシグナルを受け取ることができますか?シグナルを処理することだけに特化した特別なスレッドがあるのでしょうか?そうでない場合、シグナルを処理するスレッドの内部では何が起こっている

    2022-06-14 16:55:22
  • [解決済み] typedefと#defineはcで同じものですか?

    質問 もし typedef と #define は、同じように c ? どのように解決するのですか? いいえ。 #define はプリプロセッサー・トークンであり、コンパイラー自身は決してこれを見ることはありません。 typedef はコンパイラトークンです:プリプロセッサーはそれを気にしません。 同じ効果を得るためにどちらかを使うことができますが、ニー

    2022-06-11 20:20:19
  • [解決済み] 同一ソケットでのsend/recvの並列呼び出しは有効ですか?

    質問 同じソケット上で、あるスレッドから send を、別のスレッドから recv を呼び出すことはできますか? 同一ソケット上の異なるスレッドから複数のsendを並列に呼び出すことは可能か? 良い設計がこれを避けるべきであることは分かっていますが、これらのシステム API がどのように動作するかは明確ではありません。また、同じものについての良いドキュメントを見つけることができま

    2022-06-11 11:15:44
  • [解決済み] malloc(0)の意味とは?

    質問 私はちょうどこれを見ました のコードを参照してください。 artist = (char *) malloc(0); ...そして私は、なぜこのようなことをするのだろうと考えていました。 どのように解決するのですか? 仕様書によると malloc(0) は "ヌルポインタか、free()に正常に渡せるユニークなポインタのどちらかを返します。 これは基本的

    2022-06-09 22:35:23
  • [解決済み] gdbデバッガで最も厄介な/便利なコマンド [閉鎖].

    質問 現在のところ、この質問は私たちのQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によって裏付けられていることを期待していますが、この質問はおそらく討論、議論、投票、または拡大した議論を求めるものでしょう。この質問を改善し、再開できる可能性があると思われる場合 ヘルプセンターへ をご覧くだ

    2022-06-07 04:30:20
  • [解決済み] 空白を含む左詰めprintf

    質問 printfを使用する際、文字列の左側にスペースを入れるにはどうしたらよいでしょうか。 例えば、"Hello"の前に40個のスペースを入れて表示したいのですが、どうすればよいのでしょうか? また、印刷したい文字列は複数の行から構成されています。 それぞれの行を別々に印刷する必要があるのでしょうか? EDIT: 明確にするために、各行の前にちょうど40個のスペースを印刷したい

    2022-06-05 22:12:51
  • [解決済み] なぜ "sizeof(a ? true : false)" は4バイトの出力をするのでしょうか?

    質問 私は sizeof 演算子を三項演算子に置き換えたものです。 #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a));

    2022-06-04 16:28:14
  • [解決済み] ptr が NULL の場合の free(ptr) はメモリを破壊するか?

    質問 理論的には以下のようになります。 free(ptr); free(ptr); は、すでに解放されているメモリを解放しているため、メモリ破壊となります。 しかし、もし free(ptr); ptr=NULL; free(ptr); OSが未定義の方法で動作するように、私は何が起こっているかについて、このための実際の理論的な分析を得ることができません。 私が何をし

    2022-06-04 01:41:18
  • [解決済み] size_tとunsigned intの違い?

    質問 についてとても混乱しています。 size_t . インターネットで検索してみると、どこもかしこも size_t は符号なし型なので、非負の値のみを表すことができます。 最初の疑問は、もし非負の値だけを表すのに使われるのであれば、なぜ unsigned int の代わりに size_t ? 2 つ目の質問は size_t と unsigned int は互換性が

    2022-06-01 08:30:41
  • [解決済み] C言語における変数宣言の配置

    質問 C 言語では、すべての変数は関数の最初に宣言されなければならないと長い間思っていました。C99 では、ルールは C++ と同じですが、C89/ANSI C の変数宣言の配置ルールはどうなっているのでしょうか。 で正常にコンパイルされた次のコードは gcc -std=c89 と gcc -ansi : #include <stdio.h> int main() {

    2022-05-28 19:43:01
  • [解決済み] 構造体を0に初期化する

    質問 このような構造体があったとして typedef struct { unsigned char c1; unsigned char c2; } myStruct; この構造体を0に初期化する最も簡単な方法は何でしょうか? 次のようにすれば十分でしょうか? myStruct _m1 = {0}; または 明示的に各メンバーを0に初期化する必要がありますか?

    2022-05-28 06:03:23
  • [解決済み] LinuxでGDBを起動するときにコマンドライン引数を渡すにはどうしたらいいですか?重複

    質問 この質問はすでにここに回答があります : Bashスクリプト内でGDBを使用してコマンドライン引数を持つプログラムを実行するにはどうすればよいですか? (回答数 8 件)

    2022-05-27 12:18:45
  • [解決済み] Linux で gcc 用の簡単な makefile を作るには?

    質問 3つのファイルがあります。 program.c , program.h と headers.h . program.c には program.h と headers.h . Linuxでこれをコンパイルするには gcc コンパイラでコンパイルする必要があります。 私はこれを行う方法がわかりません。Netbeansは私のために1つを作成しましたが、それは空で

    2022-05-26 07:05:59
  • [解決済み] C言語の関数内の静的変数

    質問 プリントアウトされるのは何でしょうか?6 6 or 6 7? また、その理由は? void foo() { static int x = 5; x++; printf("%d", x); } int main() { foo(); foo(); return 0; } どのように解決するのですか? ここでは、寿命とスコープの

    2022-05-25 08:16:54
  • [解決済み] include文はヘッダーとソースのどこに置く?

    質問 includeはヘッダファイル、ソースファイルのどちらに記述すればよいのでしょうか。ヘッダーファイルに include ステートメントが含まれている場合、そのヘッダーファイルをソースに含めると、ソース ファイルにはヘッダーにあったすべての include ファイルが含まれることになるのでしょうか。それとも、ソースファイルにのみインクルードすればよいのでしょうか? どのように解決する

    2022-05-18 08:01:53
  • [解決済み] if ... elseのif構文をelse節で終了させるメリットは何ですか?

    質問 私たちの組織では が必要です。 というコーディングルールを(何の説明もなく)作っています。 if ... else ifの構成はelse節で終了させるべきである。 例1: if ( x < 0 ) { x = 0; } /* else not needed */ 例2: if ( x < 0 ) { x = 0; } e

    2022-05-18 01:13:34
  • [解決済み] C言語の##と__LINE__を使ったマクロの作成 (位置決めマクロによるトークン連結)

    質問 行番号に基づいた名前の関数を作成するC言語のマクロを作りたい。 を作成する C のマクロを作成したいです。 私は次のようなことができると思いました(実際の関数は中括弧の中にステートメントを持っています)。 #define UNIQUE static void Unique_##__LINE__(void) {} のような展開になればいいなと思ったのですが。 static vo

    2022-05-17 20:43:46
  • [解決済み] C言語のポインタ(宣言と単項演算子)を初心者にどう説明するか?

    質問 最近、C言語プログラミングの初心者にポインタを説明する機会があったのですが、次のような難しさにつまずきました。ポインタの使い方を既に知っている人は全く問題に感じないかもしれませんが、次の例を冷静に見てみてください。 int foo = 1; int *bar = &foo; printf("%p\n", (void *)&foo); printf("%i\n", *b

    2022-05-17 18:48:30
  • [解決済み] パイプを使って2つのプログラム間で簡単な文字列を送信するには?

    質問 ネットで検索してみたのですが、資料がほとんどありません。ちょっとした例で十分です。 EDIT つまり、2つの異なるCプログラムが互いに通信しています。一方のプログラムが"Hi"を送信し、もう一方のプログラムがそれを受信する必要があります。みたいな感じです。 どのように解決するのですか? 通常のパイプは、関連する2つのプロセスのみを接続することができます。 これはプロセスによ

    2022-05-17 12:26:42
  • [解決済み] 2次元配列のアロケート方法がおかしい?

    質問 あるプロジェクトで、誰かがこの行を押しました。 double (*e)[n+1] = malloc((n+1) * sizeof(*e)); これは、(n+1)*(n+1)個のdoubleの2次元配列を作成するとされています。 おそらく というのは、これまでのところ、私が尋ねた誰も、これが何をするのか、正確に、どこから来たのか、なぜ機能するのか (機能すると言われていま

    2022-05-17 04:30:11