- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tcl集成测试环境搭建指南
修订记录
日期 修订版本 修改章节 修改描述 作者 2004-5-27 1.0 初稿完成 王威
第一步:
获取tcl8.3的安装包,安装到c:\目录下。
第二步:
利用Visual C++建立一个基于对话框的工程,工程的名字为CounterTest。
第三步:
参照下面两个图,分别创建然后创建test.h和test.cpp文件,然后创建Tcl_ExCounter.h和Tcl_ExCounter.cpp文件。这四个文件均为空文件。
第四步:
添加被测试模块的代码
1)把下面的代码拷贝到文件test.cpp中:
2)把下面的代码拷贝到文件test.h中
第五步:
添加tcl扩展指令代码
1)把下面的代码拷贝到文件Tcl_ExCounter.h中:
#include tcl.h
int TclEx_Counter(ClientData clientData,Tcl_Interp * interp,int argc, char* argv[]);
2)把下面的代码拷贝到文件Tcl_ExCounter.cpp中
#include stdafx.h
#include Tcl_ExCounter.h
#include test.h
int TclEx_Counter(ClientData clientData,Tcl_Interp * interp,int argc, char* argv[])
{
return TCL_OK;
}
第六步:
定义tcl解释器,通过使用TCL内部的数据类型Tcl_Interp定义TCL解释器全局变量。
1)在文件CounterTestDlg.cpp中定义tcl解释器,即全局变量:Tcl_Interp* MyInterp;
例如:(红色部分为添加的代码)
Tcl_Interp* MyInterp;
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
2)在文件CounterTestDlg.cpp中创建并加载tcl解释器:(红色代码为新增代码)
BOOL CCounterTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add About... menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu-AppendMenu(MF_SEPARATOR);
pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the applications main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
//创建tcl解释器
MyInterp = Tcl_CreateInterp();
//Tcl_UserInit为自定义的函数,用来初始化Tcl解释器,并且创建扩展指令
if (Tcl_UserInit(MyInterp))
{
AfxMessageBox(TCL initialize Error!);
return FALSE;
}
return TRUE; // return TRUE unless you set the focus to a
您可能关注的文档
最近下载
- 血透室护士在医疗行为中的职业暴露与职业防护专家讲座.pptx VIP
- 水利工程事故应急方案【精选资料】.doc VIP
- 西奥扶梯XO-9800电气原理图纸.pdf
- 2025年中级注册安全工程师《安全生产法律法规》考试真题及答案解析.docx VIP
- 配送中食材卫生保障措施.docx VIP
- 国家科学技术学术著作出版基金资助力度与科技学术著作出版成本初探.pdf VIP
- DBJ50T-323-2019 滨江步道技术标准 .docx VIP
- 2025年电竞教育机构运营模式与盈利分析.docx
- 5.2染色体变异课件(共47张PPT)人教版(2019)高中生物学必修2(内嵌音频+视频).pptx VIP
- 【复习资料】00642传播学概论(章节复习要点).doc VIP
原创力文档


文档评论(0)