2016-12-18 20 views
-5
私はエラーを取得

は、その関数宣言がプロトタイプされていない機能関数宣言は、

として宣言 フィールド「get_currentを」プロトタイプはありませんが、私は私のコードでは全くget_currentフィールドを持っていません。

#ifndef FILESFUNCTIONS_H_INCLUDED 
#define FILESFUNCTIONS_H_INCLUDED 

#define NB_MAX_TRANSITIONS 20 
#define FILE_NAME_SIZE 25 

typedef struct Page_Descriptor Page_Descriptor; 
typedef struct Transition Transition; 
typedef struct Transitions_Graph Transitions_Graph; 
typedef struct File_Descriptor File_Descriptor; 
typedef struct File_Descriptors_List File_Descriptors_List; 

//La liste des descripteurs de fichier 
struct File_Descriptors_List{ 
    File_Descriptor* head;// Pointeur vers le premier élement de la liste. 
    File_Descriptor* current; 
    unsigned int nbFiles; // nombre de descripteurs de fichier dans la liste. 
}; 

// La structure descripteur de fichier. 
struct File_Descriptor 
{ 
    char* file_name; // Nom du fichier 
    Transitions_Graph* transition_graph; // le graphe de transition des pages. 
    File_Descriptor* next; // pointeur vers le prochaine fichier dans la liste. 
}; 

//Le graphe des transitions 
struct Transitions_Graph{ 
    Page_Descriptor* head; // le premier noeud du graphe de transitions. 
    Page_Descriptor* current_page; // la dernière page utilisée dans le graphe. 
}; 

// Le descripteur qui contient les informations sur chaque page. 
struct Page_Descriptor 
{ 
    //int page_number; // Identifiant de la page 
    int page_offset; // Offset de la page 
    int nb_From_Transitions;// Le nombre des transitions à partir de cette page 
    int visited; //Etat de la page dans le parcours de l'affichage pour eviter le repassage sur la même page. 
    Transition* next_transitions;// Vecteur qui contient des pointeurs vers les pages suivantes 
    int index_Transition_Table;//Le nombre de pages suivantes. 
}; 

// La definition d'une transition d'une page à une autre. 
struct Transition 
{ 
    int nb_To_Transitions;//number of transitions to this page 
    Page_Descriptor* next_page; 
}; 
#endif // FILESFUNCTIONS_H_INCLUDED 

私はそれがWindows上でコードブロックで作業していたので、しかし、Linuxのgccでコンパイルしていないとき、私は、何が起こっているかについては考えています。ヘッダファイルasm/current.h

https://i.stack.imgur.com/m7p9k.png

+0

ここにコードを貼り付けてみませんか? – sjsam

+0

私はバーチャルマシン上にコードを持っていますので、私はスクリーンショットを取ることをお勧めしました:p –

+0

@ Kaciあなたはスクリーンショットの扱いを好まず、(リンクのみ)も含めませんでした。 – abligh

答えて

0

、機能get_current()が定義され、そしてその後currentマクロが#define Dである:

#define current get_current() 

このヘッダファイルは、linux/sched.hヘッダファイル内#includeそのものです。 #includeファイルのリストは提供していませんが、直接または間接的に#includeというヘッダーファイルがあると思われます。

あなたはあなたのプログラムのこの行のcurrent変更する必要があります。不要なマクロ展開を避けるために

File_Descriptor* current; 

を。