VxWorks系统启动后执行用户程序

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011672712/article/details/79259121

效果界面如下:



操作步骤如下:

1、在 tornado2.2 开发环境,打开已创建的类型的工程,向工程中添加 demo.c 和 welcome.cpp 文件;如下图:



代码如下:

/*demo.c*/
void demo()
{
http://www.2beanet.com
printf("********************************\n");
printf("welcome to suchengping's vxworks\n");
printf("********************************\n");
printf("*************start**************\n");
}


/*welcome.cpp*/
#include<iostream>
using namespace std;
extern "C" void welcome()
{
cout<<"****** welcome ******"<<endl;
}


2、在 usrAppInit()函数中加入用户函数,如下:显然,usrAppInit 是个.c 文件,而 welcome 是.cpp 格式的,这里在 usrAppInit()函数中调用了 welcome()函数,这就提出了一个在 c 中调用 c++的问题。采用 extern“C”声明就是来解决这个问题的。如果不使用 extern“C”声明,那么编译器报错,无法编译通过。



3、
通过重新编译vx系统映像即可完成,步骤结束


展开阅读全文

没有更多推荐了,返回首页