c

    1

    1答えて

    ログファイルがあります。そのログファイルを読み込み、EOFに達したら新しいデータを待つプログラムをCで作成します。 私のコードにtail -fを使用したくありません。 私は、次のコードを試みたが、それが動作していない: #define _GNU_SOURCE 1 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #i

    3

    2答えて

    add_library(target1 funtion.c target1.c) add_library(target2 funtion.c target2.c) add_executable(main.out main.c) target_link_libraries(main.out target1 target2 ${LDFLAGS}) ここは私のCMakeLists.txtです。

    0

    1答えて

    シェルコピーを作成していますが、自家製プログラムを実行する際に問題があります。 java、ls、wcなどのようなものを実行したいときには、すべてが問題ありません。PATH変数には既に存在するすべてのものです。 ここでは、元のlsのコピーである "myls"コマンドを実行できるようにしたいと考えています。私のプログラムはPATH変数に登録されていないので、execvp("myls", …)にしようと

    0

    1答えて

    構造体がポインタによって与えられた関数から構造体フィールドを埋めようとしています。 mallocで構造体を割り当てると、返されたポインタはnullでなく、構造体フィールドは正常に初期化されますが、mainに戻った後も戻ります。関数に渡されたポインタがnullです。 ここでは簡略化した例 #include <stdlib.h> #include <stdio.h> #define INFO(f

    0

    1答えて

    私はIPv6のために私自身の単純化されたTCP/IPスタックを実装しようとしていましたが、現在私の目標はICMPv6エコー要求に答えることです。 私は後の計算に必要なデータを格納するための、以下の構造を使用: typedef uint16_t n_uint16_t; //network byte order typedef uint32_t n_uint32_t; n_uint16_t h

    0

    1答えて

    同じホスト上のプロセス間のUDPパケットが断続的に消滅する場合のトラブルシューティングのために、winsock2呼び出しを傍受しようとしています。彼らが消えてしまうと20秒くらい消えてしまうので、実行中のプロセスを中止するのに十分です。 私は単純なプリントを行うことができるので、DLLインジェクションを動作させることができ、2回のwinsockコールが正しく傍受されますが、アドレス情報を処理できる

    1

    1答えて

    問題が発生しました。一度フォークする単純なプログラムを書こうとすると 親プロセスは/ dev/urandomから子バイトを送信し、子はそれらをスクリーンに出力します(1行につき15バイトで15バイト)。問題は次のとおりです。 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0 B0:

    0

    1答えて

    を回転させます。 これは、エラーを発生させ /tmp/ccKYcEHR.s:363: Error: operand size mismatch for `rol'. ここでの問題は何ですか?

    1

    2答えて

    この機能が登場したとき、私は"Understanding and Using C Pointers"のページを読んでいた。 void safeFree(void **pp) { if (pp != NULL && *pp!= NULL) { free(*pp); *pp = NULL; } } し、それからのコード例: int main(int arg

    2

    1答えて

    特定のアドレス(たとえばDouble function indirection in C)から関数を呼び出す必要がありますが、まったく同じではありません。私は、マッピングテーブルからポインタを引き出し、動的に生成された関数ポインタを操作することができます。例えば、私はコールのこのタイプを避けたい: ((int)(*)(void*)) compute_volume = ((int)(*)(void*