#define SetSP(sp) asm("movq %0,%%rsp": : "r" (sp) )
しかし、私は例のためにそれを使用してみてください、私のFILE.Cファイル、中:
SetSp(lwp_ptable[lwp_procs].sp);
私は、関数の暗黙的な宣言を取得します私がfile.cをコンパイルするとき、SetSp file.cに#include "file.h"があります。思考?
#define SetSP(sp) asm("movq %0,%%rsp": : "r" (sp) )
しかし、私は例のためにそれを使用してみてください、私のFILE.Cファイル、中:
SetSp(lwp_ptable[lwp_procs].sp);
私は、関数の暗黙的な宣言を取得します私がfile.cをコンパイルするとき、SetSp file.cに#include "file.h"があります。思考?
定義はSetSP
ですが、SetSp
として使用していますが、大文字と小文字の違いはp
です。大文字と小文字を区別する言語にようこそ。
コードをコピーして貼り付けた場合、SetSP
はSetSp
と同じではないことに注意してください(マクロを呼び出すときは小文字のpを使用しています)。
ヘッダーファイルを含めましたか? – swegi
はい、私はfile.hをインクルードします – Lucas
'#define SetSP'の直後で'(sp) 'の前に余分なスペースを入れましたか? 'file.h'を' file.c'に含めましたか? 'gcc -C -E file.c> file.i'を使って、' file.i'の中を見て、プリプロセッサの動作を理解してください。 –