c-preprocessor

    1

    1答えて

    は、次のtest.cを考えてみましょう: int main(void) { int a; #if 1==0 #line 1 "test.c" #endif a = 1; return 0; } 注意、#if条件がここに偽であること。私は次のことを実行した後、出力は空になりませんコマンドということなので、確認する必要があり : clang -g test.

    1

    1答えて

    関数の前に空のPUREを指定するとIntellisenseがVS2015に混乱することがわかりました。手紙(pure、Pure、PurE)の同じ時間、および他の非大文字の組み合わせで動作します: #include <stdint.h> #define SOME #define PURE #define Pure #define STUFF // upper case "PURE"

    -2

    2答えて

    私はXマクロ内でoffsetof()を使用した際に明らかなエラーが発生しました。以下のコードは、単純な構造の2つの例を示します.1つは明示的に定義され、もう1つはXマクロを使用して定義されます。両方の構造内の各構造フィールドのオフセットは、スクリーンに印刷されます。以下のコメントのように、Xマクロで定義された構造体のcフィールドは、誤ったオフセットを示しています。 これは印刷の問題だと思います。誰

    -3

    1答えて

    は、私の知る限りでは、#ifdefはマクロが定義されている場合、マクロは次のように定義されていないものを確認することができます。 #define MY_NUMBER 1 . . . #ifdef MY_NUMBER function(); #endif 私はこのような何か試してみた: #define MY_NUMBER 1 . . . #ifdef MY_NUMBER 1

    0

    3答えて

    ルックアップマクロを作成しようとしています。三項演算子を使うことは、これを行うための非常に簡潔な方法のようです。ここで私がこれまで持っているものです。 #define SQL_LOOKUP_TABLE(x) (strncmp(x, "int", strlen(x)) == 0) ? "INTEGER" : SQL_LOOKUP_TABLE1(x) #define SQL_LOOKUP_TABLE

    2

    1答えて

    私は#errorディレクティブは、少なくともGCCとMSVC #if !defined(__cplusplus) #error C++ compiler required. #endif で動作します。しかし、それは一般的にクロスプラットフォームやクロスコンパイラされていることを知っていますか?それは多分いくつかの標準の一部ですか? PS。 GCCやMSVCのマニュアルに書かれている例を見

    0

    2答えて

    通常、C++ではクラス間の依存関係が必要なときに、ヘッダーファイルで前方宣言を使用し、両方のヘッダーファイルを各cppファイルに含めます。 ただし、テンプレートを使用して作業する場合、この方法は壊れます。テンプレートは完全にヘッダファイルに入っている必要があります(コードをcppに入れ、のそれぞれについてtemplate class A<T>;を列挙した場合はカウントされません)。Tがラムダの場合

    0

    1答えて

    次の例では4つのファイルがあります。ヘッダー、デフォルトの実装ファイル、および2つのプラットフォーム固有の実装ファイルが含まれています。 get_value_1およびget_value_2。 'デフォルト'の振る舞いは-1を返しますが、これらの関数の中には特別な実装があります。別のファイルで実装されていない場合にのみ-1を返すようにしたいと思います。 /* interface.h * *****

    4

    2答えて

    Cの#pragmaと_Pragma()の違いは何ですか? 構文: #pragma arg と _Pragma(arg) 私は_Pragma(arg)を使用する必要がありますか?

    1

    1答えて

    私はある種の "データ変数"フレームワークに取り組んでいます。ここでは、構造体はBoost.FusionシーケンスとしてマクロBOOST_FUSION_DEFINE_ASSOC_STRUCTを使って定義され、適合されています。 ブリーフコンテキスト: 私が使用する2つの適応構造体fooとbarを定義するには: #define VAR(VARNAME) vardefs::VARNAME #defi