c11

    0

    2答えて

    ここでは簡単な健全性チェックの質問があります。基本的な要件は、パフォーマンス上の理由から2つの柔軟な配列メンバーを構造体に入れてmallocへの呼び出し回数を減らすことです。 structインスタンスが定数オフセットで複数のフィールドを含む整列されたメモリブロックであると仮定すると、オフセット計算とキャストを記述することによって、構造体と意味的に同等な機能を実装できますか?アライメント/計算が一貫

    1

    1答えて

    を構造化する整数をキャストしている私は、ポインタを構造化する整数をキャストすると、gccの上の警告(Linux)をスローするコードを持って typedef struct st { int a; char *b; }st; ... int handle; int main() { ... st *sptr = (st*)handle; ... } C11仕様

    4

    2答えて

    私はシングルライターで、複数の読者の状況があります。あるスレッドが書き込みを行っているカウンタがあり、スレッドがこのカウンタを読み取る可能性があります。シングルスレッドはデータアクセスのために他のスレッドとの競合を心配する必要はないので、次のコードは安全ですか? #include <stdatomic.h> #include <stdint.h> _Atomic uint32_t count

    0

    1答えて

    私のコードはできるだけシンプルでスレッドセーフであることが必要です。そのISO/IEC 9899/201Xドラフト XとYの "7.17.4フェンス" の部分についてはC11のアトミック で 、両方のいくつかのアトミックオブジェクトM上で動作する、そのようなAは がXの前に配列され、XがMより前に配列され、YがBより前に配列され、Yが のXで書かれた値または の操作でリリースされた場合、Yが 仮想

    1

    1答えて

    私はhomebrewでmacvimをインストールしました。 OS Xバージョン10.11.6; macvimバージョン: macvim: stable 8.0-119 (bottled), HEAD しかし、 "私のFILE.C" を編集しながら、それはデフォルトでprintf、scanfを色付けしません。 ~/.vim/after/c.vimを作成して追加する方法を検索しました。 (別の方法

    -4

    2答えて

    n1570 6.5.9.5 (Equality operators)言う: 5 ...... 1つのオペランドがオブジェクト型へのポインタであり、他がvoidの修飾または非修飾のバージョンへのポインタである場合、前者は型に変換されます後者の 「は前者」「後者」である「タイプオブジェクトへのポインタ」および「ボイドへのポインタ」である場合、それは意味し、変換後、比較を6.5に係る二void* S、上

    3

    1答えて

    私は奇妙な状況で、いくつかのCコードに構文上の優しさを追加しようとしています。私は単なる構造体である数字の三つ組を持っています。 typedef struct {int x, y, z} coord; ここでは、引数として2つの構造体をとる関数がいくつかあります。私は自分自身はかなり定期的に、私は coord foo; /* initialize foo with something */

    1

    1答えて

    スレッドローカル変数を提供するライブラリが、そのためのコンストラクタ関数を登録するためのメカニズムがありますか? 私のライブラリは、動的に取得されたデータを使用してスレッド作成時に初期化する必要があるスレッドローカル構造体を供給したいと考えています。 構造体がグローバルでスレッドローカルではない場合は、gccの__attribute__((__constructor__))とマークされた関数を作成