私は現在、私はhello-5.c部分によThe Linux Kernel Module Programming Guideuint8_tはデータ型として認識されますが、u8は認識されません。どうして?
に基づいてRaspbianジェシー上のカーネルモジュールを作成するために学んでいます。 static u8 myByte = 'X';
を追加しようとしましたが、u8
は認識されません。それから、u8
をuint8_t
と同じものに変更しました。AFAIKとuint8_t
はデータ型として認識されます。
チュートリアルの古いバージョンhereはstatic u8 myByte = 'X';
と記載されていますので、新しいチュートリアルで再利用したいと思います。
古いチュートリアルでは、これらを含める:
#define MODULE
#define LINUX
#define __KERNEL__
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
新しいチュートリアルでは、これらを含めながら、
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/stat.h>
私は古いものを使用してみましたが、define
部分でエラーが発生したので、私は新しいチュートリアルを使用しました。
なぜuint8_t
が認識されるのですが、u8
は新しいバージョンでは認識できません。
この質問はこの特定のサイトの範囲外ですが、StackoverflowまたはUnix.stackexchangeでうまくいくかもしれません。 –
ああ、それは実際に私の質問に答えた。ありがとうございました。 :) –
デバッグのヘルプ( "なぜこのコードは動作していませんか?")には、目的の動作、特定の問題またはエラー、およびそれを再現するのに必要な最短コード**を質問**に含める必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 – Olaf