-1

私は次のようなものを定義したいと思います

#define memoryAddress
main()
{
    bla bla bla;
    memory = endAddress- startAddress;
    #memoryAddress = memory;
}

プリプロセッサ ディレクティブを初期化する可能/有効な方法はありますか? 基本的に、この特定のディレクティブを使用して、必要に応じて新しいメモリ アドレスを更新したいと考えています。例のように:それがCコードの変数だった場合、私はそうします

if(memoryAddress != memory)
memoryAddress=memory

しかし、この memoryAddress をプリプロセッサ ディレクティブとして使用したいので、上記のコードを実行する正しい方法を知りたいです。そのため、コンパイル プロセスが始まる前にディレクティブのデフォルト アドレスを設定しますが、後で更新したいと考えています。

4

2 に答える 2

1

gloabal変数を使用し、デフォルト値で初期化します。次に、実行時に変更できます

于 2012-06-26T19:33:23.150 に答える
0

プリプロセッサ ディレクティブはプリプロセッサによって評価され、コンパイル前に行われます。
したがって、あなたがやろうとしていること(コンパイル前ではなくコンパイル時に既知のものでディレクティブに値を割り当てる)は不可能です。

于 2012-06-26T19:28:34.557 に答える