3 เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
3.1 เชตเชฟเชนเชเชเชพเชตเชฒเซเชเชจ
3.2 เชชเซเชฐเซเชตเชเชฐเซเชฐเซเชฏเชพเชคเซ
3.2.1 เชธเซเชคเซเชฐเซเชค เชเชฐเซเชเชพเชเชต เชคเชฐเซเชเซ ns-3 เชฐเซเชฒเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
3.3 Git เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ns-3 เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
3.3.1 เชฌเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ns-3 เชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
3.4 เชเชธเซเชฎเซเชฌเชฒเซ เชเชจเชเชธ-3
3.4.1 build.py เชธเชพเชฅเซ เชฌเชฟเชฒเซเชกเซเชเช
3.4.2 เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชธเชพเชฅเซ เชฎเชเชพเชจ
3.4.3 Waf เชธเชพเชฅเซ เชฌเชจเชพเชตเซ
3.5 เชชเชฐเซเชเซเชทเชฃ ns-3
3.6 เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเชตเซ
3.6.1 เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ เชฆเชฒเซเชฒเซ
3.6.2 เชกเซเชฌเชเซเชเช
3.6.3 เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ
เชชเซเชฐเชเชฐเชฃ 3
เชถเชฐเซเชเชค เชเชฐเชตเซ
เช เชชเซเชฐเชเชฐเชฃเชจเซ เชนเซเชคเซ เชฐเซเชกเชฐเชจเซ เชเชตเชพ เชเชฎเซเชชเซเชฏเซเชเชฐเชฅเซ เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเชฐเชตเชพเชจเซ เชเซ เชเซเชฃเซ เชเซเชฏเชพเชฐเซเชฏ ns-3 เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเช เชจ เชนเซเชฏ. เชคเซ เชธเชชเซเชฐเซเชเซเชก เชชเซเชฒเซเชเชซเซเชฐเซเชฎ, เชชเซเชฐเซเชตเชเชฐเซเชฐเซเชฏเชพเชคเซ, เชเชจเชเชธ-3 เชเซเชตเซ เชฐเซเชคเซ เชฎเซเชณเชตเชตเซเช, เชเชจเชเชธ-3 เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซเช เช เชจเซ เชคเชฎเชพเชฐเชพ เชฌเชฟเชฒเซเชก เช เชจเซ เชธเชฐเชณ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชเชพเชธเชตเซเช เชคเซ เชเชตเชฐเซ เชฒเซ เชเซ.
3.1 เชตเชฟเชนเชเชเชพเชตเชฒเซเชเชจ
ns-3 เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ เชธเชนเชฏเซเชเซ เชธเซเชซเซเชเชตเซเชฐ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเซ เชธเชฟเชธเซเชเชฎ เชคเชฐเซเชเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ. เชเชธเซเชฎเซเชฌเชฒเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธเชจเซ เชเซเชก เช เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชเซ. C++ เช เชฅเชตเชพ Python เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเชเชจเซ เชเชชเชฏเซเช เชเชธเซเชเชฎ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชฒเชเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ.
Ns-3 เช เชธเซเชฐเซเชธ เชเซเชก เชคเชฐเซเชเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชฒเชเซเชทเซเชฏ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชธเซเชชเซเชฐเชฅเชฎ เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชชเชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชซเซเชเชตเซเชฐ เชกเซเชตเชฒเชชเชฎเซเชจเซเช เชตเชพเชคเชพเชตเชฐเชฃ เชนเซเชตเซเช เชเชตเชถเซเชฏเช เชเซ. เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ, ns-3 เชเซเชเซเชเชธ เชธเชฟเชธเซเชเชฎ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชคเชฐเซเชเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ, เช เชจเซ เชญเชตเชฟเชทเซเชฏเชฎเชพเช เชคเซเช เช เชฐเซเชคเซ เชตเชฟเชคเชฐเชฟเชค เชฅเช เชถเชเซ เชเซ. เชชเชฐเชเชคเซ เชเชเชเชพเชฒ เชเชฃเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชเชฐเซเชเชฐ ns-3 เชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซเชจเซ เชคเซเชฎเชจเซเช เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ, เชคเซเชฅเซ เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชฐเซเชค เชเซเชก เชนเซเชตเซ เชเชชเชฏเซเชเซ เชเซ. เชเซ เชเซเช เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎเซเชธ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เช เชจเซ เชชเซเชเซเชเซ เชฌเชจเชพเชตเชตเชพเชจเซเช เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ, เชคเซ เชเซเชชเชพ เชเชฐเซเชจเซ เชฎเซเชเชฒเชฟเชเช เชฒเชฟเชธเซเชเชจเซ เชธเชเชชเชฐเซเช เชเชฐเซ. เชเชจเชเชธ-เชกเซเชตเชฒเชชเชฐเซเชธ.
เชเชเชณ, เช เชฎเซ ns-3 เชกเชพเชเชจเชฒเซเชก เช เชจเซ เชฌเชฟเชฒเซเชก เชเชฐเชตเชพเชจเซ เชคเซเชฐเชฃ เชฐเซเชคเซ เชเซเชเชถเซเช. เชชเซเชฐเชฅเชฎ เชฎเซเชเซเชฏ เชธเชพเชเช เชชเชฐเชฅเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชชเซเชฐเชเชพเชถเชจ เชกเชพเชเชจเชฒเซเชก เช เชจเซ เชฌเชฟเชฒเซเชก เชเชฐเชตเชพเชจเซเช เชเซ. เชฌเซเชเซเช เชฎเซเชณเชญเซเชค ns-3 เชเชจเซเชธเซเชเซเชฒเซเชถเชจเชจเชพ เชตเชฟเชเชพเชธ เชธเชเชธเซเชเชฐเชฃเซเชจเซ เชจเชเชฒเซเชจเซ เชชเชธเชเชฆเชเซ เช เชจเซ เชเชธเซเชฎเซเชฌเชฒเซ เชเซ. เชคเซเชฐเซเชเซเช ns-3 เชฎเชพเชเซ เชตเชงเซ เชเชเซเชธเซเชเซเชจเซเชถเชจ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชงเชพเชฐเชพเชจเชพ เชฌเชฟเชฒเซเชก เชเซเชฒเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเซ. เช เชฎเซ เชฆเชฐเซเชเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชเชถเซเช เชเชพเชฐเชฃ เชเซ เชธเชพเชงเชจเซ เชฅเซเชกเชพ เช เชฒเช เชเซ.
เช เชจเซเชญเชตเซ Linux เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชเชถเซเชเชฐเซเชฏ เชชเชพเชฎเชถเซ เชเซ เชถเชพ เชฎเชพเชเซ ns-3 เชชเซเชเซเช เชฎเซเชจเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชฎเซเชเชพเชญเชพเชเชจเซ เช เชจเซเชฏ เชชเซเชธเซเชคเชเชพเชฒเชฏเซเชจเซ เชเซเชฎ เชชเซเชเซเช เชคเชฐเซเชเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเซเช เชจเชฅเซ? เชตเชฟเชตเชฟเชง เชฒเชฟเชจเชเซเชธ เชตเชฟเชคเชฐเชฃเซ (เชฆเชพ.เชค. เชกเซเชฌเชฟเชฏเชจ) เชฎเชพเชเซ เชฆเซเชตเชฟเชธเชเชเซ เชชเซเชเซเชเซ เชนเซเชตเชพ เชเชคเชพเช, เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชชเซเชธเซเชคเชเชพเชฒเชฏเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซ เชเซ เช เชจเซ เชชเซเชคเชพเชจเซ ns-3 เชชเซเชจเชเชฌเซเชฒเซเชก เชเชฐเซ เชเซ, เชคเซเชฅเซ เชธเซเชฐเซเชค เชเซเชก เชเชชเชฒเชฌเซเชง เชเชฐเชพเชตเชตเซ เชธเชฐเชณ เชเซ. เช เชเชพเชฐเชฃเซเชธเชฐ, เช เชฎเซ เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชชเชฐ เชงเซเชฏเชพเชจ เชเซเชจเซเชฆเซเชฐเชฟเชค เชเชฐเซเชถเซเช.
เชฎเซเชเชพเชญเชพเชเชจเซ เช เชฐเชเซเช เชฎเชพเชเซ ns-3 เช เชงเชฟเชเชพเชฐเซ เชฐเซเช เชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เช เชจเชชเซเชฐเซเชตเชฒเซเชเซเชก เชฏเซเชเชฐ เชเชเชพเชเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
3.2 เชชเซเชฐเซเชตเชเชฐเซเชฐเซเชฏเชพเชคเซ
เชเชชเชฒเชฌเซเชง ns-3 เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเชพ เชธเชฎเชเซเชฐ เชธเซเชเชฎเชพเช เชคเซเชคเซเชฏ-เชชเชเซเชท เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชชเชฐ เชธเชเชเซเชฏเชพเชฌเชเชง เช
เชตเชฒเชเชฌเชจ เชเซ, เชชเชฐเชเชคเซ เชฎเซเชเชพเชญเชพเชเชจเชพ เชญเชพเช เชฎเชพเชเซ ns-3 เชเซเชเชฒเชพเช เชธเชพเชฎเชพเชจเซเชฏ (เชเชฃเซ เชตเชเชค เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเชพ) เชเชเชเซเชจเชพ เชธเชฎเชฐเซเชฅเชจ เชธเชพเชฅเซ เชฌเชจเชพเชตเซ เชถเชเชพเชฏ เชเซ เช
เชจเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเช เชถเชเชพเชฏ เชเซ: เชเช C++ เชเชฎเซเชชเชพเชเชฒเชฐ, เชชเชพเชฏเชฅเซเชจ, เชธเซเชคเซเชฐเซเชค เชเซเชก เชธเชเชชเชพเชฆเช (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชตเชฟเชฎ, emacs เช
เชฅเชตเชพ เชเซเชฐเชนเชฃ) เช
เชจเซ, เชเซ เชกเซเชตเชฒเชชเชฎเซเชจเซเช เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ Git เชตเชฐเซเชเชจ เชเชเชเซเชฐเซเชฒ เชธเชฟเชธเซเชเชฎเซเชธ. เชฎเซเชเชพเชญเชพเชเชจเชพ เชชเซเชฐเชฅเชฎ-เชตเชเชคเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเช เชเชฟเชเชคเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ เชเซ เชคเซเชฎเชจเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชฎเชพเช เชเซเชเชฒเซเช ns-3 เช
เชฆเซเชฏเชคเชจ เชธเซเชตเชฟเชงเชพเช เชเซเชเซ เชเซ, เชชเชฐเชเชคเซ เชเซเช เชธเชเชชเซเชฐเซเชฃ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชเชเซเชเชคเชพ เชนเซเชฏ เชคเซเชฎเชจเชพ เชฎเชพเชเซ, เชชเซเชฐเซเชเซเชเซเช เชเช เชตเชฟเชเชฟ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ เชเซเชฎเชพเช เชเชฃเซ เชฌเชงเซ เชเชชเชฏเซเชเซ เชเซเชชเซเชธ เช
เชจเซ เชฏเซเชเซเชคเชฟเชเชตเชพเชณเชพ เชชเซเชทเซเช เซ เชถเชพเชฎเซเชฒ เชเซ. เชเชตเซเช เชเช เชชเชพเชจเซเช เชธเซเชฅเชพเชชเชจ เชชเซเชทเซเช เชเซ, เชเซเชฎเชพเช เชตเชฟเชตเชฟเชง เชธเชฟเชธเซเชเชฎเซ เชฎเชพเชเซ เชธเซเชฅเชพเชชเชจ เชธเซเชเชจเชพเช เชเชชเชฒเชฌเซเชง เชเซ, เช
เชนเซเช เชเชชเชฒเชฌเซเชง เชเซ:
เช เชตเชฟเชเชฟเชจเซ เชชเซเชฐเซเชตเชเชฐเซเชฐเซเชฏเชพเชคเซ เชตเชฟเชญเชพเช เชธเชฎเชเชพเชตเซ เชเซ เชเซ เชธเชพเชฎเชพเชจเซเชฏ ns-3 เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเชตเชพ เชฎเชพเชเซ เชเชฏเชพ เชชเซเชเซเชเซเชจเซ เชเชตเชถเซเชฏเชเชคเชพ เชเซ เช เชจเซ Linux เช เชฅเชตเชพ macOS เชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชซเซเชฒเซเชตเชฐ เชชเชฐ เชคเซเชฎเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชเชฆเซเชถเซ เชชเชฃ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ.
เชคเชฎเซ ns-3 เชตเชฟเชเชฟ เชชเซเช เช
เชฅเชตเชพ เชฎเซเชเซเชฏ เชตเซเชฌเชธเชพเชเชเชจเซเช เช
เชจเซเชตเซเชทเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชคเชเชจเซ เชฒเชพเชญ เชฒเช เชถเชเซ เชเซ:
เชเซเชฒ เชชเซเชเซเช/เชธเชเชธเซเชเชฐเชฃ
- C++ เชเชฎเซเชชเชพเชเชฒเชฐ
clang++ เช เชฅเชตเชพ g++ (g++ เชธเชเชธเซเชเชฐเชฃ 4.9 เช เชฅเชตเชพ เชเชเซเช) - เชชเชพเชฏเชฅเซเชจ
python2 เชตเชฐเซเชเชจ >= 2.7.10, เช เชฅเชตเชพ python3 เชตเชฐเซเชเชจ >=3.4 - เชเชฟเช
เชเซเชเชชเชฃ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ (GitLab.com เชชเชฐ ns-3 เชเชเซเชธเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ) - เชเชพเชฐ
เชเซเชเชชเชฃ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ (NS-3 เชฐเซเชฒเซเชเชจเซ เช เชจเชชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ) - เชฌเชจเชเชฟเชช2
เชเซเชเชชเชฃ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ (NS-3 เชฐเซเชฒเซเชเชจเซ เช เชจเชชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ)
เชชเชพเชฏเชฅเซเชจเชจเซเช เชกเชฟเชซเซเชฒเซเช เชธเชเชธเซเชเชฐเชฃ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ, เชเชพเชเชช เชเชฐเซ python -V
. g++ เชธเชเชธเซเชเชฐเชฃ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ, เชเชพเชเชช เชเชฐเซ g++ -v
. เชเซ เชเซเช เชเซเชฒเซเชธ เชเซเชเซ เชเซ เช
เชฅเชตเชพ เชเซเชฌ เชเซเชจเชพ เชเซ, เชคเซ เชเซเชชเชพ เชเชฐเซเชจเซ ns-3 เชตเชฟเชเชฟ เชชเซเชทเซเช เชชเชฐ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชจเซ เชธเชเชฆเชฐเซเชญ เชฒเซ.
เชนเชตเซเชฅเซ, เช เชฎเซ เชงเชพเชฐเซเช เชเซเช เชเซ เชฐเซเชกเชฐ Linux, MacOS เช เชฅเชตเชพ Linux เชเชฎเซเชฏเซเชฒเซเชเชฐ เชเชฒเชพเชตเซ เชฐเชนเซเชฏเซ เชเซ, เช เชจเซ เชเชเชพเชฎเชพเช เชเชเชพ เชเชชเชฐเซเชเซเชค เชธเชพเชงเชจเซ เชงเชฐเชพเชตเซ เชเซ.
3.2.1 เชธเซเชคเซเชฐเซเชค เชเชฐเซเชเชพเชเชต เชคเชฐเซเชเซ ns-3 เชฐเซเชฒเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
ns-3 เชจเชพ เชจเชตเซเชจเชคเชฎ เชชเซเชฐเชเชพเชถเชจ เช เชจเซ เชชเซเชเซเช เชธเชเชธเซเชเชฐเชฃเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เช เชจเซ เชชเซเชฐเชฏเซเช เชเชฐเชตเชพ เชเชเซเชเชคเชพ เชจเชตเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เช เชเซเชฐเชฟเชฏเชพเชจเซ เชฎเชพเชฐเซเช เชเซ. ns-3 เชชเซเชฐเชเชพเชถเชจเซ เชธเชเชเซเชเชฟเชค เชธเซเชคเซเชฐเซเชค เชเชฐเซเชเชพเชเชตเซเชธ เชคเชฐเซเชเซ เชชเซเชฐเชเชพเชถเชฟเชค เชฅเชพเชฏ เชเซ, เชเซเชจเซ เชเซเชฏเชพเชฐเซเช เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเชพเชฐเชฌเซเชฒ. เชเชพเชฐเชฌเซเชฒ เชเช เชตเชฟเชถเชฟเชทเซเช เชธเซเชซเซเชเชตเซเชฐ เชเชฐเซเชเชพเชเชต เชซเซเชฐเซเชฎเซเช เชเซ เชเซเชฎเชพเช เชเชฃเซ เชซเชพเชเชฒเซเชจเซ เชเชเชธเชพเชฅเซ เชเซเชกเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชฐเซเชเชพเชเชต เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชเชเซเชเชฟเชค เชนเซเชฏ เชเซ. เชฎเชพเชฐเชซเชคเซ ns-3 เชฌเซเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชพเชฐเชฌเซเชฒ เชธเชฐเชณ เชเซ, เชคเชฎเชพเชฐเซ เชซเชเซเชค เชฐเชฟเชฒเซเช เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ, เชคเซเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซ เช เชจเซ เชคเซเชจเซ เช เชจเชชเซ เช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชเชพเชฒเซ เชฎเชพเชจเซ เชฒเชเช เชเซ เชคเชฎเซ, เชเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชคเชฐเซเชเซ, เชจเชพเชฎเชจเซ เชธเซเชฅเชพเชจเชฟเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช ns-3 เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซ เชเชพเชฐเซเชฏเชธเซเชฅเชณ. เชคเชฎเซ Linux เชเชจเซเชธเซเชฒเชฎเชพเช เชจเซเชเซเชจเชพ เชฆเชพเชเชฒ เชเชฐเซเชจเซ เชชเซเชฐเชเชพเชถเชจเชจเซ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชเชฒ เชฎเซเชณเชตเซ เชถเชเซ เชเซ (เช เชฒเชฌเชคเซเชค, เชฏเซเชเซเชฏ เชธเชเชธเซเชเชฐเชฃ เชจเชเชฌเชฐเซเชจเซ เชฌเชฆเชฒเซเชจเซ)
$ cd
$ mkdir workspace
$ cd workspace
$ wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2
$ tar xjf ns-allinone-3.29.tar.bz2
เชเชชเชฐเซเชเซเชค เชเชชเชฏเซเชเชฟเชคเชพ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซ เชตเซเช, เชเซ เชเชจเซเชเชฐเชจเซเช เชชเชฐเชฅเซ เชเชฌเซเชเซเชเซเชเซเชธ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ เชเซเชฒ เชเซ. เชเซ เชคเชฎเซ เชคเซเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเช เชจเชฅเซ, เชคเซ เชคเชฎเซ เช เชฎเชพเชเซ เชคเชฎเชพเชฐเชพ เชฌเซเชฐเชพเชเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ.
เช เชชเชเชฒเชพเชเชเชจเซเช เช เชจเซเชธเชฐเชฃ เชคเชฎเชจเซ ns-allinone-3.29 เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฒเช เชเชถเซ, เชคเซเชฏเชพเช เชคเชฎเชพเชฐเซ เชเชฃเซ เชซเชพเชเชฒเซ เช เชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชเซเชตเซ เชเซเชเช.
$ cd ns-allinone-3.29
$ ls
bake constants.py ns-3.29 README
build.py netanim-3.108 pybindgen-0.17.0.post58+ngcf00cc0 util.py
เชคเชฎเซ เชนเชตเซ ns-3 เชฌเซเช เชกเชฟเชธเซเชเซเชฐเชฟเชฌเซเชฏเซเชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ เช เชจเซ ns-3 เชฌเชฟเชฒเซเชกเชฟเชเช เชชเชฐเชจเชพ เชตเชฟเชญเชพเชเชฎเชพเช เชเชเชณ เชตเชงเซ เชถเชเซ เชเซ.
3.3 Git เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ns-3 เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
ns-3 เชเซเชก GitLab.com เชชเชฐ Git เชฐเชฟเชชเซเชเซเชเชฐเซเชเชฎเชพเช เชเชชเชฒเชฌเซเชง เชเซ
เชเชฟเช เชฐเชฟเชชเซเชเซเชเชฐเซเชเชจเซ เชเชชเชฏเซเช เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชธเซเชฅเซ เชธเชนเซเชฒเซ เชฐเชธเซเชคเซ เช เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ เชซเซเชฐเซเช เช เชฅเชตเชพ เชเซเชฒเซเชจ เชเชฐเชตเชพเชจเซ เชเซ ns-3-เชเชฒเซเชจเซเชจ. เช เชธเซเชเซเชฐเชฟเชชเซเชเซเชจเซ เชธเชฎเซเชน เชเซ เชเซ เชธเซเชฅเซ เชตเชงเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเซ ns-3 เชธเชฌเชธเชฟเชธเซเชเชฎเชจเชพ เชฒเซเชกเชฟเชเช เช เชจเซ เชเชธเซเชฎเซเชฌเชฒเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เชเซ. เชเซ เชคเชฎเซ Git เชฎเชพเชเซ เชจเชตเชพ เชเซ, เชคเซ "เชซเซเชฐเซเช" เช เชจเซ "เชเซเชฒเซเชจ" เชถเชฌเซเชฆเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เช เชเชพเชฃเซเชฏเชพ เชนเซเช เชถเชเซ เชเซ; เชเซ เชเชฎ เชนเซเชฏ เชคเซ, เช เชฎเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชเซ เชคเชฎเซ GitLab.com เชชเชฐ เชธเซเชฅเชฟเชค เชฐเซเชชเซเชเซเชเชฐเซเชจเซ เช เชฐเซเชคเซ เชเซเชฒเซเชจ เชเชฐเซ (เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชจเชเชฒ เชฌเชจเชพเชตเซ)
$ cd
$ mkdir workspace
$ cd workspace
$ git clone https://gitlab.com/nsnam/ns-3-allinone.git
$ cd ns-3-allinone
เช เชคเชฌเชเซเชเซ, เชคเชฎเชพเชฐเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซเช เชฆเซเชถเซเชฏ ns-3-เชเชฒเซเชจเซเชจ เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชชเซเชฐเชเชพเชถเชจ เชเชฐเซเชเชพเชเชต เชกเชฟเชฐเซเชเซเชเชฐเซเชฅเซ เชฅเซเชกเซเช เช เชฒเช. เชคเซ เชเชจเชพ เชเซเชตเซเช เชเชเชเช เชฆเซเชเชพเชตเซเช เชเซเชเช:
$ ls
build.py constants.py download.py README util.py
เชฎเชนเซเชฐเชฌเชพเชจเซ เชเชฐเซเชจเซ เชจเซเชเชง เชเชฐเซ เชเซ เชเช เชธเซเชเซเชฐเชฟเชชเซเช เชเซ download.py, เชเซ เชตเชงเซเชฎเชพเช ns-3 เช เชจเซ เชคเซเชจเซ เชธเชพเชฅเซเชจเซ เชธเซเชฐเซเชธ เชเซเชก เชเชพเชขเชถเซ. เช เชนเซเช เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชธเชเชฆเชเซ เชเซ: เชเชพเช เชคเซ เชจเชตเซเชจเชคเชฎ ns-3 เชตเชฟเชเชพเชธ เชธเซเชจเซเชชเชถเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเซ:
$ python download.py
เช
เชฅเชตเชพ เชซเซเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ns-3 เชชเซเชฐเชเชพเชถเชจเชจเซ เชชเซเชฐเชพเชงเชพเชจเซเชฏ เชเชชเซ -n
เชชเซเชฐเชเชพเชถเชจ เชจเชเชฌเชฐ เชธเซเชเชตเชตเชพ เชฎเชพเชเซ:
$ python download.py -n ns-3.29
เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เช เชชเชเชฒเชพ เชชเชเซ ns-3-เชเชฒเซเชจเซเชจ เชตเชงเชพเชฐเชพเชจเชพ เชฐเซเชชเซเชเซเชเชฐเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ ns-3, เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช, pybindgen ะธ netanim.
เชจเซเชเชงเชฃเซ
เชธเซเชตเชเซเช Ubuntu16.04 เชธเชพเชฅเซเชจเชพ เชฎเชถเซเชจ เชชเชฐ, เชฎเชพเชฐเซ เชเชฎเชพเช เชเชฆเซเชถ เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ: $ sudo python3 download.py -n ns-3.29
(เชคเซเชฏเชพเชฐเชฌเชพเชฆ เช
เชจเซเชตเชพเชฆเชเชจเซ เชจเซเชเชงเซ).
3.3.1 เชฌเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ns-3 เชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชเชชเชฐเซเชเซเชค เชฌเซ เชชเชฆเซเชงเชคเชฟเช (เชธเซเชฐเซเชค เชเชฐเซเชเชพเชเชต เช เชฅเชตเชพ เชฐเซเชชเซเชเซเชเชฐเซ ns-3-เชเชฒเซเชจเซเชจ Git เชฆเซเชตเชพเชฐเชพ) เชฌเชนเซเชตเชฟเชง เชเชกเชเชจเซเชธ เชธเชพเชฅเซ เชธเชฐเชณ ns-3 เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ(pybindgen เชชเชพเชฏเชฅเซเชจ เชฌเชพเชเชจเซเชกเซเชเช เชเชจเชฐเซเช เชเชฐเชตเชพ เช เชจเซ netanim เชจเซเชเชตเชฐเซเช เชเชจเชฟเชฎเซเชถเชจ เชฎเชพเชเซ). ns-3-allinone เชฎเชพเช เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชชเซเชฐเซ เชชเชพเชกเชตเชพเชฎเชพเช เชเชตเซเชฒ เชคเซเชฐเซเชเซ เชฐเซเชชเซเชเซเชเชฐเซ เชเชนเซเชตเชพเชฏ เชเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช.
เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช ns-3 เชชเซเชฐเซเชเซเชเซเช เชฎเชพเชเซ เชตเชฟเชเชธเชฟเชค, เชฌเชนเซเชตเชฟเชง เชญเชเชกเชพเชฐเชฎเชพเชเชฅเซ เชธเซเชซเซเชเชตเซเชฐเชจเชพ เชธเชเชเชฒเชฟเชค เชจเชฟเชฐเซเชฎเชพเชฃ เชฎเชพเชเซเชจเซเช เชเช เชธเชพเชงเชจ เชเซ. เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช ns-3 เชจเซ เชกเซเชตเชฒเชชเชฎเซเชจเซเช เชเชตเซเชคเซเชคเชฟเช เชฎเซเชณเชตเชตเชพ เชคเซเชฎเช ns-3 เชกเชฟเชธเซเชเซเชฐเชฟเชฌเซเชฏเซเชถเชจเชจเชพ เชฌเซเช เชตเชฐเซเชเชจเชจเชพ เชเชเซเชธเชเซเชจเซเชถเชจเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เช เชจเซ เชฌเชฟเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชพเชชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเซเชฎ เชเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชกเชพเชฏเชฐเซเชเซเช เชเซเชก เชเชเซเชเซเชเซเชฏเซเชถเชจ, CradleNetwork เชธเชฟเชฎเซเชฏเซเชฒเซเชถเชจ เชชเชพเชฐเชฃเซเช, เชจเชตเชพ เชชเชพเชฏเชฅเซเชจ เชฌเชพเชเชจเซเชกเชฟเชเชเซเชธ เช เชจเซ เชตเชฟเชตเชฟเชง ns-3 โเชเชชเซเชฒเชฟเชเซเชถเชจเซโ เชฌเชจเชพเชตเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ.
เชจเซเชเชงเชฃเซ
CradleNetwork Simulation Cradle เช เชเช เชซเซเชฐเซเชฎเชตเชฐเซเช เชเซ เชเซ เชคเชฎเชจเซ เชจเซเชเชตเชฐเซเช เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐเชจเซ เช
เชเชฆเชฐ เชตเชพเชธเซเชคเชตเชฟเช TCP/IP เชจเซเชเชตเชฐเซเช เชธเซเชเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชเซ เชคเชฎเซ เชคเชฎเชพเชฐเชพ ns-3 เชธเซเชฅเชพเชชเชจเชฎเชพเช เช เชฆเซเชฏเชคเชจ เช เชฅเชตเชพ เชตเชงเชพเชฐเชพเชจเชพ เชฒเชเซเชทเชฃเซเชจเซ เช เชชเซเชเซเชทเชพ เชฐเชพเชเซ เชเซ, เชคเซ เชคเชฎเซ เช เชธเซเชฅเชพเชชเชจ เชชเชพเชฅเชจเซ เช เชจเซเชธเชฐเซ เชถเชเซ เชเซ.
เชจเชตเซเชจเชคเชฎ ns-3 เชชเซเชฐเชเชพเชถเชจเซเชฎเชพเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชเชพเชฐ เชฐเชฟเชฒเซเชเชฎเชพเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช. เชชเซเชฐเชเชพเชถเชจเชฎเชพเช เชเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เชเซ เชคเชฎเชจเซ เชชเซเชฐเชเชพเชถเชจเชจเชพ เชธเชฎเชฏเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชซเซเชเชตเซเชฐ เชธเชเชธเซเชเชฐเชฃเซเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชคเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเชเชธเซเชเชฐเชฃ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช, เชเซ เชชเซเชฐเชเชพเชถเชจ ns-3.29 เชธเชพเชฅเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชจเซ เชเชชเชฏเซเช ns-3 เช เชฅเชตเชพ เชคเซเชจเชพ เชชเชนเซเชฒเชพเชจเชพ เชชเซเชฐเชเชพเชถเชจ เชฎเชพเชเซ เชเชเชเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชชเชเซเชจเชพ เชชเซเชฐเชเชพเชถเชจเซ เชฎเชพเชเซ เชเชเชเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ (เชเซ เชชเซเชเซเช เชตเชฐเซเชฃเชจ เชซเชพเชเชฒ bakeconf.xml เช เชชเชกเซเช เชจเชฅเซ).
เชคเชฎเซ เชจเชตเซเชจเชคเชฎ เชจเชเชฒ เชชเชฃ เชฎเซเชณเชตเซ เชถเชเซ เชเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเชเชคเชฎเชพเชฐเชพ Linux เชเชจเซเชธเซเชฒเชฎเชพเช เชจเซเชเซเชจเซ เชเชฆเซเชถ เชฆเชพเชเชฒ เชเชฐเซเชจเซ (เชงเชพเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช เชเซ เชคเชฎเซ Git เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเช เชเซ):
$ cd
$ mkdir workspace
$ cd workspace
$ git clone https://gitlab.com/nsnam/bake.git
เชเซเชฏเชพเชฐเซ เชคเชฎเซ git เชเชฆเซเชถ เชเชฒเชพเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเซเชตเซเช เชเชเชเช เชเซเชตเซเช เชเซเชเช:
Cloning into 'bake'...
remote: Enumerating objects: 2086, done.
remote: Counting objects: 100% (2086/2086), done.
remote: Compressing objects: 100% (649/649), done.
remote: Total 2086 (delta 1404), reused 2078 (delta 1399)
Receiving objects: 100% (2086/2086), 2.68 MiB | 3.82 MiB/s, done.
Resolving deltas: 100% (1404/1404), done.
เชเชฆเซเชถ เชชเซเชฐเซเชฃ เชฅเชฏเชพ เชชเชเซ เชเซเชฒเซเชจ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชจเชพเชฎเชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชนเซเชตเซ เชเซเชเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช, เชเซเชจเชพเช เชธเชฎเชพเชตเชฟเชทเซเชเซ เชเชเชเช เชเชจเชพ เชเซเชตเชพ เชฆเซเชเชพเชตเชพ เชเซเชเช:
$ cd bake
$ ls
bake bakeconf.xml bake.py doc examples generate-binary.py test TODO
เชจเซเชเชง เชเชฐเซ เชเซ เชคเชฎเซ เชเชฃเซ เชชเชพเชฏเชฅเซเชจ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชฒเซเชก เชเชฐเซ เชเซ, เชจเชพเชฎเชจเซเช เชชเชพเชฏเชฅเซเชจ เชฎเซเชกเซเชฏเซเชฒ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เช เชจเซ XML เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ. เชเชเชณเชจเซเช เชชเชเชฒเซเช เช เชคเชฎเชพเชฐเซ เชชเชธเชเชฆเชเซเชจเชพ ns-3 เชตเชฟเชคเชฐเชฃเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เช เชจเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เช เชธเซเชเซเชฐเชฟเชชเซเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชเซ. เชเซเชเชฒเชพเช เชเชธเซเชเชฎเชพเชเชเซเชถเชจ เชฒเชเซเชทเซเชฏเซ เชเชชเชฒเชฌเซเชง เชเซ:
-
ns-3.29: เชชเซเชฐเชเชพเชถเชจเชจเซ เช เชจเซเชฐเซเชช เชฎเซเชกเซเชฏเซเชฒ; เชคเซ เชเชพเชฐเชฌเซเชฒเชฎเชพเช เชชเซเชฐเชเชพเชถเชจ เชเซเชตเชพ เชเชเชเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชถเซ;
-
ns-3-dev: เชธเชฎเชพเชจ เชฎเซเชกเซเชฏเซเชฒ, เชชเชฐเชเชคเซ เชตเชฟเชเชพเชธ เชตเซเชเซเชทเชฎเชพเชเชฅเซ เชเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ;
-
ns-allinone-3.29: เชเช เชฎเซเชกเซเชฏเซเชฒ เชเซเชฎเชพเช เช เชจเซเชฏ เชตเชงเชพเชฐเชพเชจเซ เชธเซเชตเชฟเชงเชพเช เชเซเชฎ เชเซ เชเซเชฒเชฟเช เชฐเซเชเซเชเช เช เชจเซ เชจเซเชเชตเชฐเซเช เชธเชฟเชฎเซเชฏเซเชฒเซเชถเชจ เชเซเชฐเซเชกเชฒ, ns-3 เชฎเชพเชเซ เชเชชเชจเชซเซเชฒเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ.
-
ns-3-เชเชฒเซเชจเซเชจ: เชฎเซเชกเซเชฏเซเชฒเชจเชพ เชชเซเชฐเชเชพเชถเชจ เชธเชเชธเซเชเชฐเชฃ เชเซเชตเซเช เช เชเช เชฎเชพ เชฌเชงเซ, เชชเชฐเชเชคเซ เชตเชฟเชเชพเชธ เชเซเชก เชฎเชพเชเซ.
เชจเซเชเชงเชฃเซ
เชเซเชฒเชฟเช เชเชฐเซ โ เชฐเชพเชเชเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชฎเซเชกเซเชฏเซเชฒเชฐ เชธเซเชซเซเชเชตเซเชฐ เชเชฐเซเชเชฟเชเซเชเซเชเชฐ.
เชเชชเชจเชซเซเชฒเซ เช เชฐเชพเชเชเชฐเซเชธ เช เชจเซ เชธเซเชตเชฟเช เชฆเซเชตเชพเชฐเชพ เชกเซเชเชพ เชจเซเชเชตเชฐเซเช เชชเชฐ เชชเซเชฐเชธเชพเชฐเชฟเชค เชกเซเชเชพ เชชเซเชฐเซเชธเซเชธเชฟเชเชเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชฎเซเชจเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชชเซเชฐเซเชเซเชเซเชฒ เชเซ, เชเซ เชธเซเชซเซเชเชตเซเชฐ-เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชจเซเชเชตเชฐเซเช เชคเชเชจเซเชเชจเซ เช เชฎเชฒ เชเชฐเซ เชเซ.
เชตเชฐเซเชคเชฎเชพเชจ เชตเชฟเชเชพเชธ เชธเซเชจเซเชชเชถเซเช (เชฌเชฟเชจ-เชชเซเชฐเชเชพเชถเชจ) ns-3 เช
เชนเซเช เชฎเชณเซ เชถเชเซ เชเซ:
เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เช เชญเชเชกเชพเชฐเซเชจเซ เชธเชคเชค เชเชพเชฐเซเชฏเชเชพเชฐเซ เชเซเชฐเชฎเชฎเชพเช เชฐเชพเชเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชตเชฟเชเชพเชธ เชเซเชทเซเชคเซเชฐเชฎเชพเช เชเซ เช เชจเซ เชคเซเชฎเชพเช เช เชชเซเชฐเชเชพเชถเชฟเชค เชเซเชก เชเซ, เชคเซเชฅเซ เชเซ เชคเชฎเซ เชจเชตเซ เชธเซเชตเชฟเชงเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฏเซเชเชจเชพ เชจ เชงเชฐเชพเชตเชคเชพ เชนเซ, เชคเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชชเซเชฐเชเชพเชถเชจ เชชเชธเชเชฆ เชเชฐเซ.
เชคเชฎเซ เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชฏเชพเชฆเซ เชฌเซเชฐเชพเชเช เชเชฐเซเชจเซ เช
เชฅเชตเชพ ns-3 เชฐเซเชฒเซเช เชตเซเชฌ เชชเซเช เชชเชฐ เชเชเชจเซ เชเซเชกเชจเซเช เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ เชถเซเชงเซ เชถเชเซ เชเซ:
เชนเชตเซ, เช เชฎเชจเซ เชเชฐเซเชฐเซ ns-3 เชเชเชเซ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช. เชเชพเชฒเซ เชเชพเชฎ เชตเชฟเชถเซ เชฅเซเชกเชพ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชถเชฌเซเชฆเซ เชเชนเซเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช.
เชฌเซเช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชชเซเชเซเช เชธเซเชคเซเชฐเซเชคเซ เชฒเซเชก เชเชฐเซเชจเซ เชเชพเชฎ เชเชฐเซ เชเซ เชธเซเชคเซเชฐเซเชค เช เชจเซ เชฌเชฟเชฒเซเชก เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช. เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชฆเซเชตเชฟเชธเชเชเซ เชธเชเชฆเชฐเซเชญ เชฆเซเชตเชพเชฐเชพ เชเชฒเชพเชตเซ เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชคเซ เชกเชพเชฏเชฐเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ เชจเชนเซเช เชเซ เชเซเชฎเชพเช เชคเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ, เชคเซเชฎเชพเช เชชเชพเชฅ เชเชฎเซเชฐเชตเชพเชจเซ เชธเชฒเชพเชน เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชคเชฎเชพเชฐเชพ เชชเชพเชฅ เชชเชฐ (PATH เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒ), เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชจเซเชเซ เชฎเซเชเชฌ (เชฒเชฟเชจเชเซเชธ เชฌเซเชถ เชถเซเชฒ เชฎเชพเชเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ). "เชฌเซเช" เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฐ เชเชพเช เช เชจเซ เชชเชเซ เชจเซเชเซเชจเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซ เชธเซเช เชเชฐเซ:
$ export BAKE_HOME=`pwd`
$ export PATH=$PATH:$BAKE_HOME:$BAKE_HOME/build/bin
$ export PYTHONPATH=$PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/lib
เช เชเชพเชฐเซเชฏเชเซเชฐเชฎ เชฎเซเชเชถเซ bake.py เชถเซเชฒ เชชเชพเชฅ เชชเชฐ เชเชพเช เช เชจเซ เช เชจเซเชฏ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธเชจเซ เชคเซ เชฌเชจเชพเชตเซเชฒ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เช เชจเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชถเซเชงเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช. เชเซเชเชฒเชพเช เชเชชเชฏเซเชเชจเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช, เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฒ PATH เช เชจเซ PYTHONPATH เชธเซเชเชฟเชเช เชเชฐเซเชฐเซ เชจเชฅเซ, เชชเชฐเชเชคเซ ns-3-allinone (เชตเชงเชพเชฐเชพเชจเชพ เชชเซเชเซเชเซ เชธเชพเชฅเซ) เชจเชพ เชธเชเชชเซเชฐเซเชฃ เชฌเชฟเชฒเซเชก เชฎเชพเชเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชคเซเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชเซ.
เชคเชฎเชพเชฐเซ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชชเชฐ เชเชพเช เช เชจเซ เชเชจเซเชธเซเชฒเชฎเชพเช เชจเซเชเซเชจเชพ เชฆเชพเชเชฒ เชเชฐเซ:
$ ./bake.py configure -e ns-3.29
เชเชเชณ เชเชชเชฃเซ เชชเซเชเซเชถเซเช เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชคเชชเชพเชธเซ เชเซ เชถเซเช เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชตเชฟเชตเชฟเชง เชเชเชเซ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเชพ เชธเชพเชงเชจเซ เชเซ. เชกเชพเชฏเชฒ เชเชฐเซ:
$ ./bake.py check
เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเซเชตเซเช เชเชเชเช เชเซเชตเซเช เชเซเชเช:
> Python - OK
> GNU C++ compiler - OK
> Mercurial - OK
> Git - OK
> Tar tool - OK
> Unzip tool - OK
> Make - OK
> cMake - OK
> patch tool - OK
> Path searched for tools: /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin ...
เชเชพเชธ เชเชฐเซเชจเซ, เช เชชเชฒเซเชก เชเซเชฒเซเชธ เชเซเชฎ เชเซ เชฎเชฐเซเชเซเชฏเซเชฐเชฟเชฏเชฒ, เชธเซเชตเซเชเชธ, เชเชฟเช เช เชจเซ เชฌเชเชพเชฐ เช เชชเชเชฒเชพเชฎเชพเช เชเชตเชถเซเชฏเช เชเซ เชเชพเชฐเชฃ เชเซ เชคเซ เช เชฎเชจเซ เชเซเชก เชฎเซเชณเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เช เชฌเชฟเชเชฆเซเช, เชคเชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชฎเชพเชเซ เชเซเชฎ เชฅเชฏเซเชฒ เชธเชพเชงเชจเซเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ (เชเซ เชคเชฎเซ เชเชพเชฃเซ เชเซ เชเซ เชเซเชตเซ เชฐเซเชคเซ) เช เชฅเชตเชพ เชฎเชฆเชฆ เชฎเชพเชเซ เชคเชฎเชพเชฐเชพ เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเชจเซ เชธเชเชชเชฐเซเช เชเชฐเซ.
เชเชเชณ, เชธเซเชซเซเชเชตเซเชฐ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ:
$ ./bake.py download
เชชเชฐเชฟเชฃเชพเชฎ เชเชเชเช เชเชจเชพ เชเซเชตเซเช เชนเซเชตเซเช เชเซเชเช:
>> Searching for system dependency setuptools - OK
>> Searching for system dependency libgoocanvas2 - OK
>> Searching for system dependency gi-cairo - OK
>> Searching for system dependency pygobject - OK
>> Searching for system dependency pygraphviz - OK
>> Searching for system dependency python-dev - OK
>> Searching for system dependency qt - OK
>> Searching for system dependency g++ - OK
>> Downloading pybindgen-0.19.0.post4+ng823d8b2 (target directory:pybindgen) - OK
>> Downloading netanim-3.108 - OK
>> Downloading ns-3.29 - OK
เชเชจเซ เช เชฐเซเชฅ เช เชฅเชถเซ เชเซ เชคเซเชฐเชฃ เชธเซเชคเซเชฐเซเชคเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ. เชนเชตเซ เชธเซเชคเซเชฐเซเชค เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฐ เชเชพเช เช เชจเซ ls เชฒเชเซ; เชคเชฎเชพเชฐเซ เชเซเชตเซเช เชเซเชเช:
$ cd source
$ ls
netanim-3.108 ns-3.29 pybindgen
เชนเชตเซ เชคเชฎเซ ns-3 เชตเชฟเชคเชฐเชฃ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ.
3.4 เชเชธเซเชฎเซเชฌเชฒเซ เชเชจเชเชธ-3
เชเชจเชเชธ-3 เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซ เชเซเชฎ, เชเชจเชเชธ-3 เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชเซ. เช เชฎเซ เชเซ เชฎเซเชเซเชฏ เชตเชธเซเชคเซ เชชเชฐ เชญเชพเชฐ เชฎเซเชเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชคเซ เช เชเซ เชเซ ns-3 เชจเชพเชฎเชจเชพ เชฌเชฟเชฒเซเชก เชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชตเชพเชซเชจเซเชเซ เชตเชฐเซเชฃเชตเซเชฒ. เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชถเซ เชตเชพเชซ, เชชเชฐเชเชคเซ เชคเชฎเชจเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชฎเชพเช เช เชฅเชตเชพ เชตเชงเซ เชเชเชฟเชฒ เชฌเชฟเชฒเซเชกเซเชธเชจเซ เชเซเช เชตเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชเชฒเซเช เชธเชฐเชณ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชเซ. เชคเซเชฅเซ เชเซเชชเชพ เชเชฐเซเชจเซ, เชคเชฎเซ เชคเซเชจเชพ เชตเชฟเชถเซ เชตเชพเชเชเซ เชคเซ เชชเชนเซเชฒเชพเช เชตเชพเชซ, เชเช เชจเชเชฐ เชจเชพเชเซ build.py เช เชจเซ เชธเชพเชฅเซ เชเชธเซเชฎเซเชฌเชฒเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช.
3.4.1 build.py เชธเชพเชฅเซ เชฌเชฟเชฒเซเชกเซเชเช
เชธเชพเชตเชงเชพเชจ เช เชฌเชฟเชฒเซเชก เชธเซเชเซเชช เชซเชเซเชค เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฏเชพ เชฎเซเชเชฌ เชชเซเชฐเชพเชชเซเชค เชเชฐเซเชฒ เชธเซเชคเซเชฐเซเชค เชเชฐเซเชเชพเชเชต เชธเชเชธเซเชเชฐเชฃเชฎเชพเชเชฅเซ เชเชชเชฒเชฌเซเชง เชเซ; เช เชจเซ เชเชฟเช เช เชฅเชตเชพ เชฌเซเช เชฆเซเชตเชพเชฐเชพ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ เชจเชฅเซ.
เชชเซเชฐเชเชพเชถเชจ เชเชฐเซเชเชพเชเชต เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชเชพเชฐเชฌเซเชฒเชฎเชพเช ns-3-เชเชฒเซเชจเซเชจ เชคเซเชฏเชพเช เชเช เชธเชฐเชณ เชธเซเชเซเชฐเชฟเชชเซเช เชเซ เชเซ เชเชเชเซเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซเช เชธเชฐเชณ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เชคเซเชจเซ build.py เชเชนเซเชตเชพเชฏ เชเซ. เช เชชเซเชฐเซเชเซเชฐเชพเชฎ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชธเซเชฅเซ เชเชชเชฏเซเชเซ เชฐเซเชคเซ เชชเซเชฐเซเชเซเชเซเช เชธเซเช เชเชฐเชถเซ. เชเซ เชเซ, เชจเซเชเชง เชเชฐเซ เชเซ ns-3 เชธเชพเชฅเซ เชตเชงเซ เช เชฆเซเชฏเชคเชจ เชธเซเชเช เชช เช เชจเซ เชเชพเชฎเชฎเชพเช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ ns-3 เชจเซ เชชเซเชคเชพเชจเซ เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชเชฎ, Waf เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เช เชเซเชฏเซเชเซเชฐเซเชฏเชฒเชฎเชพเช เชชเชเซเชฅเซ เชฐเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเซ เชคเชฎเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชเซ เชเชพเชฐเชฌเซเชฒ, เชชเชเซ เชคเชฎเชพเชฐเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช ~/เชเชพเชฐเซเชฏเชเซเชทเซเชคเซเชฐ เชเชเชเช เชจเชพเชฎ เชธเชพเชฅเซ เชกเชฟเชฐเซเชเซเชเชฐเซ ns-allinone-3.29. เชจเซเชเซเชจเชพ เชฆเชพเชเชฒ เชเชฐเซ:
$ ./build.py --enable-examples --enable-tests
เชเซเชฏเชพเชฐเซ เชฌเซเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ build.py เช เชฎเซ เช เชเซเชฏเซเชเซเชฐเซเชฏเชฒเชฎเชพเช เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฆเซเชถ เชตเชพเชเซเชฏ เชฆเชฒเซเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ, เชเซ ns-3 เชฎเชพเช เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชฌเชพเชเชงเชตเชพเชฎเชพเช เชเชตเชคเชพ เชจเชฅเซ. เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎ เชฌเชงเชพ เชเชชเชฒเชฌเซเชง เชฎเซเชกเซเชฏเซเชฒเซ เชชเชฃ เชฌเชจเชพเชตเซ เชเซ. เชชเชเซ, เชเซ เชคเชฎเซ เชเชเซเชเซ, เชคเซ เชคเชฎเซ เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชตเชฟเชจเชพ ns-3 เชฌเชจเชพเชตเซ เชถเชเซ เชเซ, เช เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เชเชพเชฐเซเชฏ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชจ เชนเซเชฏ เชคเซเชตเชพ เชฎเซเชกเซเชฏเซเชฒเซเชจเซ เชฌเชพเชเชพเชค เชเชฐเซ เชถเชเซ เชเซ.
เชคเชฎเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฃเชพเช เชเชฎเซเชชเชพเชเชฒเชฐ เชเชเชเชชเซเช เชธเชเชฆเซเชถเชพเช เชเซเชถเซ เชเชพเชฐเชฃ เชเซ เชคเซ เชคเชฎเซ เชฒเซเชก เชเชฐเซเชฒเชพ เชตเชฟเชตเชฟเชง เชญเชพเชเซ เชฌเชจเชพเชตเซ เชเซ. เชชเซเชฐเชฅเชฎ เชธเซเชเซเชฐเชฟเชชเซเช เชเชจเชฟเชฎเซเชเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ netanim, เชชเชเซ เชฌเชเชงเชจเชเชฐเซเชคเชพ เชเชจเชฐเซเชเชฐ pybindgen เช เชจเซ เชเซเชฒเซเชฒเซ ns-3. เชเซเชฏเชพเชฐเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชชเซเชฐเซเชฃ เชฅเชพเชฏ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเซ เชฌเชพเชฌเชคเซ เชเซเชตเซ เชเซเชเช:
Waf: Leaving directory '/path/to/workspace/ns-allinone-3.29/ns-3.29/build'
'build' finished successfully (6m25.032s)
Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility mpi
netanim (no Python) network nix-vector-routing
olsr point-to-point point-to-point-layout
propagation sixlowpan spectrum
stats tap-bridge test (no Python)
topology-read traffic-control uan
virtual-net-device visualizer wave
wifi wimax
Modules not built (see ns-3 tutorial for explanation):
brite click openflow
Leaving directory ./ns-3.29
เชฒเชฟเชธเซเชเชฟเชเชเชจเซ เชเซเชฒเซเชฒเซ เชคเซเชฐเชฃ เชฒเซเชเซเชเชฎเชพเช เชเชชเชฃเซ เชเชตเชพ เชฎเซเชกเซเชฏเซเชฒเซ เชตเชฟเชถเซเชจเซ เชธเชเชฆเซเชถเซ เชเซเชเช เชเซเช เชเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชจ เชนเชคเชพ:
Modules not built (see ns-3 tutorial for explanation):
brite click
เชเชจเซ เชธเซเชงเซ เช เชฐเซเชฅ เช เชฅเชพเชฏ เชเซ เชเซ เชเซเชเชฒเชพเช ns-3 เชฎเซเชกเซเชฏเซเชฒเซ เชเซ เชเซ เชฌเชพเชนเซเชฏ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ เชคเซ เชเชฆเชพเช เชฌเชจเซเชฒ เชจ เชนเซเชฏ, เช เชฅเชตเชพ เช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฎเชพเชเซ เชคเซเชจเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชเชจเซ เช เชฐเซเชฅ เช เชจเชฅเซ เชเซ เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ เชเชธเซเชฎเซเชฌเชฒ เชจเชฅเซ เช เชฅเชตเชพ เชเชธเซเชฎเซเชฌเชฒ เชฎเซเชกเซเชฏเซเชฒเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชถเซ เชจเชนเซเช.
3.4.2 เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชธเชพเชฅเซ เชฎเชเชพเชจ
เชเซ เชคเชฎเซ เชชเซเชฐเซเชเซเชเซเช เชฐเซเชชเซเชเซเชเชฐเซเชเชฎเชพเชเชฅเซ เชธเซเชฐเซเชธ เชเซเชก เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเซเชค เชฌเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชนเซเชฏ, เชคเซ เชคเชฎเซ ns-3 เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชถเชเซ เชเซ. เชกเชพเชฏเชฒ เชเชฐเซ:
$ ./bake.py build
เช เชจเซ เชคเชฎเชพเชฐเซ เชเชจเชพ เชเซเชตเซเช เชเชเชเช เชเซเชตเซเช เชเซเชเช:
>> Building pybindgen-0.19.0.post4+ng823d8b2 - OK
>> Building netanim-3.108 - OK
>> Building ns-3.29 - OK
เชเชชเซเชฒเซเช: เชคเชฎเซ "bake.py deploy" เชจเซ เชเซเชฒ เชเชฐเซเชจเซ เชเช เชธเชพเชฅเซ เชกเชพเชเชจเชฒเซเชก เช เชจเซ เชฌเชฟเชฒเซเชก เชธเซเชเซเชชเซเชธ เชฌเชเชจเซ เชเชฐเซ เชถเชเซ เชเซ.
เชฌเชงเชพ เชเชเชเซเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซเช เชจเชฟเชทเซเชซเชณ เชฅเช เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชเซ เชเชเชเชจเซ เชเชตเชถเซเชฏเชเชคเชพ เชจ เชนเซเชฏ เชคเซ เชเชธเซเชฎเซเชฌเชฒเซ เชเชพเชฒเซ เชฐเชนเซเชถเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชพเชเซเชคเชฐเชจเซ เชชเซเชฐเซเชเซเชฌเชฟเชฒเชฟเชเซ เชธเชฎเชธเซเชฏเชพ เชคเซ เชนเชคเซ castxml เชธเชพเชงเชจ เชฆเซเชตเชพเชฐเชพ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซ เชถเชเชพเชฏ เชเซ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช เชฌเชงเชพ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐ เชจเชฅเซ. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเชจเชพ เชเซเชตเซ เชธเชเชฆเซเชถ เชฆเซเชเชพเชถเซ:
>> Building castxml - Problem
> Problem: Optional dependency, module "castxml" failed
This may reduce the functionality of the final build.
However, bake will continue since "castxml" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.
เชเซ เชเซ, castxml เชเซ เชคเชฎเซ เช เชชเชกเซเช เชเชฐเซเชฒ เชชเชพเชฏเชฅเซเชจ เชฌเชพเชเชจเซเชกเซเชเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซเชต เชคเซ เช เชเชฐเซเชฐเซ เชเซ. เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฎเชพเชเซ เชเชจเซ เชเซเช เชเชฐเซเชฐ เชจเชฅเซ (เชเชเชพเชฎเชพเช เชเชเซเช เชเซเชฏเชพเช เชธเซเชงเซ เชคเซเช ns-3 เชฌเชฆเชฒเชคเชพ เชจเชฅเซ), เชคเซเชฅเซ เชเชตเซ เชเซเชคเชตเชฃเซเชเชจเซ เช เชคเซเชฏเชพเชฐเซ เชธเซเชฐเชเซเชทเชฟเชค เชฐเซเชคเซ เช เชตเชเชฃเซ เชถเชเชพเชฏ เชเซ.
เชเซ เชคเซ เชจเชฟเชทเซเชซเชณ เชเชพเชฏ, เชคเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชคเชฎเชจเซ เชเซเชฎ เชฅเชฏเซเชฒ เช เชตเชฒเชเชฌเชจ เชตเชฟเชถเซ เชธเชเชเซเชค เชเชชเชถเซ:
$ ./bake.py show
เชคเชฎเซ เชเซ เชชเซเชเซเชเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซ เชคเซเชจเซ เชตเชฟเชตเชฟเชง เช เชตเชฒเชเชฌเชจ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
3.4.3 Waf เชธเชพเชฅเซ เชฌเชจเชพเชตเซ
เช เชฌเชฟเชเชฆเซ เชธเซเชงเซ, ns-3 เชฌเชจเชพเชตเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเซเชฏเชพเช เชคเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ build.py, เช เชฅเชตเชพ เชธเชพเชงเชจ เชเชฐเชฎเซเชฅเซ เชชเชเชตเชตเซเช. เช เชธเชพเชงเชจเซ ns-3 เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชชเซเชธเซเชคเชเชพเชฒเชฏเซเชจเซ เชเชพเชณเชตเชฃเซ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ. เชนเชเซเชเชคเชฎเชพเช, เชฌเชฟเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเช เชฌเชฟเชฒเซเชก เชเซเชฒ เชเชฒเชพเชตเซ เชเซ เชตเชพเชซ เชกเชฟเชฐเซเชเซเชเชฐเซ ns-3 เชฎเชพเชเชฅเซ. เชตเชพเชซ ns-3 เชธเซเชฐเซเชธ เชเซเชก เชธเชพเชฅเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ. เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพ เช เชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเซเชงเชพ เช nsโ3 เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชกเชชเชฅเซ เชเชเชณ เชตเชงเซ เชเซ เชตเชพเชซ. เชคเซเชฅเซ, เชเชพเชฒเซ เชฐเชพเชเชตเชพ เชฎเชพเชเซ, เชเซเชชเชพ เชเชฐเซเชจเซ เชคเชฎเซ เชฎเซเชณ เชฐเซเชคเซ เชฌเชจเชพเชตเซเชฒเซ ns-3 เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฐ เชเชพเช.
เช เชธเชฎเชฏเซ เชเชจเซ เชธเชเชค เชเชตเชถเซเชฏเชเชคเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เชคเซ เชฅเซเชกเซเช เชฌเซเชเชเซเชฐเซเช เชเชฐเชตเซเช เช เชจเซ เชชเซเชฐเซเชเซเชเซเช เชเซเช เชตเชฃเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซ เชคเซ เชเซเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชฅเชถเซ. เชธเชเชญเชตเชคเช เชธเซเชฅเซ เชเชชเชฏเซเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเซเชฐเชซเชพเชฐ เชคเชฎเซ เชเชฐเซ เชถเชเซ เชเซ เชคเซ เชเซเชกเชจเซเช เชเชชเซเชเชฟเชฎเชพเชเช เชธเชเชธเซเชเชฐเชฃ เชฌเชจเชพเชตเชตเชพเชจเซเช เชเซ. เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชคเชฎเซ เชคเชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเชจเซ เชกเซเชฌเช เชธเชเชธเซเชเชฐเชฃ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซเชฒ เชเซ. เชเชพเชฒเซ เชเชชเซเชเชฟเชฎเชพเชเช เชฌเชฟเชฒเซเชก เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเชพ เชชเซเชฐเซเชเซเชเซเช เชชเชฐ เชเช เชจเชเชฐ เชเชฐเซเช. Waf เชจเซ เชธเชฎเชเชพเชตเชตเชพ เชฎเชพเชเซ เชเซ เชคเซเชฃเซ เชเชชเซเชเชฟเชฎเชพเชเช เชฌเชฟเชฒเซเชกเซเชธ เชฌเชจเชพเชตเชตเซ เชเซเชเช เชเซเชฎเชพเช เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชถเชพเชฎเซเชฒ เชนเซเชฏ, เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถเซ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ:
$ ./waf clean
$ ./waf configure --build-profile=optimized --enable-examples --enable-tests
เช เชฒเซเชจเซเช เชเชฐเชถเซ เชตเชพเชซ เชธเซเชฅเชพเชจเชฟเช เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชฌเชนเชพเชฐ (เชคเชฎเชพเชฐเซ เชธเซเชตเชฟเชงเชพ เชฎเชพเชเซ). เชชเซเชฐเชฅเชฎ เชเชฆเซเชถ เช เชเชพเชเชจเชพ เชฌเชฟเชฒเซเชกเชฎเชพเชเชฅเซ เชธเชพเชซ เชเชฐเซ เชเซ, เช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชเชค เชเชฐเซเชฐเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชคเซ เชธเชพเชฐเซ เชชเซเชฐเซเชเซเชเชฟเชธ เชเซ (เชจเซเชเซ เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒเซเชธ เชชเชฃ เชเซเช); เช เช เชเชพเช เชฌเชจเชพเชตเซเชฒ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เช เชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชธเซเชฅเชฟเชค เชเชฌเซเชเซเชเซเช เชซเชพเชเชฒเซเชจเซ เชเชพเชขเซ เชจเชพเชเชถเซ เชฌเชฟเชฒเซเชก/. เชเซเชฏเชพเชฐเซ เชชเซเชฐเซเชเซเชเซเช เชชเซเชจเชเชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชฅเชพเชฏ เชเซ เช เชจเซ เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชเชฎ เชตเชฟเชตเชฟเชง เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ เชคเชชเชพเชธเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเซเชตเซเช เชเชเชเชชเซเช เชเซเชตเซเช เชเซเชเช:
Setting top to : /home/ns3user/workspace/bake/source/ns-3-dev
Setting out to : /home/ns3user/workspace/bake/source/ns-3-dev/build
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for cc version : 7.3.0
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for compilation flag -march=native support : ok
Checking for compilation flag -Wl,--soname=foo support : ok
Checking for compilation flag -std=c++11 support : ok
Checking boost includes : headers not found, please ,!provide a --boost-includes argument (see help)
Checking boost includes : headers not found, please ,!provide a --boost-includes argument (see help)
Checking for program 'python' : /usr/bin/python
Checking for python version >= 2.3 : 2.7.15 python-config : /usr/bin/python-config
Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes
Testing pyembed configuration : yes
Asking python-config for pyext '--cflags --libs --ldflags' flags : yes
Testing pyext configuration : yes
Checking for compilation flag -fvisibility=hidden support : ok
Checking for compilation flag -Wno-array-bounds support : ok
Checking for pybindgen location : ../pybindgen ,!(guessed)
Checking for python module 'pybindgen' : 0.19.0. ,!post4+g823d8b2
Checking for pybindgen version : 0.19.0. ,!post4+g823d8b2
Checking for code snippet : yes
Checking for types uint64_t and unsigned long equivalence : no
Checking for code snippet : no
Checking for types uint64_t and unsigned long long equivalence : yes
Checking for the apidefs that can be used for Python bindings : gcc-LP64
Checking for internal GCC cxxabi : complete
Checking for python module 'pygccxml' : not found
Checking for click location : not found
Checking for program 'pkg-config' : /usr/bin/pkg- ,!config
Checking for 'gtk+-3.0' : not found
Checking for 'libxml-2.0' : yes
checking for uint128_t : not found
checking for __uint128_t : yes
Checking high precision implementation : 128-bit integer ,!(default)
Checking for header stdint.h : yes
Checking for header inttypes.h : yes
Checking for header sys/inttypes.h : not found
Checking for header sys/types.h : yes
Checking for header sys/stat.h : yes
Checking for header dirent.h : yes
Checking for header stdlib.h : yes
Checking for header signal.h : yes
Checking for header pthread.h : yes
Checking for header stdint.h : yes
Checking for header inttypes.h : yes
Checking for header sys/inttypes.h : not found
Checking for library rt : yes
Checking for header sys/ioctl.h : yes
Checking for header net/if.h : yes
Checking for header net/ethernet.h : yes
Checking for header linux/if_tun.h : yes
Checking for header netpacket/packet.h : yes
Checking for NSC location : not found
Checking for 'sqlite3' : not found
Checking for header linux/if_tun.h : yes
Checking for python module 'gi' : 3.26.1
Checking for python module 'gi.repository.GObject' : ok
Checking for python module 'cairo' : ok
Checking for python module 'pygraphviz' : 1.4rc1
Checking for python module 'gi.repository.Gtk' : ok
Checking for python module 'gi.repository.Gdk' : ok
Checking for python module 'gi.repository.Pango' : ok
Checking for python module 'gi.repository.GooCanvas' : ok
Checking for program 'sudo' : /usr/bin/sudo
Checking for program 'valgrind' : not found
Checking for 'gsl' : not found python-config : not found
Checking for compilation flag -fstrict-aliasing support : ok
Checking for compilation flag -fstrict-aliasing support : ok
Checking for compilation flag -Wstrict-aliasing support : ok
Checking for compilation flag -Wstrict-aliasing support : ok
Checking for program 'doxygen' : /usr/bin/doxygen
---- Summary of optional ns-3 features:
Build profile : optimized
Build directory :
BRITE Integration : not enabled (BRITE not enabled (see option --with- ,!brite))
DES Metrics event collection : not enabled (defaults to disabled)
Emulation FdNetDevice : enabled
Examples : enabled
File descriptor NetDevice : enabled
GNU Scientific Library (GSL) : not enabled (GSL not found)
Gcrypt library : not enabled
(libgcrypt not found: you can use ,!libgcrypt-config to find its location.) GtkConfigStore : not enabled (library 'gtk+-3.0 >= 3.0' not fou nd)
MPI Support : not enabled (option --enable-mpi not selected)
ns-3 Click Integration : not enabled (nsclick not enabled (see option --with- ,!nsclick))
ns-3 OpenFlow Integration : not enabled (Required boost libraries not found)
Network Simulation Cradle : not enabled (NSC not found (see option --with-nsc))
PlanetLab FdNetDevice : not enabled (PlanetLab operating system not detected ,!(see option --force-planetlab)) PyViz visualizer : enabled
Python API Scanning Support : not enabled (Missing 'pygccxml' Python module)
Python Bindings : enabled
Real Time Simulator : enabled
SQlite stats data output : not enabled (library 'sqlite3' not found)
Tap Bridge : enabled
Tap FdNetDevice : enabled
Tests : enabled
Threading Primitives : enabled
Use sudo to set suid bit : not enabled (option --enable-sudo not selected)
XmlIo : enabled
'configure' finished successfully (6.387s)
เชเซเชชเชพ เชเชฐเซเชจเซ เชเชชเชฐเซเชเซเชค เชธเซเชเชฟเชจเชพ เชเซเชฒเซเชฒเชพ เชญเชพเชเชจเซ เชจเซเชเชง เชฒเซ. เชเซเชเชฒเชพเช ns-3 เชตเชฟเชเชฒเซเชชเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชธเชเซเชทเชฎ เชจเชฅเซ เช
เชฅเชตเชพ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชฟเชธเซเชเชฎ เชธเชชเซเชฐเซเชเชจเซ เชเชฐเซเชฐ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, XmlTo เชจเซ เชธเชเซเชทเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชธเชฟเชธเซเชเชฎ เชชเชฐ เชนเชพเชเชฐ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ libxml-2.0. เชเซ เช เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชจ เชฎเชณเซ เชนเซเชฏ เช
เชจเซ เช
เชจเซเชฐเซเชช ns-3 เชซเชเชเซเชถเชจ เชธเชเซเชทเชฎ เชจ เชนเซเชฏ, เชคเซ เชเช เชธเชเชฆเซเชถ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ. เช เชชเชฃ เชจเซเชเชง เชเชฐเซ เชเซ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเชเซเชฏ เชเซ sudo เชเซเชเซเชเชธ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชฎเชพเชเซ suid เชฌเซเช "เชฐเชจเชเชพเชเชฎ เชชเชฐ เชธเชฎเซเชน ID เชธเซเช เชเชฐเซ" เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ. เชคเซ เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชธเชเซเชทเชฎ เชจเชฅเซ เช
เชจเซ เชคเซเชฅเซ เช เชธเซเชตเชฟเชงเชพ "เชธเชเซเชทเชฎ เชจเชฅเซ" เชคเชฐเซเชเซ เชฆเซเชเชพเชฏ เชเซ. เชเซเชฒเซเชฒเซ, เชธเชเซเชทเชฎ เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเซเชเชฟ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชเชชเชฏเซเช เชเชฐเซ เชตเชพเชซ เชชเชฐเชฟเชฎเชพเชฃ เชธเชพเชฅเซ --check-config
.
เชนเชตเซ เชเชพเชฒเซ เชชเชพเชเชพ เชเชเช เช เชจเซ เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชงเชฐเชพเชตเชคเชพ เชกเซเชฌเช เชฌเชฟเชฒเซเชก เชชเชฐ เชชเชพเชเชพ เชเชเช.
$ ./waf clean
$ ./waf configure --build-profile=debug --enable-examples --enable-tests
เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชเชฎ เชนเชตเซ เชธเซเช เชฅเช เชเช เชเซ เช เชจเซ เชคเชฎเซ เชซเชเซเชค เชเชพเชเชช เชเชฐเซเชจเซ ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเชพ เชกเซเชฌเช เชตเชฐเซเชเชจ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ:
$ ./waf
เชเชชเชฐเซเชเซเชค เชชเชเชฒเชพเชเช เชคเชฎเชจเซ ns-3 เชธเชฟเชธเซเชเชฎเชจเซ เชญเชพเช เชฌเซ เชตเชพเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ เชซเชฐเช เชชเชพเชกเซ เชนเชถเซ, เชชเชฐเชเชคเซ เชนเชตเซ เชคเชฎเซ เชเชพเชฃเซ เชเซ เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชตเซเช เช เชจเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเซเชก เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซ.
เชเชชเซเชฒ เชชเซเชฐเซเชเซเชเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฎเชพเชเซ เชเช เชชเซเชฐเซเชซเชพเชเชฒ เชธเชเซเชฐเชฟเชฏ เชเซ เชคเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ, เชคเซเชฏเชพเช เชเช เชเชฆเซเชถ เชเซ:
$ ./waf --check-profile
Waf: Entering directory `/path/to/ns-3-allinone/ns-3.29/build'
Build profile: debug
เชเชชเชฐเซเชเซเชค เชฆเซเชถเซเชฏ build.py เชฆเชฒเซเชฒเซเชจเซ เชชเชฃ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ --enable-examples
ะธ --enable-tests
, เชชเชฐเชเชคเซ เช
เชจเซเชฏ เชตเชฟเชเชฒเซเชชเซ เชตเชพเชซ เชคเซ เชธเซเชงเซเช เชธเชฎเชฐเซเชฅเชจ เชเชฐเชคเซเช เชจเชฅเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชเชพเชฎ เชเชฐเชถเซ เชจเชนเซเช:
$ ./build.py --disable-python
เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชจเชพ เชเซเชตเซ เชนเชถเซ:
build.py: error: no such option: --disable-python
เชเซ เชเซ, เชตเชฟเชถเซเชท เชเชชเชฐเซเชเชฐ - - เชฆเซเชตเชพเชฐเชพ เชตเชงเชพเชฐเชพเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ เชชเชธเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชพเชชเชฐเซ เชถเชเชพเชฏ เชเซ wafเชคเซเชฅเซ เชเชชเชฐเชจเชพ เชฌเชฆเชฒเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชพเชฎ เชเชฐเชถเซ:
$ ./build.py -- --disable-python
เชเชพเชฐเชฃ เชเซ เชคเซ เชฎเซเชเซเชฏ เชเชฆเซเชถ เชเชจเชฐเซเช เชเชฐเซ เชเซ ./waf เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค --disable-python. เช เชนเซเช เชเซเชเชฒเซเช เชตเชงเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเซเชชเซเชธ เชตเชฟเชถเซ เชเซ เชตเชพเชซ.
เชฌเชฟเชฒเซเชก เชญเซเชฒเซ เชธเชเชญเชพเชณเชตเซ
เชธเชพเชฎเชพเชจเซเชฏ Linux เช เชจเซ MacOS เชตเชฟเชคเชฐเชฃเซ เชชเชฐ เชชเซเชฐเชเชพเชถเชจ เชธเชฎเชฏเซ เชเชชเชฒเชฌเซเชง เชจเชตเซเชจเชคเชฎ C++ เชเชฎเซเชชเชพเชเชฒเชฐเซเชธ เชชเชฐ ns-3 เชชเซเชฐเชเชพเชถเชจเซเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซ เชเซ, เชธเชฎเชฏ เชเชคเชพเช, เชจเชตเชพ เชเชฎเซเชชเชพเชเชฒเชฐเซ เชธเชพเชฅเซ เชจเชตเชพ เชตเชฟเชคเชฐเชฃเซ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เช เชจเชตเชพ เชเชฎเซเชชเชพเชเชฒเชฐเซ เชเซเชคเชตเชฃเซเช เชตเชฟเชถเซ เชตเชงเซ เชชเซเชกเชจเซเชเชฟเช เชนเซเชฏ เชเซ. ns-3 เชคเซเชจเชพ เชฌเชฟเชฒเซเชกเชจเซ เชคเชฎเชพเชฎ เชเซเชคเชตเชฃเซเชเชจเซ เชญเซเชฒเซ เชคเชฐเซเชเซ เชเชฃเชตเชพ เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซ เชเซ, เชคเซเชฅเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชเซ เชคเชฎเซ เชจเชตเซ เชธเชฟเชธเซเชเชฎ เชชเชฐ เชเซเชจเซ เชเชตเซเชคเซเชคเชฟ เชเชฒเชพเชตเซ เชฐเชนเซเชฏเชพ เชนเซเชต, เชคเซ เชเชฎเซเชชเชพเชเชฒเชฐ เชเซเชคเชตเชฃเซ เชฌเชฟเชฒเซเชกเชจเซ เชฐเซเชเซ เชถเชเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชเชพเช Fedora 3.28 เชฎเชพเชเซ nsโ28 เชจเซเช เชชเซเชฐเชเชพเชถเชจ เชนเชคเซเช, เชเซเชฎเชพเช เชเช เชจเชตเซเช เชฎเซเชเซเชฏ เชธเชเชธเซเชเชฐเชฃ เชธเชพเชฎเซเชฒ เชนเชคเซเช. เชเซเชธเซเชธเซ (gcc-8). เชชเซเชฐเชเชพเชถเชจ ns-3.28 เช เชฅเชตเชพ Fedora 28 เชนเซเช เชณ เชชเชนเซเชฒเชพเชจเซ เชเชตเซเชคเซเชคเชฟเชเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ, Gtk2+ เชธเชพเชฅเซ เชธเซเชฅเชพเชชเชฟเชค, เชจเซเชเซเชจเซ เชญเซเชฒ เชฅเชถเซ:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: error: unnecessary parentheses ,!in declaration of โ__gtk_reserved1โ [-Werror=parentheses] void (*__gtk_reserved1);
nsโ3.28.1 เชฅเซ เชถเชฐเซ เชฅเชคเชพ เชชเซเชฐเชเชพเชถเชจเซเชฎเชพเช, เชฎเชพเช เชตเชพเชซ เช เชธเชฎเชธเซเชฏเชพเช เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชเช เชตเชฟเชเชฒเซเชช เชเชชเชฒเชฌเซเชง เชเซ. เชคเซ g++ เช เชจเซ clang++ เชฎเชพเช "-Werror" เชซเซเชฒเซเช เชธเซเช เชเชฐเชตเชพเชจเซเช เช เชเซเชทเชฎ เชเชฐเซ เชเซ. เช "--disable-werror" เชตเชฟเชเชฒเซเชช เชเซ เช เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฒเชพเชเซ เชฅเชตเซ เชเซเชเช:
$ ./waf configure --disable-werror --enable-examples --enable-tests
เชเซเช เชตเซ เช เชฅเชตเชพ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซ
เชเซเชเชฒเชพเช เชเชฆเซเชถเซ เชตเชพเชซ เชฎเชพเชคเซเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชคเชฌเชเซเชเชพเชฎเชพเช เช เช เชฐเซเชฅ เชงเชฐเชพเชตเซ เชเซ, เช เชจเซ เชเซเชเชฒเชพเช เชฎเชพเชคเซเชฐ เชฌเชฟเชฒเซเชก เชคเชฌเชเซเชเชพเชฎเชพเช เช เชฎเชพเชจเซเชฏ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ เชคเชฎเซ ns-3 เชเชฎเซเชฏเซเชฒเซเชถเชจ เชธเซเชตเชฟเชงเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เชคเชฎเซ เชฌเซเช เชธเซเชเชฟเชเชเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชถเชเซ เชเซ เชฆเชเซเชทเชฟเชฃ เชเชชเชฏเซเช เชเชฐเซเชจเซ sudo, เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ. เช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเชเชฒเชพเช เชเชฆเซเชถเซเชจเซ เชเชตเชฐเชฐเชพเชเชก เชเชฐเชถเซ, เช เชจเซ เชเชฎ เชคเชฎเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฌเชฆเชฒเซ เชถเชเซ เชเซ, เชเซเชฎเชพเช เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชชเชฃ เชถเชพเชฎเซเชฒ เชเซ.
$ ./waf configure --enable-sudo --enable-examples --enable-tests
เชเซ เชคเชฎเซ เช เชเชฐเซ เชเซ เชตเชพเชซ เชฒเซเชจเซเช เชเชฐเชถเซ sudoเชชเชฐเชตเชพเชจเชเซเช เชธเชพเชฅเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฎเซเชฏเซเชฒเซเชถเชจ เชเซเชก เชธเซเชเซเช เชฌเชจเชพเชตเช เชเชพเชฐเซเชฏเชเซเชฐเชฎเซ เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ เชฐเซเช. เช เชตเชพเชซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เช เชจเซ เชฌเชฟเชฒเซเชก เชธเซเชเซเชชเซเชธ เชฎเชพเชเซ เช เชจเซเชฏ เชเชฃเชพ เชตเชฟเชเชฒเซเชชเซ เชเชชเชฒเชฌเซเชง เชเซ. เชคเชฎเชพเชฐเชพ เชตเชฟเชเชฒเซเชชเซเชจเซเช เช เชจเซเชตเซเชทเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ, เชฆเชพเชเชฒ เชเชฐเซ:
$ ./waf --help
เชเชเชณเชจเชพ เชตเชฟเชญเชพเชเชฎเชพเช เช เชฎเซ เชเซเชเชฒเชพเช เชชเชฐเซเชเซเชทเชฃ เชธเชเชฌเชเชงเชฟเชค เชตเชฟเชเชฒเซเชชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
เชเชธเซเชฎเซเชฌเชฒเซ เชชเซเชฐเซเชซเชพเชเชฒเซเชธ
เช เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเซเชฏเซเช เชเซ เชเซ เชคเชฎเซ เชเซเชตเซ เชฐเซเชคเซ เชเซเช เชตเซ เชถเชเซ เชเซ เชตเชพเชซ เชเชธเซเชฎเซเชฌเชฒเซเช เชฎเชพเชเซ เชกเชฟเชฌเช ะธ เชเชชเซเชเซเชฎเชพเชเชเซเชก:
$ ./waf --build-profile=debug
เชฎเชงเซเชฏเชตเชฐเซเชคเซ เชเชธเซเชฎเซเชฌเชฒเซ เชชเซเชฐเซเชซเชพเชเชฒ เชชเชฃ เชเซ, เชชเซเชฐเชเชพเชถเชจ. เชตเชฟเชเชฒเซเชช -d
เชจเซ เชชเชฐเซเชฏเชพเชฏ เชเซ --build-profile
. เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒ เชฒเซเชเซเชเช, เชจเชฟเชตเซเชฆเชจเซ เช
เชจเซ เชเชฎเซเชชเชพเชเชฒเชฐ เชเชชเซเชเชฟเชฎเชพเชเชเซเชถเชจ เชธเซเชตเซเชเซเชจเชพ เชเชชเชฏเซเชเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ:
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เชฒเซเชเซเชเช เช เชจเซ เชจเชฟเชตเซเชฆเชจเซ เชซเชเซเชค เชกเซเชฌเช เชฌเชฟเชฒเซเชกเซเชธเชฎเชพเช เช เชเชชเชฒเชฌเซเชง เชเซ. เชญเชฒเชพเชฎเชฃ เชเชฐเซเชฒ เชชเซเชฐเซเชเซเชเชฟเชธ เช เชเซ เชเซ เชคเชฎเชพเชฐเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชกเซเชฌเช เชฎเซเชกเชฎเชพเช เชตเชฟเชเชธเชพเชตเซ, เชชเชเซ เชเชชเซเชเชฟเชฎเชพเชเช เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒเชฎเชพเช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฐเชจ (เชเชเชเชกเชพ เช เชฅเชตเชพ เชชเชฐเชฟเชฎเชพเชฃ เชซเซเชฐเชซเชพเชฐเซ เชฎเชพเชเซ) เชเชฐเซ.
เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชเซเชก เชเซ เชเซ เชซเชเซเชค เช เชฎเซเช เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒเซเชธเชฎเชพเช เช เชเชพเชฒเชตเซ เชเซเชเช, เชคเซ เชเซเชก เชฐเซเชชเชฐ เชฎเซเชเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ:
NS_BUILD_DEBUG (std::cout << "Part of an output line..." << std::flush; timer.Start ,!()); DoLongInvolvedComputation ();
NS_BUILD_DEBUG (timer.Stop (); std::cout << "Done: " << timer << std::endl;)
เชฎเซเชณเชญเซเชค, เชตเชพเชซ เชฌเชฟเชฒเซเชก เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฌเชฟเชฒเซเชก เชเชฐเซเชเชฟเชซเซเชเซเชเซเชธ เชฎเซเชเซ เชเซ. เชคเชฎเซ เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช
เชฒเช เชเชเชเชชเซเช เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชถเชเซ เชเซ -โฏ-out
, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ:
$ ./waf configure --out=my-build-dir
เชเชจเซ เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒเซเชธ เชธเชพเชฅเซ เชเซเชกเซเชจเซ, เชคเชฎเซ เชธเชฐเชณเชคเชพเชฅเซ เชตเชฟเชตเชฟเชง เชธเชเชเชฒเชจ เชตเชฟเชเชฒเซเชชเซ เชตเชเซเชเซ เชธเซเชตเชฟเช เชเชฐเซ เชถเชเซ เชเซ:
$ ./waf configure --build-profile=debug --out=build/debug
$ ./waf build
...
$ ./waf configure --build-profile=optimized --out=build/optimized
$ ./waf build
...
เชเซ เชคเชฎเชจเซ เชฆเชฐเซเช เชตเชเชคเซ เชจเชตเซเชจเชคเชฎ เชเชธเซเชฎเซเชฌเชฒเซ เชซเชฐเซเชฅเซ เชฒเชเซเชฏเชพ เชตเชฟเชจเชพ เชฌเชนเซเชตเชฟเชง เชเชธเซเชฎเซเชฌเชฒเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชฌเซเชเซ เชชเซเชฐเซเชซเชพเชเชฒ เชชเชฐ เชธเซเชตเชฟเช เชเชฐเซ เชเซ, เชตเชพเชซ เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเชฎเซเชชเชพเชเชฒ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชฎเชพเชคเซเชฐ เชคเซเชจเซ เชเชฎเซเชชเชพเชเชฒ เชเชฐเชถเซ.
เชเซเชฏเชพเชฐเซ เชคเชฎเซ เช เชฐเซเชคเซ เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชซเชพเชเชฒเซเชธเชจเซ เชธเซเชตเชฟเช เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชฆเชฐเซเช เชตเชเชคเซ เชธเชฎเชพเชจ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชตเชฟเชเชฒเซเชชเซ เชเชชเชตเชพ เชฎเชพเชเซ เชธเชพเชตเชเซเชค เชฐเชนเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเชฃเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพเชฅเซ เชคเชฎเชจเซ เชญเซเชฒเซ เชเชพเชณเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชฎเชณเชถเซ:
$ export NS3CONFIG="--enable-examples --enable-tests"
$ export NS3DEBUG="--build-profile=debug --out=build/debug"
$ export NS3OPT=="--build-profile=optimized --out=build/optimized"
$ ./waf configure $NS3CONFIG $NS3DEBUG
$ ./waf build
...
$ ./waf configure $NS3CONFIG $NS3OPT
$ ./waf build
เชเชฎเซเชชเชพเชเชฒเชฐเซเชธ เช เชจเซ เชซเซเชฒเซเชเซเชธ
เชเชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเซเชฎเชพเช เชตเชพเชซ ns-3 เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ GCC เชจเชพ C++ เชเชฎเซเชชเชพเชเชฒเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ ( เชเซ ++). เชเซ เชเซ, เชคเชฎเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชคเซ เชฌเชฆเชฒเซ เชถเชเซ เชเซ เชตเชพเชซ C++ เชเชฎเซเชชเชพเชเชฒเชฐ, CXX เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเชจเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, C++ เชเชฎเซเชชเชพเชเชฒเชฐ เชเซเชฒเซเชเช, เชเซเชฒเซเชเช++เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ,
$ CXX="clang++" ./waf configure
$ ./waf build
เช เช เชฐเซเชคเซ เชคเชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซ เชถเชเซ เชเซ เชตเชพเชซ เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฟเชคเชฐเชฟเชค เชธเชเชเชฒเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ distcc:
$ CXX="distcc g++" ./waf configure
$ ./waf build
distcc เช เชจเซ เชตเชฟเชคเชฐเชฟเชค เชธเชเชเชฒเชจ เชตเชฟเชถเซ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชตเชฟเชญเชพเชเชฎเชพเช เชชเซเชฐเซเชเซเชเซเช เชชเซเชทเซเช เชชเชฐ เชฎเชณเซ เชถเชเซ เชเซ. ns-3 เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชคเซ เชตเชเชคเซ เชเชฎเซเชชเชพเชเชฒเชฐ เชซเซเชฒเซเช เชเชฎเซเชฐเชตเชพ เชฎเชพเชเซ, CXXFLAGS_EXTRA เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ.
เชธเซเชฅเชพเชชเชจ
เชตเชพเชซ เชธเชฟเชธเซเชเชฎ เชชเชฐ เชตเชฟเชตเชฟเชง เชธเซเชฅเชณเซเช เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชพเชชเชฐเซ เชถเชเชพเชฏ เชเซ. เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชธเชเชเชฒเชฟเชค เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เช เชจเซ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ เชฌเชฟเชฒเซเชก เชเชฐเซ, เช เชจเซ Waf เช เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เช เชจเซ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒเซเชธเชจเซเช เชธเซเชฅเชพเชจ เชเชพเชฃเซ เชเซ, เชคเซเชฅเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเซ เชฌเซเชเซ เชเซเชฏเชพเชเชฏ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฌเชฟเชฒเซเชก เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชฌเชนเชพเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชเซ, เชคเซ เชคเซเช เชเชฆเซเชถ เชเชฒเชพเชตเซ เชถเชเซ เชเซ ./waf เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ. เชธเซเชฅเชพเชชเชจ เชฎเชพเชเซ เชฎเซเชณเชญเซเชค เชเชชเชธเชฐเซเช เชเซ / เชฏเซเชเชธเชเชฐ / เชธเซเชฅเชพเชจเชฟเช, เชคเซเชฅเซ ./waf เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฎเชพเช เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชถเซ / เชฏเซเชเชธเชเชฐ / เชธเซเชฅเชพเชจเชฟเช / เชฌเชฟเชจ, เชฎเชพเช เชชเซเชธเซเชคเชเชพเชฒเชฏเซ / usr / เชธเซเชฅเชพเชจเชฟเช / lib เช
เชจเซ เชนเซเชกเชฐ เชซเชพเชเชฒเซ /usr/local/include. เชธเซเชชเชฐเชฏเซเชเชฐ เช
เชงเชฟเชเชพเชฐเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชกเชฟเชซเซเชฒเซเช เชเชชเชธเชฐเซเช เชธเชพเชฅเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชคเซเชฅเซ เชเช เชฒเชพเชเซเชทเชฃเชฟเช เชเชฆเซเชถ เชนเชถเซ sudo ./waf เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ. เชเซเชฏเชพเชฐเซ เชฒเซเชจเซเช เชฅเชถเซ, เชคเซเชฏเชพเชฐเซ Waf เชธเซเชชเซเชฐเชฅเชฎ เชฌเชฟเชฒเซเชก เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชถเซเชฐ เชเชฐเซเชฒเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเชถเซ, เชชเชเซ เชธเซเชฅเชพเชจเชฟเช เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเชพ เชชเชพเชฅ เชธเชพเชฅเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชถเซเชงเชถเซ. เชคเซเชฅเซ เชเซเชฏเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชชเชฐ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเชพ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชฏเซเชเซเชฏ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชฅเช เชฐเชนเซเชฏเซ เชเซ เชเซ เชจเชนเซเช เชคเซ เชคเชชเชพเชธเชตเซเช เช เชธเชพเชฐเซ เชชเซเชฐเชฅเชพ เชเซ. เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชตเชฟเชเชฒเซเชช เชชเชธเชพเชฐ เชเชฐเซเชจเซ เช
เชฒเช เชเชชเชธเชฐเซเช เชธเชพเชฅเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชถเชเซ เชเซ --prefix
, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ:
./waf configure --prefix=/opt/local
เชเซ เชชเชพเชเชณเชฅเซ, เชฌเชฟเชฒเซเชก เชชเชเซ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชเชฆเซเชถ เชฆเชพเชเชฒ เชเชฐเซ เชเซ ./waf
, เชเชชเชธเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ /opt/local.
เชเซเชฎ ./waf clean
เชเซ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชเชชเชฏเซเช เชเชฐเชถเซ เชคเซ เชชเซเชฐเซเชเซเชเซเชเชจเซ เชชเซเชจเชเชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชเชชเชฏเซเช เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ เชตเชพเชซ เชเช เช
เชฒเช เชเชชเชธเชฐเซเช เชนเซเช เชณ.
เชเชฎ, ns-3 เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ ./waf install
. เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เช เชเชฆเซเชถเชจเซ เชเชฐเซเชฐ เชจเชฅเซ เชเชพเชฐเชฃ เชเซ เชตเชพเชซ เชฌเชฟเชฒเซเชก เชกเชพเชฏเชฐเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ เชตเชฐเซเชคเชฎเชพเชจ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชชเชธเชเชฆ เชเชฐเชถเซ, เชชเชฐเชเชคเซ เชเซเชเชฒเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เช เชเชชเชฏเซเชเซ เชฒเชพเชเซ เชถเชเซ เชเซ เชเซ เชคเซเชฎเชจเซ เชชเซเชฐเชตเซเชคเซเชคเชฟเชเชฎเชพเช ns-3 เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชฌเชนเชพเชฐเชจเชพ เชเชพเชฐเซเชฏเชเซเชฐเชฎเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช เชธเชพเชฎเซเชฒ เชนเซเชฏ.
เชตเชพเชซ เชธเชฟเชเชเชฒ
ns-3 เชธเซเชคเซเชฐเซเชค เชตเซเชเซเชทเชจเชพ เชเซเชเชจเชพ เชธเซเชคเชฐเซ, เชฎเชพเชคเซเชฐ เชเช เช Waf เชฒเชฟเชชเชฟ เชเซ. เชเชเชตเชพเชฐ เชคเชฎเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชฒเซ, เชชเชเซ เชคเชฎเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเชฃเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเชถเซ scratch/
เช
เชฅเชตเชพ เชตเชงเซ เชเชเชกเชพเชฃเชฎเชพเชsrc/...
เช
เชจเซ เชคเซ เช เชธเชฎเชฏเซ เชฆเซเชกเชตเซเช เชชเชกเชถเซ เชตเชพเชซ. เชคเชฎเซ เชซเชเซเชค เชฏเชพเชฆ เชฐเชพเชเซ เชถเชเซ เชเซ เชเซ เชคเชฎเซ เชเซเชฏเชพเช เชเซ เช
เชจเซ เชฆเซเชกเซ เชถเชเซ เชเซ เชตเชพเชซ เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ เชเซ:
$ ../../../waf ...
เชชเชฐเชเชคเซ เช เชเชเชเชพเชณเชพเชเชจเช เช เชจเซ เชญเซเชฒ เชญเชฐเซเชฒเซเช เชนเชถเซ, เชคเซเชฅเซ เชตเชงเซ เชธเชพเชฐเชพ เชเชเซเชฒเซ เชเซ. เชเช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชค เช เชเซ เชเซ เชเซเชเซเชธเซเช เชเชกเชฟเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเซเชฎ เชเซ emacs เช เชฅเชตเชพ เชตเชฟเชฎ, เชเซเชฎเชพเช เชฌเซ เชเชฐเซเชฎเชฟเชจเชฒ เชธเชคเซเชฐเซ เชเซเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชเชจเซ เชเชชเชฏเซเช ns-3 เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ, เช เชจเซ เชฌเซเชเชพเชจเซ เชเชชเชฏเซเช เชธเซเชฐเซเชค เชเซเชกเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชนเซเชฏ เชคเซ เช เชเชพเชฐเชฌเซเชฒ, เชชเชเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒ เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ:
$ export NS3DIR="$PWD"
$ function waff { cd $NS3DIR && ./waf $* ; }
$ cd scratch
$ waff build
เชฎเซเชกเซเชฏเซเชฒ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชคเซ เชเช เชคเซเชเซเช waf เชธเซเชเซเชฐเชฟเชชเซเช เชเชฎเซเชฐเชตเชพ เชฎเชพเชเซ เชเชเชฐเซเชทเชฟเชค เชฅเช เชถเชเซ เชเซ exec ../../waf
. เชฎเชนเซเชฐเชฌเชพเชจเซ เชเชฐเซเชจเซ, เชเชตเซเช เชจ เชเชฐเซ. เช เชจเชตเซเชฆเชฟเชคเซ เชฎเชพเชเซ เชเซเชเชเชตเชฃเชฎเชพเช เชฎเซเชเซ เชเซ เช
เชจเซ, เชเซเชฏเชพเชฐเซ เชเชฐเชพเชฌ เชฐเซเชคเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซ เชฌเชฟเชฒเซเชก เชญเซเชฒเซเชจเซ เชถเซเชงเชตเชพเชฎเชพเช เชฎเซเชถเซเชเซเชฒเซ เชคเชฐเชซ เชฆเซเชฐเซ เชเชพเชฏ เชเซ. เชเชชเชฐ เชฆเชฐเซเชถเชพเชตเซเชฒ เชเชเซเชฒเซ เช เชชเชพเชฅ เชเซ เชเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเซเชเช.
3.5 เชชเชฐเซเชเซเชทเชฃ ns-3
เชคเชฎเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเซเชจเซ ns-3 เชตเชฟเชคเชฐเชฃเชจเชพ เชเชเชฎ เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเซ เชถเชเซ เชเซ ./test.py:
$ ./test.py
เช เชชเชฐเซเชเซเชทเชฃเซ เชธเชพเชฅเซ เชธเชฎเชพเชเชคเชฐ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชตเชพเชซ. เชเชเชฐเซ เชคเชฎเชพเชฐเซ เชเช เชธเชเชฆเซเชถ เชเซเชตเซ เชเซเชเช เชเซ เชเชนเซ เชเซ:
92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)
เชตเซเชฒเชเซเชฐเชฟเชจเซเชก เชเซเชฐเซเชถ, เชเซเชฐเซเชถ เช เชฅเชตเชพ เชญเซเชฒเซ เชเชณเชเชตเชพ เชฎเชพเชเซ เช เชเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชธเชเชฆเซเชถ เชเซ, เชเซ เชเซเชก เชธเชพเชฅเซเชจเซ เชธเชฎเชธเซเชฏเชพเช เช เชฅเชตเชพ เชธเชพเชงเชจเซ เช เชจเซ เชเซเชก เชตเชเซเชเซเชจเซ เช เชธเชเชเชคเชคเชพ เชฆเชฐเซเชถเชพเชตเซ เชเซ.
เชคเชฎเซ เชฎเชพเชเชฅเซ เช เชเชคเชฟเชฎ เชเชเชเชชเซเช เชชเชฃ เชเซเชถเซ เชตเชพเชซ เช เชจเซ เชฆเชฐเซเช เชเซเชธเซเช เชเชฒเชพเชตเชคเซ เชเซเชธเซเชเชฐ, เชเซ เชเชเชเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชถเซ:
Waf: Entering directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (1.799s)
Modules built:
aodv applications bridge
click config-store core
csma csma-layout dsdv
emu energy flow-monitor
internet lte mesh
mobility mpi netanim
network nix-vector-routing ns3tcp
ns3wifi olsr openflow
point-to-point point-to-point-layout propagation
spectrum stats tap-bridge
template test tools
topology-read uan virtual-net-device
visualizer wifi wimax
PASS: TestSuite ns3-wifi-interference
PASS: TestSuite histogram
...
PASS: TestSuite object
PASS: TestSuite random-number-generators
92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)
เช เชเชฆเซเชถ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฆเซเชตเชพเชฐเชพ เชเชกเชชเชฅเซ เชเชเชพเชธเชตเชพ เชฎเชพเชเซ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ ns-3 เชตเชฟเชคเชฐเชฃ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชฌเชจเซเชฒ เชเซ. (เชจเซเชเชง เชเชฐเซ เชเซ "PASS: ..." เชฐเซเชเชพเชเชจเซ เชเซเชฐเชฎ เช เชฒเช เชนเซเช เชถเชเซ เชเซ, เช เชธเชพเชฎเชพเชจเซเชฏ เชเซ. เชฎเชนเชคเซเชคเซเชตเชจเซ เชฌเชพเชฌเชค เช เชเซ เชเซ เชฐเชฟเชชเซเชฐเซเชเชจเชพ เช เชเชคเซ เชธเชพเชฐเชพเชเชถเชจเซ เชฒเชพเชเชจ เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เชคเชฎเชพเชฎ เชชเชฐเซเชเซเชทเชฃเซ เชชเชพเชธ เชฅเชฏเชพ เชเซ; เชเซเชเชชเชฃ เชชเชฐเซเชเซเชทเชฃเซ เชจเชฟเชทเซเชซเชณ เชเซ เชเซเชฐเซเชถ เชฅเชฏเชพ เชจเชฅเซ.) เช เชจเซ เชตเชพเชซเช เชจเซ test.py เชฎเชถเซเชจเชจเชพ เชเชชเชฒเชฌเซเชง เชชเซเชฐเซเชธเซเชธเชฐ เชเซเชฐเซเชฎเชพเช เชเชพเชฎเชจเซ เชธเชฎเชพเชเชคเชฐ เชฌเชจเชพเชตเชถเซ.
3.6 เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเชตเซ
เช
เชฎเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชจเชฟเชฏเชเชคเซเชฐเชฃ เชนเซเช เชณ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชเชฒเชพเชตเซเช เชเซเช เชตเชพเชซ. เช เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชเชฎเชจเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ เชเซ เชถเซเชฐ เชเชฐเซเชฒ เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชชเชพเชฅ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชธเซเช เชเชฐเซเชฒ เชเซ เช
เชจเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชฐเชจเชเชพเชเชฎ เชชเชฐ เชเชชเชฒเชฌเซเชง เชเซ. เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชซเชเซเชค เชเชชเชฏเซเช เชเชฐเซ เชตเชพเชซ เชชเชฐเชฟเชฎเชพเชฃ เชธเชพเชฅเซ -โฏ-run
. เชเชพเชฒเซ เชธเชฐเซเชตเชตเซเชฏเชพเชชเช เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเชพ ns-3 เชธเชฎเชเชเซเชท เชเชฒเชพเชตเซเช เชนเซเชฒเซ เชตเชฐเซเชฒเซเชกเชจเซเชเซเชจเชพ เชฒเชเซเชจเซ:
$ ./waf --run hello-simulator
Waf เชชเซเชฐเชฅเชฎ เชคเชชเชพเชธ เชเชฐเชถเซ เชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชฌเชจเซเชฒเซ เชเซ เช เชจเซ เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ เชฌเชฟเชฒเซเชก เชเชฐเซ. เชชเชเซ เชตเชพเชซ เชเช เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฒเชพเชตเชถเซ เชเซ เชจเซเชเซเชจเซเช เชเชเชเชชเซเช เชเชคเซเชชเชจเซเชจ เชเชฐเซ เชเซ.
Hello Simulator
เช เชญเชฟเชจเชเชฆเชจ! เชคเชฎเซ เชนเชตเซ ns-3 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ!
เชเซ เชฎเชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชจ เชฆเซเชเชพเชฏ เชคเซ เชฎเชพเชฐเซ เชถเซเช เชเชฐเชตเซเช เชเซเชเช?
เชเซ เชคเชฎเซ เชธเชเชฆเซเชถเชพเช เชเซเช เชเซ เชตเชพเชซเชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เชฌเชฟเชฒเซเชก เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชชเซเชฐเซเชฃ เชฅเชฏเซเช เชเซ, เชชเชฐเชเชคเซ เชคเชฎเชจเซ เชเชเชเชชเซเช เชฆเซเชเชพเชคเซเช เชจเชฅเซ "เชนเซเชฒเซ เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ", เชคเซ เชเชตเซ เชถเชเซเชฏเชคเชพ เชเซ เชเซ [เชฌเชฟเชฒเซเชก-เชตเชฟเชฅ-เชตเชพเชซ] เชตเชฟเชญเชพเชเชฎเชพเช เชคเชฎเซ เชคเชฎเชพเชฐเชพ เชฌเชฟเชฒเซเชก เชฎเซเชกเชจเซ เชธเซเชตเชฟเช เชเชฐเซเชฏเซเช เชเซ เชเชชเซเชเซเชฎเชพเชเชเซเชก, เชชเชฐเชเชคเซ เชฎเซเชก เชชเชฐ เชชเชพเชเชพ เชธเซเชตเชฟเช เชเชฐเชตเชพเชจเซเช เชเซเชเซ เชเชฏเซเช เชกเชฟเชฌเช. เช เชเซเชฏเซเชเซเชฐเซเชฏเชฒเชฎเชพเช เชตเชชเชฐเชพเชคเชพ เชคเชฎเชพเชฎ เชเชจเซเชธเซเชฒ เชเชเชเชชเซเช เชเชพเชธ ns-3 เชเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชเซ เชฒเซเชเซเชเช เชเชฐเซ เชเซ เช เชจเซ เชเชจเซเชธเซเชฒ เชชเชฐ เชเชธเซเชเชฎ เชธเชเชฆเซเชถเชพเช เชเชพเชชเชตเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ. เชเซเชฏเชพเชฐเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเซเชก เชเชฎเซเชชเชพเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เช เชเชเชเชฎเชพเชเชฅเซ เชเชเชเชชเซเช เชเชชเชฎเซเชณเซ เช เชเซเชทเชฎ เชฅเช เชเชพเชฏ เชเซ - เชคเซ "เชเชชเซเชเชฟเชฎเชพเชเช" เชเซ. เชเซ เชคเชฎเชจเซ "เชนเซเชฒเซ เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ" เชเชเชเชชเซเช เชฆเซเชเชพเชคเซเช เชจเชฅเซ, เชคเซ เชจเซเชเซเชจเชพ เชฆเชพเชเชฒ เชเชฐเซ:
$ ./waf configure --build-profile=debug --enable-examples --enable-tests
เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชพเชซ ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเชพ เชกเซเชฌเช เชตเชฐเซเชเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชเซเชฎเชพเช เชเชฆเชพเชนเชฐเชฃเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ. เชชเชเซ เชคเชฎเชพเชฐเซ เชเซเชกเชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชกเซเชฌเช เชธเชเชธเซเชเชฐเชฃเชจเซ เชเชพเชเชช เชเชฐเซเชจเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเซเช เชเซเชเช
$ ./waf
เชนเชตเซ เชเซ เชคเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฒเชพเชตเซ เชเซ เชนเซเชฒเซ-เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ, เชคเชฎเชพเชฐเซ เช เชชเซเชเซเชทเชฟเชค เชชเชฐเชฟเชฃเชพเชฎ เชเซเชตเซเช เชเซเชเช.
3.6.1 เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ เชฆเชฒเซเชฒเซ
ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช เชเชฆเซเชถ เชตเชพเชเซเชฏ เชฆเชฒเซเชฒเซ เชชเชธเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ, เชจเซเชเซเชจเซ เชชเซเชเชฐเซเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ:
$ ./waf --run <ns3-program> --command-template="%s <args>"
เชฌเชฆเชฒเซ เชคเชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเชพ เชจเชพเชฎ เช
เชจเซ เชฆเชฒเซเชฒเซ เชฎเชพเชเซ. เชฆเชฒเซเชฒ -โฏ-command-template
เชฎเชพเชเซ เชตเชพเชซ เชตเชพเชธเซเชคเชตเชฟเช เชเชฆเซเชถ เชตเชพเชเซเชฏ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชตเชถเซเชฏเชเชชเชฃเซ เชเช เชฐเซเชธเซเชชเซ เชเซ เชตเชพเชซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ. Waf เชคเชชเชพเชธเซ เชเซ เชเซ เชฌเชฟเชฒเซเชก เชชเซเชฐเซเชฃ เชฅเชฏเซเช เชเซ, เชตเชนเซเชเชเชพเชฏเซเชฒ เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชชเชพเชฅ เชธเซเช เชเชฐเซ เชเซ, เชชเชเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเซเชฒ เชเชฆเซเชถ เชตเชพเชเซเชฏ เชจเชฎเซเชจเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เช
เชจเซ เชเชเซเชเซเชเซเชฏเซเชเซเชฌเชฒเชจเซ เชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ %s เชชเซเชฒเซเชธเชนเซเชฒเซเชกเชฐ เชฎเชพเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชจเชพเชฎเชจเซ เชฌเชฆเชฒเซ เชเซ. เชเซ เชคเชฎเชจเซ เช เชตเชพเชเซเชฏเชฐเชเชจเชพ เชเชเชฟเชฒ เชฒเชพเชเซ เชเซ, เชคเซ เชเช เชธเชฐเชณ เชธเชเชธเซเชเชฐเชฃ เชเซ เชเซเชฎเชพเช ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎ เช
เชจเซ เชคเซเชจเซ เชฆเชฒเซเชฒเซ เชเช เช
เชตเชคเชฐเชฃเชฎเชพเช เชฌเชเชง เชเซ:
$ ./waf --run '<ns3-program> --arg1=value1 --arg2=value2 ...'
เชฌเซเชเซเช เชเชพเชธ เชเชฐเซเชจเซ เชเชชเชฏเซเชเซ เชเชฆเชพเชนเชฐเชฃ เชเซเชธเซเช เชธเซเชฏเซเชเซเชธเชจเซ เชชเชธเชเชฆเชเซเชชเซเชฐเซเชตเช เชเชฒเชพเชตเซ เชฐเชนเซเชฏเซเช เชเซ. เชเชพเชฒเซ เชฎเชพเชจเซ เชฒเชเช เชเซ เชฎเชพเชฏเชเซเชธเซเช เชจเชพเชฎเชจเซ เชเซเชธเซเช เชธเซเชฏเซเช เชเซ (เชนเชเซเชเชคเชฎเชพเช เชคเซเชฏเชพเช เชจเชฅเซ). เชเชชเชฐ เช เชฎเซ เชธเชฎเชพเชเชคเชฐ เชธเชเชเซเชฏเชพเชฌเชเชง เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ ./test.py เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ, เชเซ เชชเชฐเซเชเซเชทเชฃ เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซ เชตเชพเชฐเชเชตเชพเชฐ เชฌเซเชฒเชพเชตเซ เชเซ เชเซเชธเซเช-เชฐเชจเชฐ. เชเซเชฒ เชเชฐเซ เชเซเชธเซเช-เชฐเชจเชฐ เชธเซเชงเชพ เชเช เชชเชฐเซเชเซเชทเชฃ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ:
$ ./waf --run test-runner --command-template="%s --suite=mytest --verbose"
เชเชพเชฐเซเชฏเชเซเชฐเชฎเชฎเชพเช เชฆเชฒเซเชฒเซ เชชเชธเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เชเซเชธเซเช-เชฐเชจเชฐ. mytest เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชตเชพเชฅเซ, เชเช เชญเซเชฒ เชธเชเชฆเซเชถ เชเชจเชฐเซเช เชฅเชถเซ. เชเชชเชฒเชฌเซเชง เชเซเชธเซเช-เชฐเชจเชฐ เชตเชฟเชเชฒเซเชชเซเชจเซ เชเชพเชชเชตเชพ เชฎเชพเชเซ, เชฆเชพเชเชฒ เชเชฐเซ:
$ ./waf --run test-runner --command-template="%s --help"
3.6.2 เชกเซเชฌเชเซเชเช
เช
เชจเซเชฏ เชเชชเชฏเซเชเชฟเชคเชพ เชนเซเช เชณ ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชเซเชฎ เชเซ เชกเซเชฌเชเชฐ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเชกเซเชฌเซ) เช
เชฅเชตเชพ เชฎเซเชฎเชฐเซ เชเซเชธเซเช เชเซเชฒ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, valgrind), เชธเชฎเชพเชจ เชธเซเชตเชฐเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซ -โฏ-command-template = "โฆ"
. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชกเซเชฌเชเชฐเชฎเชพเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเซเชกเซเชฌเซ เชฆเชฒเซเชฒเซ เชธเชพเชฅเซ เชคเชฎเชพเชฐเซ เชนเซเชฒเซ-เชธเชฟเชฎเซเชฏเซเชฒเซเชเชฐ เชเชจเชเชธ-3 เชชเซเชฐเซเชเซเชฐเชพเชฎ:
$ ./waf --run=hello-simulator --command-template="gdb %s --args <args>"
เชจเซเชเชง เชเชฐเซ เชเซ ns-3 เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซเช เชจเชพเชฎ เชฆเชฒเซเชฒ เชธเชพเชฅเซ เชเชตเซ เชเซ -โฏ-run
, เช
เชจเซ เชฎเซเชจเซเชเชฎเซเชจเซเช เชฏเซเชเชฟเชฒเชฟเชเซ (เช
เชนเซเช เชเซเชกเซเชฌเซ) เช เชฆเชฒเซเชฒเชฎเชพเช เชชเซเชฐเชฅเชฎ เชเซเชเชจ เชเซ -โฏ-command-template
. เชตเชฟเชเชฒเซเชช -โฏ-args
เชเชพเชฃ เชเซเชกเซเชฌเซเชเซ เชฌเชพเชเซเชจเซ เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ "เชฒเซเช
เชฐ" เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซ เชเซ. (เชเซเชเชฒเชพเช เชธเชเชธเซเชเชฐเชฃเซ เชเซเชกเซเชฌเซ เชตเชฟเชเชฒเซเชช เชธเชฎเชเชพเชคเซ เชจเชฅเซ -โฏ-args
. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชชเซเชฐเซเชเซเชฐเชพเชฎ เชฆเชฒเซเชฒเซ เชฆเซเชฐ เชเชฐเซ -โฏ-command-template
เช
เชจเซ เชเชฆเซเชถ เชธเชฎเซเชนเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซเชกเซเชฌเซ เชฆเชฒเซเชฒเซ.) เชกเซเชฌเชเชฐ เชนเซเช เชณ เชเซเชธเซเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เช
เชฎเซ เช เชฐเซเชธเซเชชเซ เช
เชจเซ เชชเชนเซเชฒเชพเชจเซ เชฐเซเชธเซเชชเซเชจเซ เชเซเชกเซ เชถเชเซเช เชเซเช:
$ ./waf --run test-runner --command-template="gdb %s --args --suite=mytest --verbose"
3.6.3 เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ
เชตเชพเชซเชจเซ ns-3 เชตเซเชเซเชทเชจเซ เชเซเช เชชเชฐเชจเชพ เชคเซเชจเชพ เชธเซเชฅเชพเชจ เชชเชฐเชฅเซ เชฒเซเชจเซเช เชเชฐเชตเซเช เชเซเชเช. เช เชซเซเชฒเซเชกเชฐ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชฌเชจเซ เชเชพเชฏ เชเซ เชเซเชฏเชพเช เชเชเชเชชเซเช เชซเชพเชเชฒเซ เชฒเชเชตเชพเชฎเชพเช เชเชตเชถเซ. เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เช เชซเชพเชเชฒเซเชจเซ ns-3 เชธเซเชคเซเชฐเซเชค เชตเซเชเซเชทเชจเซ เชฌเชนเชพเชฐ เชฐเชพเชเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซเชต เชคเซ เชถเซเช? เชฆเชฒเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ -โฏ-cwd
:
$ ./waf --cwd=...
เชคเชฎเชพเชฐเซ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพเชฎเชพเช เชเชเชเชชเซเช เชซเชพเชเชฒเซ เชฎเซเชณเชตเชตเชพเชจเซเช เชคเชฎเชจเซ เชตเชงเซ เช เชจเซเชเซเชณ เชฒเชพเชเชถเซ. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชจเซเชเซเชจเซ เชชเชฐเซเชเซเชท เชเซเชฐเชฟเชฏเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ:
$ function waff {
CWD="$PWD"
cd $NS3DIR >/dev/null
./waf --cwd="$CWD" $*
cd - >/dev/null
}
เชเชฆเซเชถเชจเชพ เชชเชพเชเชฒเชพ เชธเชเชธเซเชเชฐเชฃเชจเซเช เช เชธเซเชถเซเชญเชจ เชตเชฐเซเชคเชฎเชพเชจ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพเชจเซ เชธเชพเชเชตเซ เชเซ, เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเชพเชฏ เชเซ เชตเชพเชซเช
เชจเซ เชชเชเซ เชธเซเชเชจเชพ เชเชชเซ เชเซ เชตเชพเชซ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพเชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชถเชฐเซ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชธเชพเชเชตเซเชฒ เชตเชฐเซเชคเชฎเชพเชจ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพเชฎเชพเช เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ. เช
เชฎเซ เชเซเชฎเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซเช เชเซเช -โฏ-cwd
เชธเชเชชเซเชฐเซเชฃเชคเชพ เชฎเชพเชเซ, เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชซเชเซเชค เชเซเชเชจเชพ เชธเซเชคเชฐเชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ Waf เชเชฒเชพเชตเซ เชเซ เช
เชจเซ เชคเซเชฏเชพเช เชเชเชเชชเซเช เชซเชพเชเชฒเซ เชเชจเชฐเซเช เชเชฐเซ เชเซ.
เชธเซเชฐเซเชธ: www.habr.com