请教一下,如何将个C语言程序变成一个dll文件引用 如何将个C语言程序变成一个dll文件引用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // MyCustomDll.cpp : Defines the entry point for the DLL application.//#include "stdafx.h"#define MYCSTYLEDLL_EXPORTS#ifdef MYCSTYLEDLL_EXPORTS#define MYCSTYLEDLL_API __declspec(dllexport)#else#define MYCSTYLEDLL_API __declspec(dllimport)#endifclass MYCSTYLEDLL_API CMiniVan{ public: CMiniVan(){m_numbKids = 52;} int DisplayNumberOfKids() { return m_numbKids;} private: int m_numbKids;};typedef struct _CAR{char* make;char* color;} CAR;typedef struct _CAR2{CAR theCar;char* petName;} CAR2;BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ return TRUE;}extern "C" MYCSTYLEDLL_API int AddNumbers(int x,int y){return x+y;}extern "C" MYCSTYLEDLL_API unsigned int AddArray(unsigned int x[],int size){ unsigned int ans=0; for(int i=0;i<size;i++) { ans=ans+x[i]; } return ans;}extern "C" MYCSTYLEDLL_API void DisplayBetterCar(CAR2* theCar){ MessageBox(NULL, theCar->theCar.color, "Car Color", MB_OK); MessageBox(NULL, theCar->theCar.make, "Car Make", MB_OK); MessageBox(NULL, theCar->petName, "Car Pet Name", MB_OK);}extern "C" MYCSTYLEDLL_API void GiveMeThreeBasicCars(CAR** theCars){ int numbOfCars = 3; *theCars = (CAR*)CoTaskMemAlloc(numbOfCars * sizeof(CAR)); char* carMakes[3] = {"BMW", "Ford", "Viper"}; char* carColors[3] = {"Green", "Pink", "Red"}; CAR* pCurCar = *theCars; for( int i = 0; i < numbOfCars; i++, pCurCar++) { pCurCar->color = carColors[i]; pCurCar->make = carMakes[i]; }}extern "C" MYCSTYLEDLL_API CMiniVan* CreateMiniVan(){ return new CMiniVan();}extern "C" MYCSTYLEDLL_API void DeleteMiniVan(CMiniVan* obj){ delete obj;} c#如何通过串口写AT指令用短信模块发短信 求教,怎样释放控件的焦点啊? 关于C#下加载ContourOCX控件的问题 一天200W的IP需要什么样的带宽与服务器?? 我买个域名 要把网站架上去 需要做哪些工作 ? 如保把本地连接中的Microsoft 网络客户端和文件打印共享删了。(100分) 请问C#如何设置只读共享夹? 简单问题 :怎样从 Form_Closing 中返回应用程序 为什么我对话框打开以后无法先聚焦到textBox的空间上,有没有什么好的办法 WinForm的Devexpress打开第一个MDI窗体有点慢! 急~~~如何更改水晶报表中具体某一个表格的的数据 关于迭代器
//#include "stdafx.h"#define MYCSTYLEDLL_EXPORTS#ifdef MYCSTYLEDLL_EXPORTS
#define MYCSTYLEDLL_API __declspec(dllexport)
#else
#define MYCSTYLEDLL_API __declspec(dllimport)
#endif
class MYCSTYLEDLL_API CMiniVan
{
public:
CMiniVan(){m_numbKids = 52;}
int DisplayNumberOfKids()
{ return m_numbKids;}
private:
int m_numbKids;
};
typedef struct _CAR
{
char* make;
char* color;
} CAR;
typedef struct _CAR2
{
CAR theCar;
char* petName;
} CAR2;BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}extern "C" MYCSTYLEDLL_API int AddNumbers(int x,int y)
{return x+y;}extern "C" MYCSTYLEDLL_API unsigned int AddArray(unsigned int x[],int size)
{
unsigned int ans=0;
for(int i=0;i<size;i++)
{
ans=ans+x[i];
}
return ans;
}
extern "C" MYCSTYLEDLL_API void DisplayBetterCar(CAR2* theCar)
{
MessageBox(NULL, theCar->theCar.color, "Car Color", MB_OK);
MessageBox(NULL, theCar->theCar.make, "Car Make", MB_OK);
MessageBox(NULL, theCar->petName, "Car Pet Name", MB_OK);
}extern "C" MYCSTYLEDLL_API void GiveMeThreeBasicCars(CAR** theCars)
{
int numbOfCars = 3;
*theCars = (CAR*)CoTaskMemAlloc(numbOfCars * sizeof(CAR));
char* carMakes[3] = {"BMW", "Ford", "Viper"};
char* carColors[3] = {"Green", "Pink", "Red"};
CAR* pCurCar = *theCars;
for( int i = 0; i < numbOfCars; i++, pCurCar++)
{
pCurCar->color = carColors[i];
pCurCar->make = carMakes[i];
}
}extern "C" MYCSTYLEDLL_API CMiniVan* CreateMiniVan()
{
return new CMiniVan();
}extern "C" MYCSTYLEDLL_API void DeleteMiniVan(CMiniVan* obj)
{
delete obj;
}