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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/11/01:8/8
2024/10/31:25/29

2024/09/02より459/1444
人気モジュール
No.1: フォーラム 86
No.2: QualNet概要 3
No.3: ニュース 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット56
No.2:Windows NT14
No.3:Linux7

No.1:どっかの巡回ロボット45
No.2:Safari21
No.3:Google巡回ロボット8

日曜日からの合計
メイン
   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