小编use*_*926的帖子

为什么BCL中没有AutoResetEventSlim?

为什么AutoResetEventSlimBCL 没有班级?

可以使用模拟ManualResetEventSlim吗?

.net c# multithreading base-class-library c#-4.0

31
推荐指数
2
解决办法
4529
查看次数

Octave c ++和VS2010

我正在尝试使用Octave和Visual C++.

我已经下载了octave-3.6.1-vs2010-setup-1.exe.创建了一个新项目,添加了octave include文件夹以包含路径,octinterp.lib并添加octave.lib到lib路径,我添加了Octave bin文件夹作为运行目录.

该程序编译并运行正常,除了feval导致异常的函数:

Microsoft C++异常:内存位置0x0012faef处的octave_execution_exception

在八度方面:

调整大小操作无效或对超出范围的数组元素的模糊赋值.

我究竟做错了什么?


独立程序的代码:

#include <octave/octave.h>
#include <octave/oct.h>
#include <octave/parse.h>

int main(int argc, char **argv)
{
    if (octave_main (argc, argv, true))
    {
        ColumnVector NumRands(2);
        NumRands(0) = 10;
        NumRands(1) = 1;
        octave_value_list f_arg, f_ret;
        f_arg(0) = octave_value(NumRands);
        f_ret = feval("rand",f_arg,1);
        Matrix unis(f_ret(0).matrix_value());
    }
    else
    {
        error ("Octave interpreter initialization failed");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ matlab octave visual-c++

9
推荐指数
1
解决办法
2433
查看次数

在c#中检测驱动器挂载事件

如何在将新驱动器添加到"我的电脑"时捕获事件,并且最好在NTFS驱动器上创建某个驱动器的新安装点时?


我发现了这个,但它对挂载的文件夹不起作用:

 _eventWatcher = new ManagementEventWatcher("SELECT * FROM Win32_VolumeChangeEvent");

 _eventWatcher.EventArrived += (o, args) => 
     {switch(args.NewEvent["EventType"].ToString()[0])
         {
             case '2':
                 //mount
                 Debug.WriteLine(args.NewEvent["DriveName"]);
                 break;
             case '3':
                 //unmount
                 break;
         }
     };

 _eventWatcher.Start();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# filesystems winapi mount drive

8
推荐指数
1
解决办法
2717
查看次数

使用表达式树调用不安全的方法

我需要调用unsafe带有原始指针的方法.

为此,我需要构造Expression表示指向由VariableExpression或表示的值的指针ParameterExpression.

怎么做?

c# reflection unsafe expression-trees

7
推荐指数
1
解决办法
690
查看次数

6
推荐指数
1
解决办法
3804
查看次数

从WaitHandle.Wait构造任务

我选择返回Task<T>Task从我的对象方法中提供简单的gui消费.有些方法只是等待其他类型的等待句的互斥.有没有一种方法来构造Task,WaitHandle.Wait()以便我不必为此阻止一个treadpool线程.

multithreading .net-4.0 task task-parallel-library c#-4.0

6
推荐指数
2
解决办法
2931
查看次数

通过DynamicMethod调用varargs方法

我正在尝试使用DynamicMethod调用非托管类似printf的函数.在运行时我得到一个

BadImageFormatException:找不到索引.(HRESULT异常:0x80131124)

这是运行时的限制还是我的发出代码错了?

public class Program
{
    [DllImport("msvcrt40.dll",CallingConvention = CallingConvention.Cdecl)]
    public static extern int printf(string format, __arglist);

    static void Main(string[] args) {

        var method = new DynamicMethod("printf", typeof(void), new Type[0], true);
        var il = method.GetILGenerator();

        il.Emit(OpCodes.Ldstr, " %s=%d\n");
        il.Emit(OpCodes.Ldstr, "a");
        il.Emit(OpCodes.Ldc_I4_0);
        il.EmitCall(OpCodes.Call, typeof(Program).GetMethod("printf", BindingFlags.Public | BindingFlags.Static), new Type[] { typeof(string), typeof(int) });
        il.Emit(OpCodes.Pop);
        il.Emit(OpCodes.Ret);

        var action = (Action)method.CreateDelegate(typeof(Action));
        action.Invoke();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# cil reflection.emit .net-4.0 dynamicmethod

6
推荐指数
1
解决办法
611
查看次数

跟踪com对象c#的发布.

我有一个由umamaged代码使用的c#com类.我可以调试它,但我不知道什么时候发布了一个对象.如果已经在c ++中实现了descructur将被调用,在c#上它将被释放到GC.有没有办法追踪那一刻?提前致谢.

c# com pinvoke interop

5
推荐指数
1
解决办法
345
查看次数

我可以使用XmlSerializer控制某些字段的序列化

我可以在c#中使用XmlSerializer来控制某些字段的序列化吗?Fox示例一个名为"Type"(字符串)的属性被序列化为别的而不是字符串.提前致谢.

.net c# xml c#-4.0

4
推荐指数
1
解决办法
1681
查看次数

具有最大字符的System.Double值

我正在测试double[]数组的网络xml序列化,所以我很想知道什么是具有大多数字符的双重值,它是序列化的,所以我可以测试序列化数组的最大输出大小.

c# xml serialization .net-4.0 datacontractserializer

4
推荐指数
1
解决办法
860
查看次数