Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/17:2/2
2024/05/16:22/24

2024/03/18より397/1406
人気モジュール
No.1: フォーラム 92
No.2: QualNet概要 2
No.3: ニュース 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット71
No.2:Unknown OS1

No.1:どっかの巡回ロボット63
No.2:Majestic-12巡回ロボット5
No.3:Google巡回ロボット3

日曜日からの合計
メイン
   Scenario Setup & Configuration
     MACプロトコルの追加について
投稿するにはまず登録を

題名 投稿者 日時
   MACプロトコルの追加について yukkin61562 2009/11/4 17:52
   » Re: MACプロトコルの追加について matumoto 2009/11/4 20:27
       Re: MACプロトコルの追加について yukkin61562 2009/11/4 21:16
         Re: MACプロトコルの追加について matumoto 2009/11/5 9:39
           Re: MACプロトコルの追加について yukkin61562 2009/11/5 19:35
             Re: MACプロトコルの追加について matumoto 2009/11/5 20:28
               Re: MACプロトコルの追加について yukkin61562 2009/11/6 5:54
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
matumoto
投稿日時: 2009/11/4 20:27
一人前
登録日: 2008/5/13
居住地:
投稿: 80
Re: MACプロトコルの追加について
QualNetに限らず、ソースコードの改造における一般論になります。

既存のプロトコルを一部改造して使う場合、

既存のプロトコルとの共存をあきらめてしまい、改造してしまう。
既存のプロトコルとの共存が必要になるので、改造する。

しかありません。

あるいは、

既存のプロトコル(つまりQualNetオリジナル)の環境をとっとく。
改造したプロトコルの環境を別に作る。
使う場合に、これら2つのQualNetを使い分ける。

方法がありますが、シナリオでの共存はできません。

少なくとも、既存のプロトコルとの共存が必要なので改造する場合は、
改造部分とコンフリクトしないように、丁寧に名前を書き換えるしか
ありません。

で、今回の場合です。

『既にある mac_dot11.h の冒頭の define の定数値を少し書き換えたもの』

だけが改造内容であれば、defineの内容をconfigで設定可能にする改造が楽です。

たとえば、

#define DOT11_PS_LISTEN_INTERVAL 10
は、
int DOT11_PS_LISTEN_INTERVAL;
にしてしまい、実体をdot11の構造体で定義。実際の値は.configから読む。
configに値が定義されていなければ、デフォルトとして10にしておく。
使っている場所では、DOT11_PS_LISTEN_INTERVAL ではなくって、
何たら構造体.DOT11_PS_LISTEN_INTERVAL とか、
何たら構造体へのポインタ->DOT11_PS_LISTEN_INTERVAL と使う。

などの方法です。

ただし、
実際のdefineの内容にも依存するので、全てがうまく改造できるか否かは
保障の限りではありません。

あと、『コンパイルでエラーが出てしま』っていれば、
QualNetの実行形式はできないはずですが...
『今のところは、choices.xml と mac_dot11.cpp を少し書き換えて、
GUI上から値をさわれるようにしており何とかなっていますが』
という状況がいまいちつかめません。
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT