日期:2014-05-17  浏览次数:20810 次

C#使用托管C++中出现的问题。
第一次做这个东西。网上找了点资料http://blog.csdn.net/jadeflute/article/details/5689502。跟着做但是有问题。我在建立好一个.lib后新建了一个clr项目。添加到解决方案。导入.lib文件。包括头文件的时候提示不能打开头文件。刚接触这个东西。这是为什么呢。
我想先试一下下面简单代码托管。。。
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
namespace SaveLoad
{
class SaveLoad
{
public:
void Save(int r[],string s)
{
ofstream os;
int i=0;
os.open(s,ios::trunc);
if(os.is_open())
{
while(!r[i])
{
os<<r[i++];
}
os.close();
}
else
{cout<<"the file can not open";exit(1);}
}
void Load(int r[],string s)
{
ifstream is;
int i=0;
is.open(s);
if(is.is_open())
{
while(!is.eof())
{
is>>r[i++];
}
is.close();
}
else
{cout<<"the file can not open";exit(1);}

}
};
}

我用的是vs2012.
C# 托管 C++ clr

------解决方案--------------------
按照一般的套路,你应该把c++编译成dll文件,创建一个dll项目,然后把lib库编译成dll,你要指定把哪些函数引出,但我都没看到你做了这些事情,