VS2008 C# 异常 InvalidProgramException

花开花折 2013-10-12 04:02:57
最近在写一代程序是要用到指针,代码如下,编译时能通过,但运行就报异常:InvalidProgramException:
当程序包含无效 Microsoft 中间语言 (MSIL) 或元数据时将引发的异常。这通常表示生成程序的编译器中有 bug。

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace SmartDeviceProject2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
unsafe
{
int i = 0;
int j = 0
MessageBox.Show("sdfsfsfsdfsdfsdfs");
int* p = stackalloc int[1222];
MessageBox.Show("sdfsfsfsdfsdfsdfs");
}
}
}
}

A:每次点击BUTTON事件时就报错,(以上是测试代码,编译时能通过)。如果屏蔽掉 int* p = stackalloc int[1222];这句就正常(Wince平台)。
B:以上代码在XP平台下运行正常,WINCE平台就报错。感觉好像WINCE平台不支持stackalloc 关键字似的?还是我那里参数没设好似的。现求教,谢谢。
C:WINCE平台 VS2008 C#
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
花开花折 2013-10-31
  • 打赏
  • 举报
回复
没有满意答案,但分数还是给上面那们仁兄。
花开花折 2013-10-14
  • 打赏
  • 举报
回复
引用 3 楼 stubble 的回复:
// compile with: /unsafe

    class UnsafeTest
    {
       // Unsafe method: takes pointer to int:
       unsafe static void SquarePtrParam(int* p)
       {
          *p *= *p;
       }

       unsafe static void Main()
       {
          int i = 5;
          // Unsafe method: uses address-of operator (&):
          SquarePtrParam(&i);
          Console.WriteLine(i);
       }
    }
    // Output: 25
我有写unsafe的哦 以上代码是能够通过编译的,只是点击BUTTON事件时才会报上述错误的。谢谢
异常异长 2013-10-14
  • 打赏
  • 举报
回复
// compile with: /unsafe

    class UnsafeTest
    {
       // Unsafe method: takes pointer to int:
       unsafe static void SquarePtrParam(int* p)
       {
          *p *= *p;
       }

       unsafe static void Main()
       {
          int i = 5;
          // Unsafe method: uses address-of operator (&):
          SquarePtrParam(&i);
          Console.WriteLine(i);
       }
    }
    // Output: 25
异常异长 2013-10-14
  • 打赏
  • 举报
回复
用非托管代码 是不是需要 unsafe
花开花折 2013-10-14
  • 打赏
  • 举报
回复
太冷清了,还是大家也不会,等待中
内容概要:本文详细介绍了一种基于自适应虚拟阻抗的光储并网系统谐波抑制策略,并提供了完整的Simulink仿真实现方案。该策略针对光伏-储能系统在并网过程中因非线性负载或电网波动引发的电流谐波问题,通过引入自适应调节机制动态调整虚拟阻抗参数,从而有效提升系统在不同运行工况下的谐波抑制能力与电能质量水平。文档强调“完美复现”,表明所构建模型具有高度准确性与可验证性,具备较强的工程应用参考价值,适用于科研仿真、教学实践及高水平论文成果复现。; 适合人群:具备一定电力电子、自动控制与电力系统基础知识,从事新能源并网、微电网控制、电能质量治理等相关研究方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解光储并网系统中谐波产生机理及其抑制方法;②掌握自适应虚拟阻抗控制策略的设计原理与Simulink建模技术;③复现高水平学术论文中的关键成果,支撑科研课题推进、学位论文撰写或工程项目开发。; 阅读建议:建议结合文中提示的“公众号——荔枝科研社”获取完整仿真资源,按照文档指引逐步搭建模型,重点关注控制器结构设计、参数整定过程及仿真结果的对比分析,以实现对核心技术的深刻理解与灵活应用。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧