VxWorks系統啟動後執行使用者程式
阿新 • • 發佈:2019-02-13
效果介面如下:
操作步驟如下:
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系統映像即可完成,步驟結束