12月第三周
本周 继续推进,在课题上卡住,耽误了不少时间。有时候全神贯注未必是好事情,换换脑子,想想别的,反而有了新思路。好在最后问题总算被解决。
.配置vncserver: 按照别人的教程配置之后,客户端一直连接不上。 原因: 防火墙屏蔽了相应端口
区别两个配置文件:/etc/profile 和~/.bashrc
~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.
/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
修改了一个文件之后,source一下,以使该文件中的命令重新执行。
vim的使用: 全局替换 %s/A/B
ctrl +p,来自动补全。 shift+k 看函数的man手册。
浮点数不精确:用二进制小数来表示十进制的数,位数又存在限制,不可能是无穷。有点像高数里的级数分解
https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513140&idx=1&sn=565517e977ac56904305a4a9f9d65012#rd
变量问题:
局部变量的生存期,在函数结束调用时,变量会被销毁
但是类LoRaPhy中的成员变量在类对象存在时,变量就存在呀。
与成员函数中自己定义的变量区分,那是局部变量。
#加了个全局变量,这样例子里的nNodes 就可以在lorawanphy中看到了。
第一次,只在lorowan-example.cc中定义了全局变量uint32_t nnn = 0; 然后在lorawanphy.h中声明,extern u32int_t nnn; 在lorawanphy.cc中使用该变量。
在链接lorawanphy_example.cc例子程序时报错。
因为该文件#include<lorawanphy.h> ,该头文件中有nnn的声明,但是找不到nnn的定义。
解决方法:新引入global.h 和global.cc 在头文件中声明, 在.cc中定义,放在lorawan/model下,修改wscript文件,将其包裹在lorwan-module.h文件中。
#ns3中设置app的开始时刻:
Ptr<Application> a1 = enddeviceApps.Get(0);
a1->SetStartTime(Seconds(0.00001));
a1->SetStopTime(Seconds(10));