NS2 分裂机制及代码分析一
1.关于NS2分裂机制的简短过程可以参看原博客网址:http://tph85666031.blog.163.com/blog/static/20746227201022781352681/
NS2启动后将生成所有xxxClass类,因为所有xxxClass类都是static的
xxxClass类的构造函数调用bind函数,bind函数调用otcl的register函数创建(不是实例化)otcl类
xxxClass类的构造函数同时为otcl创建create-shadow并挂接到c++的create-shadow函数
NS2接着解释tcl脚本语句
tcl脚本语句中的new将生成otcl对象(实例化一个otcl类),new将调用otcl的creat生成对象并执行对象的init过程函数,此过程函数将调用c++的create-shadow函数,c++的create-shadow成员函数将创建对应的c++类并创建otcl的cmd过程并挂接到c++的dispatchcmd上,这样otcl的过程就可以调用cmd并最终调用dispatch再调用command函数设置c++成员了。
以上加红部分为个人理解上需要注意的问题,
2.关于1简短过程中的NS2代码(大部分代码位于tcl-object.tcl文件中),可以参考如下博文网址
http://blog.chinaunix.net/uid-11572501-id-2868629.html
http://blog.csdn.net/icode0410/article/details/8713481 //该博文分析了proc new函数中的create调用
关于tcl语法的一点说明:
otcl中的register函数中出现的[split $className /]语句是将$className分割成数组,然后通过foreach遍历
NS2 分裂机制及代码分析一相关推荐
- NS2 分裂机制及代码分析一---解释类成员变量与编译类成员变量互操作
原文分析见博客地址:http://blog.sina.com.cn/s/blog_8eba0c2a0101blip.html 本文从中摘取几个需要注意到的地方 1.编译类变量与解释类变量的绑定 通常, ...
- linux源码acl,Linux自主访问控制机制模块详细分析之posix_acl.c核心代码注释与acl.c文件介绍...
原标题:Linux自主访问控制机制模块详细分析之posix_acl.c核心代码注释与acl.c文件介绍 2.4.4.6 核心代码注释 1 posix_acl_permission() int(stru ...
- 【SemiDrive源码分析】【X9芯片启动流程】21 - MailBox 核间通信机制介绍(代码分析篇)之 Mailbox for Linux 篇
[SemiDrive源码分析][X9芯片启动流程]21 - MailBox 核间通信机制介绍(代码分析篇)之 Mailbox for Linux 篇 一.Mailbox for Linux 驱动框架分 ...
- 【SemiDrive源码分析】【X9芯片启动流程】20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇
[SemiDrive源码分析][X9芯片启动流程]20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇 一.Mailbox for RTOS 源码分析 1. ...
- 【SemiDrive源码分析】【X9芯片启动流程】23 - MailBox 核间通信机制介绍(代码分析篇)之 RPMSG-IPCC Kernel 篇
[SemiDrive源码分析][X9芯片启动流程]23 - MailBox 核间通信机制介绍(代码分析篇)之 RPMSG-IPCC Kernel 篇 一.RPMSG 接口 1.1 Linux Kern ...
- 【SemiDrive源码分析】【X9芯片启动流程】25 - MailBox 核间通信机制介绍(代码分析篇)之 RPMSG-IPCC RTOS QNX篇
[SemiDrive源码分析][X9芯片启动流程]25 - MailBox 核间通信机制介绍(代码分析篇)之 RPMSG-IPCC RTOS & QNX篇 一.RPMSG 接口 1.1 Lin ...
- Golang反射机制的实现分析——reflect.Type方法查找和调用
在<Golang反射机制的实现分析--reflect.Type类型名称>一文中,我们分析了Golang获取类型基本信息的流程.本文将基于上述知识和经验,分析方法的查找和调用.(转载请指明出 ...
- Device Tree(三):代码分析
2019独角兽企业重金招聘Python工程师标准>>> 一.前言 Device Tree总共有三篇,分别是: 1.为何要引入Device Tree,这个机制是用来解决什么问题的?(请 ...
- 2018-2019-2 网络对抗技术 20165324 Exp4:恶意代码分析
2018-2019-2 网络对抗技术 20165324 网络对抗技术 Exp4:恶意代码分析 课下实验: 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析E ...
最新文章
- oracle:ORA-01940无法删除当前已连接用户的解决方案
- python ioctl_Python如何使用ioctl或spidev从设备读取输入?
- 详解tf.nn.dropout
- 任意文件读取linux,Symphony 1.4.20服务器任意文件读取漏洞
- 计算机组成与系统结构+答案书,计算机组成与系统结构书本答案
- java图遍历求最长路径_如何在Java中使用递归实现矩阵中最长路径的返回
- java der pem_JAVA解析各种编码密钥对(DER、PEM、openssh公钥)
- 2 环境设置_VS Code 虚拟环境设置
- 台式计算机的主流配置,2017年台式电脑主流配置单
- 如何在点击事件中取得复选框选中的单元格值
- 语音合成(TTS)应用方案一二三
- Python入门50个小程序
- CCF推荐-计算机网络领域顶级期刊会议
- java reader类子类_Java之InputStreamReader类的实现
- 独立元器件搭建的逻辑门电路和仿真(一)
- 【vue】Layim 配置请求头参数
- 基于SSM的家政服务管理系统
- java面试亮点技术
- 什么是自然语言处理,自然语言处理目前的应用有哪些?
- 正点原子FreeRTOS(上)
热门文章
- linux7 开启端口,常用CentOS7系统防火墙开启设置和开放端口方法
- activiti前端画图转化_用于Activiti前端显示流程图的插件
- 哪些人适合做前端开发?HTML5前端发展前景怎么样?
- opencv 的norm_OpenCV视频分析-Meanshift、Camshiftamp;运动轨迹绘制
- python3一爬虫库url_python3爬虫之Urllib库(一)
- 石头剪刀布代码android,微信小程序源码解说:石头剪刀布(附源码下载)
- eclipse使用python_【转】使用Python的IDE:Eclipse+PyDev
- 清华计算机系教学计划,清华大学电子信息科学与技术教学计划
- 全国计算机考试可以异地考吗,公务员省考可以异地考吗
- linux pinctl 分析,Linux驱动架构之pinctrl子系统分析(一)