fortran混合編程
㈠ C#和FORTRAN混合編程中,如何合理設置進度條 做的是一個科學類計算軟體,C#做界面,FORTRAN做演算法內核。
多線程步考慮安全其實很簡單的,如果你繼續學vc遲早是要接觸的。我把用進度條的程序給你個框架代碼你自己填;
1、設計一個帶有進度條的對話框,把對話框用一個類CProgressDlg 來管理(這個你會吧),進度條增加一個成員變數m_progress;
2、定義一個多線程函數DWORD WINAPI ThreadReadFile (CProgressDlg *pDlg)(如何聲明函數你應該會),函數實體裡面就是具體讀取文件的代碼,先取得文件的大小,用這個除一個整數設置進度條的最大值,文件大了,分一小塊一小塊的讀,比如1024K,這樣就好插入對進度條的操作,每讀一塊就pDlg->m_progress.SetPos(progressStep+1);怎麼分?你自己看MSDN。文件讀完後在pDlg->PostMessage(WM_CLOSE);AfxMessageBox("文件已讀完!");發送消息關閉主線程的對話框結束工作。
3、在主線程其實就是你的主程序里先調用多線程函數,然後產生對話框;
[code=C/C++][/code]
CProgressDlg *pdlg=new CProgressDlg;//注意:一定要把對話框的Visable選上才能顯示控制項;
HANDLE m_Thread; //線程句柄
DWORD threadID;
//AfxBeginThread(ThreadReadFile ,NULL,THREAD_PRIORITY_NORMAL,0,0,NULL);
m_Thread=CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)ThreadReadFile ,(LPVOID)pdlg,0,&threadID);
pdlg->DoModal();//產生進度條對話框,這個對話框由你的線程來結束,否則一直有。
㈡ 用vs2008和ivf11進行c和fortran的混合編程,出現lnk2019錯誤
看fortran代碼,有沒有定義的變數或是有些變數在某個部位寫錯了,這需要你重新檢查一遍,細心一點找出來改了就ok了