2012-03-16 8 views
-1

私は、次のようにI/O Kitドライバテンプレートのコードを記述します。私のコードでどのステップを取ってエラーを取り除くことができますか?

#include <IOKit/IOService.h> 
class com_osxkernel_driver_IOKitTest : public IOService 
{ 
    OSDeclareDefaultStructors(com_osxkernel_driver_IOKitTest) 
    public: 
     virtual bool init (OSDictionary* dictionary = NULL); 
     virtual void free (void); 
     virtual IOService*  probe (IOService* provider, SInt32* score); 
     virtual bool start (IOService* provider); 
     virtual void stop (IOService* provider); 
}; 
#include "IOKitTest.h" 
#include <IOKit/IOLib.h> 
#define super IOService 
OSDefineMetaClassAndStructors(com_osxkernel_driver_IOKitTest, IOService) 
bool com_osxkernel_driver_IOKitTest::init (OSDictionary* dict) 
{ 
    bool res = super::init(dict); 
    IOLog("IOKitTest::init\n"); 
    return res; 
} 
void com_osxkernel_driver_IOKitTest::free(void) 
{ 
    IOLog("IOKitTest::free\n"); 
    super::free(); 
} 
IOService* com_osxkernel_driver_IOKitTest::probe (IOService* provider, SInt32* score) 
{ 
    IOService *res = super::probe(provider, score); 
    IOLog("IOKitTest::probe\n"); 
    return res; 
} 
bool com_osxkernel_driver_IOKitTest::start (IOService *provider) 
{ 
    bool res = super::start(provider); 
    IOLog("IOKitTest::start\n"); 
    return res; 
} 
void com_osxkernel_driver_IOKitTest::stop (IOService *provider) 
{ 
    IOLog("IOKitTest::stop\n"); 
    super::stop(provider); 
} 

私はこのコードをビルドすると、私は4エラーを取得:関数宣言子 後

  1. 期待される機能本体を
  2. stray '\357' in program
  3. stray '\277' in program
  4. stray '\274' in program

あなたはエラーが発生しますか?

+0

質問の書式を改善する必要があります。現時点では判読できません。 –

+0

ありがとうございましたChriatofer Eliasson – kumar

+0

@MedetiNaveenKumar答えがあなたの問題を解決した場合は、それを合格とマークしてください。そうでない場合は、さらに情報を提供する必要があります。これはあなたのすべての質問に役立ちます。 – pmdj

答えて

10

あなたはエラーが表示されますか?

いいえ。しかし、コンパイラができます。 Xcodeはそれをあなたに表示します。

私は新しいプロジェクトにコードを貼り付けて、それをコンパイルしました:

enter image description here

すべての3つの浮遊文字がコードの同じ部分です。
このようなエラーが発生した場合は、コードにコンパイルできない文字があり、通常は表示できません。彼らは頻繁に間違ってコピーと貼り付けから来ています。

エラーのある行を削除してもう一度書き込んでください。コピーしたり、貼り付けたりしないでください。

私はそのコードの一部を取り出し、16進エディタで開きました。これらのエラーがどこから来たのかを見ることができます。 KATE(KDEの高度なテキストエディタ)を使用するすべてのユーザーのために

enter image description here

+1

(+1)++これは私が長年見た中で最も簡潔で徹底的な答えです。よくやった。 – Dave

+0

ありがとうございましたMatthias Bauch。上記の情報は私にとって非常に便利です。 – kumar

+2

あなたは大歓迎です。それがそれを受け入れることを考えるのを助けたら。これを行うには、質問の横にあるチェックマークをクリックします。 –

0

が、私はエラーの原因となったファイルを開くと、チェックを外すことにより、同様の「浮遊エラー」を修正することができました「追加バイトオーダーマーク(BOM) "ツールメニューの下にあるオプションです。この設定をオフにしてもファイルは変更されていないように見えるので、実際にファイルを保存(Ctrl + S)する必要があります。再コンパイルすると、エラーはなくなります。

関連する問題