2012-01-30 24 views
1
は、私は私のファイル.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"があります。思考?

+0

ヘッダーファイルを含めましたか? – swegi

+0

はい、私はfile.hをインクルードします – Lucas

+1

'#define SetSP'の直後で'(sp) 'の前に余分なスペースを入れましたか? 'file.h'を' file.c'に含めましたか? 'gcc -C -E file.c> file.i'を使って、' file.i'の中を見て、プリプロセッサの動作を理解してください。 –

答えて

4

定義はSetSPですが、SetSpとして使用していますが、大文字と小文字の違いはpです。大文字と小文字を区別する言語にようこそ。

1

コードをコピーして貼り付けた場合、SetSPSetSpと同じではないことに注意してください(マクロを呼び出すときは小文字のpを使用しています)。

関連する問題