C#中如何调用C生成DLL文件2014-10-01 csdn博客 Cheviko环境: VS2010, Win71. 添加新项目->Win32项目 输入名称:CSInvokeCDll

2.应用程序设置中选择DLL然后点击完成3 在CSharpInvokeCPP.CPP中书写C代码
#include "stdafx.h" #include "malloc.h" #include "userinfo.h"typedef struct { char name[32]; int age; } User; UserInfo* userInfo;extern "C" __declspec(dllexport) int Add(int x, int y){return x + y;}extern "C" __declspec(dllexport) int Sub(int x, int y){return x - y;}extern "C" __declspec(dllexport) int Multiply(int x, int y){return x * y;}extern "C" __declspec(dllexport) int Divide(int x, int y){return x / y;}extern "C" __declspec(dllexport) int Sum(int * parr, int length) { int sum = 0; if(parr == NULL) return sum;for(int i = 0; i < length; i++) { sum += *parr++; }return sum; }extern "C" __declspec(dllexport) User* Create(char* name, int age) {User* user = (User*)malloc(sizeof(User)) strcpy(user->name, name); user->age = age;return user;}