c-preprocessor

    0

    4答えて

    次のコードは、g ++ -std = C++ 11コンパイラによるコンパイルに失敗します。 # include<iostream> # include<vector> using namespace std; # define stlf(x) x.begin(), x.end() # define repf(it, a, b) for(auto it

    2

    1答えて

    長時間のユーザー、初めてのポスターです。私は同様の質問を探しましたが、何も見つけることができませんでした。 私はKeilμVisionのC言語で書かれたCortex-M3用のいくつかのレガシーコードを使って作業しています。 ADCからの値を記録する関数では、スケーリング係数を使用して、ビットからボルトに変換します。 私の質問は、ヘッダーファイルで定義されたスケーリング係数、中心に展開: #defi

    0

    2答えて

    私はC(here)で記述されたファイルを読み、理解しようと多くのCを知らない(あるいは、それはそもそもC++の場合)、私は以下の方法を思ったんだけどよ: #define BEGIN yy_start = 1 + 2 * 呼び出されたときこのように: BEGIN(new_state) が動作しています。私はBEGINがマクロ/プレースホルダ設定yy_startであることを知っています。しかし

    -1

    1答えて

    私はpreprocessor magicがどのように動作するのか、私のニーズにどのようにアプローチできるかを理解しようとしています。私は間違ったことをして、コンパイルに失敗します。どの展開ステップに間違いがあるかを知りたいので、段階的に展開してみてください。 gcc -Eは有効なコードに対してのみ動作するので、私は拡張ツリーを表示するためのサイドツールを探しています。

    1

    1答えて

    私は書いていないコードを解くことを試みています。この長いファイルには多くの#ifステートメントがネストされています。与えられたコードを囲むすべての#ifステートメントをすばやく特定する方法が必要です。 Webを "#if"で検索しようとするのは、ハッシュタグを取得したり句読点を無視したり、 "条件付きプリプロセッサディレクティブ"が何かの説明以外のものを出さなかったため難しい。 ある行に影響を与え

    0

    1答えて

    ライブラリターゲットのGCC_PREPROCESSOR_DEFINITIONSに定義されたNEW_APIマクロを持つ古い.aライブラリ(BULib)があります。このマクロは、ヘッダ内のいくつかのメソッドを公開するためにlib内で使用されるか、条件付きコンパイルでは使用されません。例: #ifdef NEW_API + (nullable NSString *)user; #endif この

    2

    1答えて

    次のコードは、gcc -Eと前処理された場合、_Pragma("GCC error")からいくつかのエラーを生成する: _Pragma("GCC error \"ERROR\"") // error #define MACRO_ERROR _Pragma("GCC error \"MACRO_ERROR\"") MACRO_ERROR // error #define VOID(arg)

    0

    3答えて

    私は、ポインタと組み合わされたときに#defineがどのように動作するのか迷っています。ここで は私の擬似コードです:今 #define ID "28" // I need to keep it as string int main() { char * my_id = ID; ... ... } 実際my_idを指しているでしょうか?私はallocを呼

    5

    1答えて

    私はcpp foo.cとgcc -E foo.cの両方が同じ方法でソースファイルを前処理すると思っていましたが、同じファイルの出力が異なっていました。 cppため $ cat foo.c #define VARIABLE 3 #define PASTER(x,y) x ## _ ## y #define EVALUATOR(x,y) PASTER(x,y) #define NAME(fun

    -1

    3答えて

    : #include "pathtoheader1/header1.hh" ##include "pathtoheader2/header2.hh" これら二つのプリプロセッサディレクティブの違いは何ですか?私が言うことができるものから、 編集 、##パスを含め、私が働いているプログラムのコンテキストでは、includeディレクティブを指定する-Iフラグを付加します。 TRICK_CFLAG