sách gpt4 ai đã đi

mã c++ (phương pháp malloc) sang mã c#

In lại 作者:太空宇宙 更新时间:2023-11-04 15:42:38 36 4
mua khóa gpt4 Nike

我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示?

int monate = ee;
double *forward;
double *backward;
size_t bytes = 6*sizeof(double);
forward = (double *)malloc(monate * bytes);
backward = (double *)malloc(monate * bytes);

for (int i = 0; i <= monate; i++) {
forward[i] = 0.;
backward[i] = rate;
}

forward[0] = auszahlungsbetrag;
backward[0] = 0.;
backward[monate] = rate + rest;

double ez = esolver(12 , monate, forward, backward);
printf("Effektivzins: %.2f\n", ez);

char tmp0[256];
sprintf (tmp0, "Rate: %.2f (%f)" , rate, rate);
writeToLogFile(tmp0);

char tmp[256];
sprintf (tmp, "Effektivzins: %.2f (%f)" , ez, ez);
writeToLogFile(tmp);

free(forward);
free(backward);

这是我转换后的 C# 代码。对于 malloc、free 和 sprintf 方法,我在将其转换为 C# 时遇到了一些麻烦。


使用系统;



命名空间 Zinsrechner
{
公共(public)静态类基本
{

public static void basic(double aa, double auszahlungsbetrag, double cc, int ee, double rest)
{

Writelog.writeToLogFile("开始学习,输入 BASIC");
Writelog.writeToLogFileDouble("Kreditvolumen: ", aa);
Writelog.writeToLogFileDouble("Auszahlungsbetrag: ", auszahlungsbetrag);
Writelog.writeToLogFileDouble("Nominalzins:", cc);
Writelog.writeToLogFileInt("延迟时间:", ee);
Writelog.writeToLogFileDouble("休息时间:", 休息);

/////////

//评级

双名 = (cc/12.0/100.0) + 1.0;
双元 = 0.0;

对于 (int x = 0 ; x <= ee-1 ; x++)
{
unten = unten + Math.Pow(nomzins,x);
}

双倍比率 = ((aa * Math.Pow(nomzins, ee)) - rest)/unten;
Console.Write("速率: {0:f2}\n", 速率);

int monate = ee;
双 [] 向前;
双[]向后;
uint bytes = 6 * sizeof(double);
//C++ 到 C# 转换器 TODO 任务:内存管理函数“malloc”在 C# 中没有等效项:
//forward = (double)malloc(monate * bytes);
forward = (double)(monate * bytes);
//C++ 到 C# 转换器 TODO 任务:内存管理函数“malloc”在 C# 中没有等效项:
backward = (double)malloc(monate * bytes);

for (int i = 0; i <= monate; i++)
{
前向[i] = 0.0;
向后 [i] = 速率;
}

前向[0] = auszahlungsbetrag;
向后[0] = 0.0;
向后 [monate] = 速率 + 休息;

double ez = Effektivzinssolver.esolver(12, monate, forward, backward);
Console.Write("Effektivzins: {0:f2}\n", ez);

字符串 tmp0 = 新字符串(新字符 [256]);
tmp0 = string.Format("速率:{0:f2} ({1:f})", 速率, 速率);
Writelog.writeToLogFile(tmp0);

字符串 tmp = 新字符串(新字符 [256]);
tmp = string.Format("Effektivzins: {0:f2} ({1:f})", ez, ez);
Writelog.writeToLogFile(tmp);

//C++ 到 C# 转换器 TODO 任务:内存管理函数“free”在 C# 中没有等效项:
免费(转发);
//C++ 到 C# 转换器 TODO 任务:内存管理函数“free”在 C# 中没有等效项:
免费(向后);


}
}
}

1 Câu trả lời

malloc 和 free 的等价物是:

IntPtr memory = Marshal.AllocHGlobal(100); //malloc
Marshal.FreeHGlobal(memory); //free

关于c# - c++代码(malloc方法)到c#代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20946463/

36 4 0
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com