解决方案 »

  1.   

    http://blog.csdn.net/lujunql/article/details/6961308
      

  2.   

    项目属性-生成-把运行不安全代码勾上函数声明前加上unsafe
            [DllImport("BaseDll.dll")]
            unsafe private extern static void get_one_yc(int fac, int yc_dot, float* yc_value);
      

  3.   

    还是不太明白,但是照葫芦画瓢写了如下,还是有问题,再帮忙看看吧        private void button1_Click(object sender, EventArgs e)
            {
                fff = Convert.ToInt32(textBox1.Text, 10);
                ddd = Convert.ToInt32(textBox2.Text, 10);
                unsafe
                {
                    DllTest.get_one_yc(fff, ddd, &vvv);
                } 
                textBox3.Text = vvv.ToString();
            }提示【只能获取 fixed 语句初始值设定项内的未固定表达式的地址】
    要怎么写,多谢了
      

  4.   

    &vvv提示错误【只能获取 fixed 语句初始值设定项内的未固定表达式的地址】
      

  5.   

      [DllImport("BaseDll.dll")]
                 private extern static void get_one_yc(int fac, int yc_dot, ref float   yc_value);使用 ref
      

  6.   

    差不多了,但是调用的时候显示
    【无法加载 DLL“BaseDll.dll”: 找不到指定的模块。】
    这句话的意思是找不到dll?还是找不到dll里面要调用的函数?
      

  7.   

    初学c#干嘛要调用c的dll呢,我嚼着要这么看不起c#就没必要学了。