C++初學者要請問如何建dll檔?



贊助商連結


htkstw
2004-04-19, 10:06 PM
我想用MFC建一個DLL檔給VB呼叫, 以下是按精靈程序作出來的最初架構:

// AKKDLL.cpp : Defines the initialization routines for the DLL.
//

#include "stdafx.h"
#include "AKKDLL.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs, any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function, prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function, even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//

/////////////////////////////////////////////////////////////////////////////
// CAKKDLLApp

BEGIN_MESSAGE_MAP(CAKKDLLApp, CWinApp)
//{{AFX_MSG_MAP(CAKKDLLApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAKKDLLApp construction

CAKKDLLApp::CAKKDLLApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CAKKDLLApp object

CAKKDLLApp theApp;


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

請問個最簡單但我卻不會的問題:

假設我要建一個名為 myfunc() 的函數, 它要傳入一個帶正負號的數值, 並且傳回邏輯值, 那麼這個函數的完整宣告要如何寫? 程式碼又該寫在哪裡?

謝謝!